Dlaczego moja przeglądarka uważa, że ​​https://1.1.1.1 jest bezpieczny?

132

Kiedy odwiedzam https://1.1.1.1 , każda przeglądarka internetowa, której używam, uważa adres URL za bezpieczny.

Oto, co pokazuje Google Chrome:

Google Chrome 65.0.3325.181 pasek adresu pokazujący https://1.1.1.1

Zwykle, gdy próbuję odwiedzić witrynę HTTPS za pośrednictwem jej adresu IP, otrzymuję takie ostrzeżenie bezpieczeństwa:

Google Chrome 65.0.3325.181 pasek adresu pokazujący https://192.168.0.2

Z mojego zrozumienia, certyfikat witryny musi pasować do domeny, ale przeglądarka certyfikatów Google Chrome nie wyświetla 1.1.1.1:

Przeglądarka certyfikatów: * .cloudflare-dns.com

Artykuł bazy wiedzy GoDaddy „Czy mogę poprosić o certyfikat dla nazwy intranetowej lub adresu IP?” mówi:

Nie - nie przyjmujemy już wniosków o certyfikaty dla nazw intranetowych ani adresów IP. Jest to standard branżowy , a nie specyficzny dla GoDaddy.

( moje podkreślenie )

I również:

W związku z tym od 1 października 2016 r. Urzędy certyfikacji muszą unieważnić certyfikaty SSL korzystające z nazw intranetowych lub adresów IP .

( moje podkreślenie )

I:

Zamiast zabezpieczać adresy IP i nazwy intranetowe, należy ponownie skonfigurować serwery, aby używały w pełni kwalifikowanych nazw domen (FQDN), takich jak www.coolexample.com .

( moje podkreślenie )

Minęło dużo czasu od daty obowiązkowego unieważnienia 01 października 2016 r., Ale certyfikat 1.1.1.1wydano 29 marca 2018 r. (Pokazany na zrzucie ekranu powyżej).


Jak to możliwe, że wszystkie główne przeglądarki uważają, że https://1.1.1.1 jest zaufaną witryną HTTPS?

Deltik
źródło
10
Warto zauważyć, że istnieje ogromna różnica między 192.168.0.2 a 1.1.1.1. Jeden 192.168.0.2nie istnieje poza intranetem. Jeśli utworzysz własny certyfikat z podpisem własnym 192.168.0.2, możesz zaufać i możesz zastosować to samo podejście do sieci SAN w domenie takiej jak fake.domain. Warto zauważyć, że 1.1.1.1nie jest to zarezerwowany adres IP, więc wydaje się, że każdy urząd certyfikacji wydałby certyfikat.
Ramhound,
12
blog.cloudflare.com/announcing-1111 „Jesteśmy podekscytowani, że możemy zrobić kolejny krok w kierunku tej misji, wprowadzając 1.1.1.1 - najszybszą w Internecie, pierwszą usługę prywatności dla konsumentów DNS”.
11
Myślę, że źle wpisujesz zdanie. Prawdopodobnie oznaczały „muszą odwołać certyfikaty SSL, które używają intranetu (nazwy lub adresy IP)” „nie” „muszą odwołać certyfikaty SSL, które używają (nazwy intranetu) lub adresy IP”.
Maciej Piechotka
1
@MaciejPiechotka ma rację, oznacza to, że „musi unieważnić certyfikaty SSL, które używają nazw intranetowych lub adresów intranetowych IP”
Ben
2
BTW ... nie ma czegoś takiego jak obowiązkowe odwołanie. Dosłownie żadna organizacja na Ziemi nie ma takiej mocy. Najbliżej jest kilka urzędów certyfikacji, które zgadzają się coś zrobić.
cHao

Odpowiedzi:

94

Angielski jest dwuznaczny . Przetwarzałeś to w ten sposób:

(intranet names) or (IP addresses)

tzn. całkowicie zakazać używania numerycznych adresów IP. Znaczenie, które pasuje do tego, co widzisz, to:

intranet (names or IP addresses)

tzn. certyfikaty banów dla prywatnych zakresów adresów IP, takich jak 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0/16, a także dla prywatnych nazw, które nie są widoczne w publicznym DNS.

