Почему мой браузер считает, что https://1.1.1.1 безопасен?

21418
Deltik

Когда я захожу на https://1.1.1.1, любой веб-браузер, который я использую, считает URL-адрес безопасным.

Вот что показывает Google Chrome:

Google Chrome 65.0.3325.181 address bar showing https://1.1.1.1

Обычно, когда я пытаюсь зайти на сайт HTTPS через его IP-адрес, я получаю предупреждение системы безопасности, подобное этому:

Google Chrome 65.0.3325.181 address bar showing https://192.168.0.2

Насколько я понимаю, сертификат сайта должен соответствовать домену, но средство просмотра сертификатов Google Chrome не показывает 1.1.1.1:

Certificate Viewer: *.cloudflare-dns.com

Статья базы знаний GoDaddy «Могу ли я запросить сертификат для имени в интрасети или IP-адреса?» говорит:

Нет - мы больше не принимаем запросы на сертификаты ни для имен в интрасети, ни для IP-адресов. Это отраслевой стандарт, а не специфичный для GoDaddy.

( акцент мой)

А также:

В результате с 1 октября 2016 года центры сертификации (ЦС) должны отзывать сертификаты SSL, которые используют имена или IP-адреса в интрасети .

( акцент мой)

А также:

Вместо того, чтобы защищать IP-адреса и имена в интрасети, вы должны перенастроить серверы для использования полных доменных имен (FQDN), таких как www.coolexample.com .

( акцент мой)

Это произошло после обязательной даты отзыва 01 октября 2016 года, но сертификат 1.1.1.1был выпущен 29 марта 2018 года (показано на скриншоте выше).


Как это возможно, что все основные браузеры считают, что https://1.1.1.1 является доверенным веб-сайтом HTTPS?