Certyfikaty dla publicznie rutowalnych adresów IP są nadal dozwolone, ale ogólnie nie są zalecane dla większości ludzi, szczególnie tych, którzy nie posiadają również statycznego adresu IP.


To oświadczenie jest poradą, a nie twierdzeniem, że nie możesz zabezpieczyć (publicznego) adresu IP.

Zamiast zabezpieczać adresy IP i nazwy intranetowe, należy ponownie skonfigurować serwery, aby używały w pełni kwalifikowanych nazw domen (FQDN), takich jak www.coolexample.com

Może ktoś w GoDaddy źle interpretuje to sformułowanie, ale bardziej prawdopodobne jest, że chciałby, aby ich porady były proste, i zalecił użycie publicznych nazw DNS w certyfikatach.

Większość ludzi nie używa stabilnego statycznego adresu IP do swoich usług. Świadczenie usług DNS to jedyny przypadek, w którym naprawdę konieczne jest posiadanie stabilnego, dobrze znanego adresu IP, a nie tylko nazwy. Dla każdego innego umieszczenie twojego aktualnego adresu IP w certyfikacie SSL ograniczyłoby twoje przyszłe opcje, ponieważ nie możesz pozwolić, aby ktoś inny zaczął korzystać z tego adresu IP. Mogą podszyć się pod Twoją witrynę.

Cloudflare.com ma kontrolę nad tym 1.1.1.1 Adres IP sami, i nie zamierza robić niczego innego się z nim w dającej się przewidzieć przyszłości, więc ma to sens dla nich umieścić swoje IP w ich cert. Zwłaszcza jako dostawca DNS bardziej prawdopodobne jest, że klienci HTTPS odwiedzą ich adres URL według numeru, niż w przypadku jakiejkolwiek innej witryny.

Peter Cordes
źródło
5
To odpowiada dokładnie, dlaczego byłem zdezorientowany. Wysłałem sugestię do GoDaddy, aby poprawić treść tego artykułu . Mamy nadzieję, że naprawią to, aby wyjaśnić „(nazwa wewnętrznego serwera) lub (zarezerwowany adres IP)”, jak udokumentowano na forum CAB .
Deltik,
14
Pedantycznie Cloudflare nie „posiada” adresu 1.1.1.1. Jest własnością firmy APNIC Labs , która udzieliła Cloudflare pozwolenia na obsługę tam resolwera DNS w zamian za pomoc Cloudflare w badaniu dużej ilości pakietów śmieci, które są błędnie adresowane do tego adresu IP .
Kevin
12
Pedantycznie @Kevin, APNIC też nie jest właścicielem. W tym artykule wspomniano o problemie własności i zastosowano wyrażenie „przypisane do”. IANA, część ICANN, przydzieliła zakres adresów APNIC, który przydzielił takie adresy Cloudflare. Adresy IPv4 to po prostu fantazyjny sposób na zapisanie numeru z 0-4294967296 (jeśli pingujesz 16843009 w wielu systemach operacyjnych, to zobaczysz, że otrzymujesz odpowiedź od 1.1.1.1), a USA nie rozpoznają posiadania numeru (stąd dlaczego powstała nazwa „Pentium”)
TOOGAM
5
Intel był sprawą znaku towarowego, a nie własności…
StarWeaver
3
@TOOGAM: Mam na myśli, że w systemie whois, który konkretnie połączyłem, 1.1.1.1 jest przydzielany do APNIC Labs. Jeśli zamierzasz wybierać gnidy na temat alokacji a własności, nie zmieniaj znaczenia „alokacji”.
Kevin
102

Dokumentacja GoDaddy jest błędna. To nieprawda, że ​​urzędy certyfikacji muszą odwoływać certyfikaty dla wszystkich adresów IP… tylko zarezerwowane adresy IP .

Źródło: https://cabforum.org/internal-names/

Urząd certyfikacji dla https://1.1.1.1 był DigiCert , który w chwili pisania tej odpowiedzi umożliwia kupowanie certyfikatów witryny dla publicznych adresów IP.

DigiCert ma artykuł na ten temat o nazwie Wydawanie certyfikatu SSL wewnętrznego serwera po 2015 roku :

Jeśli jesteś administratorem serwera używającym nazw wewnętrznych, musisz albo ponownie skonfigurować te serwery, aby używały nazwy publicznej, lub przełączyć się na certyfikat wydany przez wewnętrzny urząd certyfikacji przed datą graniczną w 2015 r. Wszystkie połączenia wewnętrzne wymagające publicznie zaufanego certyfikatu muszą być nawiązywane za pomocą nazw publicznych i weryfikowalnych (nie ma znaczenia, czy usługi te są publicznie dostępne).

( moje podkreślenie )

Cloudflare po prostu otrzymał certyfikat na swój adres IP 1.1.1.1od tego zaufanego urzędu certyfikacji.

Analiza parsowanego certyfikatu dla https://1.1.1.1 ujawnia, że ​​certyfikat wykorzystuje alternatywne nazwy podmiotu (SAN) w celu uwzględnienia niektórych adresów IP i zwykłych nazw domen:

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

Te informacje znajdują się również w przeglądarce certyfikatów Google Chrome na karcie „Szczegóły”:

Przeglądarka certyfikatów: Szczegóły: * .cloudflare-dns.com

Ten certyfikat jest ważny na wszystkie wymienione domeny (w tym symbol wieloznaczny *) i adresy IP.

Deltik
źródło
Twój link do artykułu nie działa. Najlepiej podać odpowiednią informację.
Ramhound,
11
Myślę, że to nie tyle mylące, co wprowadzające w błąd. Powinien być w nawiasie, ponieważ „musi odwołać certyfikaty SSL, które używają intranetu (nazwy lub adresy IP)” „nie” „musi odwołać certyfikaty SSL, które używają (nazwy intranetu) lub adresy IP”.
Maciej Piechotka
3
Cóż, to nie powiedzieć „nazwy Intranet lub adresów IP”. Nazwy intranetu lub intranetowe adresy IP. To nie jest źle, to tylko PO selektywnie go przeczytaj.
Wyścigi lekkości na orbicie
45

Wygląda na to, że nazwa podmiotu certyfikatu zawiera adres 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

Tradycyjnie myślę, że umieściłbyś tutaj tylko Nazwy DNS, ale Cloudflare umieścił również ich Adresy IP.

Przeglądarki uważają również https://1.0.0.1/ za bezpieczne.

Michael Frank
źródło
1
Nie rozumiem, jak to odpowiada na pytanie. Publikowanie treści certyfikatu nie wyjaśnia, dlaczego taki certyfikat może zostać dostarczony.
Dmitrij Grigoryev,
18
@DmitryGrigoryev: Ale to dowodzi, że taki certyfikat został wydany, co było dużym zamieszaniem w pytaniu (OP nie mógł znaleźć 1.1.1.1 wymienionego w certyfikacie)
Lekkość ściga się na orbicie
3
Ta odpowiedź rzeczywiście odpowiada na pytanie autora. Chociaż autor podał bardziej szczegółowe informacje na temat ich pomieszania, wskazuje to na fakt, że dane świadectwo jest rzeczywiście ważne. Ponieważ autor pytania, nigdy nie przedstawił nam tego, co faktycznie powiedział GoDaddy, trudno jest odpowiedzieć na pytanie w jakikolwiek inny sposób.
Ramhound
4
@DmitryGrigoryev - Jeśli pytanie brzmi „Dlaczego moja przeglądarka uważa, że wersja 1.1.1.1 jest bezpieczna?” (tytuł tej strony) lub „Jak to możliwe, że wszystkie główne przeglądarki uważają, że 1.1.1.1 jest zaufaną witryną HTTPS?” (jedyne aktualne pytanie w ciele), a następnie „ponieważ 1.1.1.1 jest wymieniony jako SAN w certyfikacie” wyraźnie odpowiada na to pytanie.
Dave Sherohman,
@DmitryGrigoryev „ nie wyjaśnia, dlaczego taki certyfikat może zostać wydany ”, to pytanie jest niejasne, ponieważ nie zawiera nawet pełnych informacji o certyfikacie i nie jest wyraźnie pytaniem technicznym o implementację TLS w przeglądarkach ani pytaniem dotyczącym zasad o CA, ale połączenie obu
ciekawy