128
Стоит отметить, что между 192.168.0.2 и 1.1.1.1 существует огромная разница. Один `192.168.0.2` не существует вне вашей интрасети. Если бы вы создали свой собственный самозаверяющий сертификат, «192.168.0.2» заслуживали бы доверия, и вы могли бы использовать тот же подход для SAN в домене, подобном `fake.domain`. Стоит отметить, что `1.1.1.1` не является зарезервированным IP-адресом, поэтому, похоже, любой ЦС выпустил бы сертификат. Ramhound 6 лет назад 10
https://blog.cloudflare.com/announcing-1111/ «Сегодня мы рады сделать еще один шаг к этой миссии, запустив 1.1.1.1 - самую быструю и первоклассную службу DNS для пользователей в Интернете». 6 лет назад 12
Я думаю, что вы ошиблись предложением. Вероятно, они имели в виду «должны отзывать сертификаты SSL, которые используют интрасеть (имена или IP-адреса)», а не «должны отзывать сертификаты SSL, которые используют (имена интрасети) или IP-адреса». Maciej Piechotka 6 лет назад 11
@MaciejPiechotka правильно, это означает, что «должен отзывать сертификаты SSL, которые используют имена интрасети или IP-адреса интрасети» Ben 6 лет назад 1
@MaciejPiechotka: в статье также есть предложение, начинающееся с «Вместо защиты IP-адресов и имен интрасети», которое можно заключить в квадратные скобки как «Вместо защиты (IP-адреса) и (имена интрасети)». Deltik 6 лет назад 1
Это было освещено в недавнем выпуске подкаста «Безопасность сейчас» Стива Гибсона, [эпизод 557] (https://twit.tv/shows/security-now/episodes/657). [Транскрипция] (https://www.grc.com/sn/sn-657.txt). [Файл MP3] (https://www.podtrac.com/pts/redirect.mp3/cdn.twit.tv/audio/sn/sn0657/sn0657.mp3) Peter Mortensen 6 лет назад 1
@Deltik "Вместо того, чтобы охранять кошек и собак и других домашних животных". Означает ли это, что * кошки * и * собаки * не являются * домашними *? Даже если вы не можете «заключить» в скобки таким образом, семантически вы все равно можете. Естественный язык иногда невероятно неоднозначен. Bakuriu 5 лет назад 1
Кстати ... нет такой вещи, как обязательный отзыв. Буквально ни одна организация на Земле не обладает такой властью. Самое близкое, что вы получите - это группа СА, согласившихся что-то сделать. cHao 5 лет назад 2
Вы путаете себя и других, утверждая, что «сертификат для 1.1.1.1 выдан». Понятно, что это не так, поскольку сертификат выдан для * .cloudflare-dns.com, а не для IP-адреса. Остается ответить только на то, выполняет ли браузер обратный поиск DNS ([1dot1dot1dot1.cloudflare-dns.com] (https://dns.google.com/query?name=1.1.1.1&type=PTR)) или он читает IP из * Subject Alternative Name * в [сертификате] (https://crt.sh/?id=371010238&opt=nometadata). Vlastimil Ovčáčík 5 лет назад 0
@curiousguy, это было бы неверным выводом из того, что я сказал, тем более что я буквально заявляю, что IP-адрес указан в SAN сертификата. Vlastimil Ovčáčík 5 лет назад 0
@ VlastimilOvčáčík OK Меня смутила фраза «не соответствует действительности, поскольку сертификат ** выдан ** * .cloudflare-dns.com и ** не является IP-адресом **». Я прочитал это как "сертификат не выдан для 1.1.1.1". Я все еще НЕ уверен, что это значит. curiousguy 5 лет назад 0

3 ответа на вопрос

99
Deltik

Документация GoDaddy ошибочна. Это неправда, что центры сертификации (CA) должны отзывать сертификаты для всех IP-адресов ... только зарезервированные IP-адреса .

Источник: https://cabforum.org/internal-names/

Центром сертификации для https://1.1.1.1 был DigiCert, который на момент написания этого ответа позволял покупать сертификаты сайта для публичных IP-адресов.

В DigiCert есть статья об этом, которая называется « Выпуск SSL-сертификата внутреннего имени сервера после 2015 года» :

Если вы являетесь администратором сервера и используете внутренние имена, вам необходимо либо перенастроить эти серверы для использования общедоступного имени, либо перейти на сертификат, выданный внутренним ЦС, до даты окончания 2015 года. Все внутренние соединения, которые требуют публично доверенного сертификата, должны быть сделаны через имена, которые являются публичными и проверяемыми (не имеет значения, являются ли эти сервисы общедоступными).

( акцент мой)

Cloudflare просто получил сертификат для своего IP-адреса 1.1.1.1от этого доверенного CA.

Анализ сертификата для https://1.1.1.1 показывает, что сертификат использует альтернативные имена субъектов (SAN) для охвата некоторых IP-адресов и обычных доменных имен:

deltik@node51 [~]$ openssl s_client -showcerts -connect 1.1.1.1:443 < /dev/null 2>&1 | openssl x509 -noout -text | grep -A1 'Subject Alternative Name:' X509v3 Subject Alternative Name:  DNS:*.cloudflare-dns.com, IP Address:1.1.1.1, IP Address:1.0.0.1, DNS:cloudflare-dns.com, IP Address:2606:4700:4700:0:0:0:0:1111, IP Address:2606:4700:4700:0:0:0:0:1001 

Эта информация также находится в средстве просмотра сертификатов Google Chrome на вкладке «Сведения»:

Certificate Viewer: Details: *.cloudflare-dns.com

Этот сертификат действителен для всех перечисленных доменов (включая подстановочный знак *) и IP-адресов.

Ваша ссылка на статью не работает. Лучше всего процитировать соответствующую информацию. Ramhound 6 лет назад 0
Я думаю, что это не так сильно, как заблуждение. Он должен быть заключен в скобки: «должен отзывать сертификаты SSL, которые используют интрасеть (имена или IP-адреса)», а не «должен отзывать сертификаты SSL, которые используют (имена интрасети) или IP-адреса». Maciej Piechotka 6 лет назад 11
Ну, это _does_ сказать "имена в интрасети или IP-адреса". Имена интрасети или IP-адреса интрасети. Это не так, просто ОП только выборочно читает. Lightness Races in Orbit 6 лет назад 3
92
Peter Cordes

Английский неоднозначен . Вы анализировали это так:

(intranet names) or (IP addresses) 

т.е. полностью запретить использование числовых IP-адресов. Значение, которое соответствует тому, что вы видите:

intranet (names or IP addresses) 

т.е. запретить сертификаты для частных диапазонов IP-адресов, таких как 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, а также для частных имен, которые не отображаются в общедоступном DNS.

Сертификаты для публично маршрутизируемых IP-адресов по-прежнему разрешены, но обычно не рекомендуется для большинства людей, особенно для тех, у кого нет статического IP- адреса .


Это утверждение является советом, а не утверждением, что вы не можете защитить (публичный) IP-адрес.

Вместо того, чтобы защищать IP-адреса и имена в интрасети, вы должны перенастроить серверы для использования полных доменных имен (FQDN), таких как www.coolexample.com

Может быть, кто-то в GoDaddy неверно истолковал формулировку, но, скорее всего, он хотел, чтобы их советы были простыми, и хотел рекомендовать использовать публичные DNS-имена в сертификатах.

Большинство людей не используют стабильный статический IP для своих услуг. Предоставление услуг DNS - это единственный случай, когда действительно необходимо иметь стабильный общеизвестный IP-адрес, а не просто имя. Во всех остальных случаях добавление вашего текущего IP-адреса в ваш сертификат SSL ограничит ваши будущие возможности, потому что вы не сможете позволить кому-то другому начать использовать этот IP-адрес. Они могут выдавать себя за ваш сайт.

Cloudflare.com имеет контроль в 1.1.1.1 IP - адрес себя, и не собирается делать ничего другого с ним в обозримом будущем, так что имеет смысл для них, чтобы поместить их IP в их серт. Особенно в качестве поставщика DNS, более вероятно, что клиенты HTTPS будут посещать их URL по номеру, чем для любого другого сайта.

Это точно отвечает, почему я был смущен. Я отправил предложение в GoDaddy, чтобы улучшить формулировку [статьи] (https://www.godaddy.com/help/can-i-request-a-certificate-for-an-intranet-name-or-ip- адрес-6935). Надеемся, что они исправят это, чтобы уточнить «(имя внутреннего сервера) или (зарезервированный IP-адрес)», как описано [на форуме CAB] (https://web.archive.org/web/20180213030525/https://cabforum.org / внутренние наименования /). Deltik 5 лет назад 4
Что касается последнего пункта, GoDaddy не собирается концентрироваться на том, чтобы иметь самую * точную * документацию. Вместо этого они должны стремиться к соответствующей и четкой документации: выработать простое правило, которое работает для большинства пользователей. jpaugh 5 лет назад 0
@jpaugh: о, это правда, они не утверждают, что ты * не можешь *, просто ты не должен. Перечитывая и размышляя над тем, что они говорят, им есть смысл рекомендовать против этого. Peter Cordes 5 лет назад 0
Педантично, Cloudflare * не * «владеет» адресом 1.1.1.1. Это [принадлежит APNIC Labs] (http://wq.apnic.net/apnic-bin/whois.pl?searchtext=1.1.1.1), который дал Cloudflare разрешение на работу там распознавателя DNS [в обмен на помощь Cloudflare в изучении большого количества мусорных пакетов, которые по ошибке адресованы этому IP-адресу] (https://blog.cloudflare.com/announcing-1111/). Kevin 5 лет назад 10
@Kevin: интересно, спасибо за информацию. Обновил мой ответ. Peter Cordes 5 лет назад 0
Педантически @Kevin, APNIC тоже не владеет. [Эта статья] (https://www.internetgovernance.org/2010/11/29/ownership-rights-in-ip-addresses-a-legal-analysis/) упоминает вопрос о праве собственности и использует фразу «выделенный к». IANA, часть ICANN, выделил диапазон адресов APNIC, который выделил такие адреса для Cloudflare. Адреса IPv4 - это просто причудливый способ записи числа от 0-4294967296 (если вы пропингуете 16843009 во многих операционных системах, вы обнаружите, что получаете ответ от 1.1.1.1), и США не признают, что владеют номером (следовательно, почему название "Pentium" было сделано) TOOGAM 5 лет назад 10
@TOOGAM: «выделил диапазон адресов APNIC, который выделил такие адреса для Cloudflare». - Нет, они этого не сделали. В записи WHOIS четко указывается, что она распределена между лабораториями APNIC. Kevin 5 лет назад 0
Дело в Intel было товарным знаком, а не владельцем ... StarWeaver 5 лет назад 5
@Kevin: Судя по вашему предыдущему комментарию, адрес 1.1.1.1 был выделен для Cloudflare. Обратите внимание, что я не обязательно говорю, что все эти распределения являются видимыми в общедоступных данных WHOIS. (Это может быть просто строка текста в конфигурации маршрутизатора.) Тем не менее, распределение этого адреса может быть реализовано, моя основная точка зрения - отсутствие владения IP-адресами. TOOGAM 5 лет назад 0
@StarWeaver: Согласен, что владение (контроль?) IP-адресом в Интернете может легко иметь другие правила, чем владение товарным знаком на номере. Но товарные знаки являются собственностью, которой вы можете владеть (отсюда юридический термин Интеллектуальная собственность). Конечно, в этом случае вы владеете торговой маркой (для данного рекламного / брендингового контекста), а не самим номером. Peter Cordes 5 лет назад 0
@TOOGAM и Кевин: Спасибо за ссылку на эту статью о том, что «владение» IP-адресом может означать в техническом юридическом смысле. Я обошел проблему, изменив свой ответ на «контроль», потому что это включает в себя постоянное / долгосрочное делегирование. Правовая собственность здесь даже не важная вещь, просто интересная побочная тема. Peter Cordes 5 лет назад 1
@TOOGAM: я этого не говорил. Пожалуйста, перестань класть слова в мой рот. Kevin 5 лет назад 0
@ Кевин: Во-первых, я вас совсем не цитировал. Я уточняю: «Исходя из информации, содержащейся в вашем предыдущем комментарии, я заключаю, что кажется, что IPv4-адрес 1.1.1.1 был выделен для Cloudflare». Ничего конкретного не было даже приписано. Ничто никогда не цитировало тебя вообще. ОДНАКО, даже если бы я процитировал вас (чего я не сделал), я просто просмотрел это и все равно буду придерживаться своего заявления. Теперь я начну использовать прямые кавычки: CloudFire не может использовать адрес, пока он не будет выделен, поэтому «дал ... разрешение» описывает распределение этого адреса (в конфигурации брандмауэра, которая обрабатывает диапазон адресов) TOOGAM 5 лет назад 1
@TOOGAM: Я имею в виду, что в системе whois, которую я специально связал, 1.1.1.1 выделена для APNIC Labs. Если вы собираетесь выбирать между распределением и владением, не переворачивайте значение «выделено». Kevin 5 лет назад 3
43
Michael Frank

Похоже, что имя субъекта сертификата включает в себя IP-адрес:

Not Critical DNS Name: *.cloudflare-dns.com IP Address: 1.1.1.1 IP Address: 1.0.0.1 DNS Name: cloudflare-dns.com IP Address: 2606:4700:4700::1111 IP Address: 2606:4700:4700::1001 

Традиционно, я полагаю, вы бы указали здесь только DNS-имена, но Cloudflare также включил их IP-адреса.

https://1.0.0.1/ также считается безопасным для браузеров.

Я не понимаю, как это отвечает на вопрос. Размещение содержания сертификата не объясняет, почему такой сертификат может быть доставлен. Dmitry Grigoryev 6 лет назад 1
@DmitryGrigoryev: Но это доказывает, что такой сертификат был доставлен, что было серьезной путаницей в вопросе (ОП не смог найти 1.1.1.1, указанный в сертификате) Lightness Races in Orbit 6 лет назад 18
Этот ответ действительно отвечает на вопрос автора. Хотя автор более подробно рассказал об их путанице, это свидетельствует о том, что данный сертификат действительно действителен. Поскольку автор вопроса так и не предоставил нам то, что на самом деле сказал GoDaddy, трудно ответить на вопрос с кем-либо еще. Ramhound 6 лет назад 3
@DmitryGrigoryev - Если вопрос «Почему мой браузер считает, что https://1.1.1.1 безопасен?» (заголовок этой страницы) или «Как это возможно, что все основные браузеры считают, что https://1.1.1.1 является доверенным веб-сайтом HTTPS?» (единственный действительный вопрос в теле), а затем «потому что 1.1.1.1 указан в сертификате как SAN», ясно отвечает на этот вопрос. Dave Sherohman 5 лет назад 4
@DmitryGrigoryev "_Не объясняет, почему такой сертификат может быть доставлен_", тогда вопрос неясен, так как он даже не содержит полную информацию о сертификате и не является ни техническим вопросом о реализации TLS в браузерах, ни вопросом политики о CA, но смесь обоих curiousguy 5 лет назад 0

Похожие вопросы