Perché il mio browser pensa che https://1.1.1.1 sia sicuro?


133

Quando visito https://1.1.1.1 , qualsiasi browser Web che utilizzo considera l'URL sicuro.

Questo è ciò che mostra Google Chrome:

Barra degli indirizzi di Google Chrome 65.0.3325.181 che mostra https://1.1.1.1

Normalmente, quando provo a visitare un sito HTTPS tramite il suo indirizzo IP, ricevo un avviso di sicurezza come questo:

Barra degli indirizzi di Google Chrome 65.0.3325.181 che mostra https://192.168.0.2

Da quanto ho capito, il certificato del sito deve corrispondere al dominio, ma il Visualizzatore certificati di Google Chrome non mostra 1.1.1.1:

Visualizzatore certificati: * .cloudflare-dns.com

Articolo della knowledge base di GoDaddy "Posso richiedere un certificato per un nome intranet o un indirizzo IP?" dice:

No: non accettiamo più richieste di certificati per nomi intranet o indirizzi IP. Questo è uno standard industriale , non specifico per GoDaddy.

( enfatizzare il mio)

E anche:

Di conseguenza, a partire dal 1 ° ottobre 2016 , le autorità di certificazione (CA) devono revocare i certificati SSL che utilizzano nomi o indirizzi IP della intranet .

( enfatizzare il mio)

E:

Invece di proteggere indirizzi IP e nomi intranet, è necessario riconfigurare i server per utilizzare nomi di dominio completi (FQDN), come www.coolexample.com .

( enfatizzare il mio)

È ben dopo la data di revoca obbligatoria del 1 ° ottobre 2016, ma il certificato per è 1.1.1.1stato emesso il 29 marzo 2018 (mostrato nello screenshot sopra).


Come è possibile che tutti i principali browser pensino che https://1.1.1.1 sia un sito Web HTTPS affidabile?


10
Vale la pena sottolineare che esiste un'enorme differenza tra 192.168.0.2 e 1.1.1.1. Uno 192.168.0.2non esiste al di fuori della tua intranet. Se hai creato il tuo certificato autofirmato 192.168.0.2sarebbe attendibile e potresti utilizzare lo stesso approccio per la SAN, su un dominio come fake.domain. Vale la pena sottolineare che 1.1.1.1non è un indirizzo IP riservato, quindi sembra che qualsiasi CA avrebbe rilasciato il certificato.
Ramhound,

12
blog.cloudflare.com/announcing-1111 "Oggi siamo entusiasti di fare un altro passo verso quella missione con il lancio dell'1.1.1.1 - il servizio DNS per i consumatori più veloce per la privacy."

11
Penso che tu abbia sbagliato la frase tra parentesi. Probabilmente intendevano "devono revocare i certificati SSL che utilizzano intranet (nomi o indirizzi IP)" non "" devono revocare i certificati SSL che utilizzano (nomi intranet) o indirizzi IP ".
Maciej Piechotka,

1
@MaciejPiechotka è corretto, questo significa "deve revocare i certificati SSL che utilizzano nomi intranet o indirizzi IP intranet"
Ben

2
A proposito ... non esiste una revoca obbligatoria. Letteralmente nessuna organizzazione sulla Terra ha quel tipo di potere. Il più vicino che ottieni è un gruppo di CA che accetta di fare qualcosa.
cHao,

Risposte:


95

L'inglese è ambiguo . Lo stavi analizzando in questo modo:

(intranet names) or (IP addresses)

cioè vietare completamente l'uso di indirizzi IP numerici. Il significato che corrisponde a ciò che stai vedendo è:

intranet (names or IP addresses)

vale a dire vietare i certificati per gli intervalli IP privati come 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16, nonché per i nomi privati ​​che non sono visibili sul DNS pubblico.

I certificati per gli indirizzi IP instradabili pubblicamente sono ancora consentiti, ma non sono generalmente raccomandati per la maggior parte delle persone, in particolare quelli che non possiedono anche un IP statico.


Questa affermazione è un consiglio, non un'affermazione che non è possibile proteggere un indirizzo IP (pubblico).

Invece di proteggere indirizzi IP e nomi intranet, è necessario riconfigurare i server per utilizzare nomi di dominio completi (FQDN), come www.coolexample.com

Forse qualcuno di GoDaddy interpretava male la formulazione, ma molto probabilmente desiderava mantenere semplici i propri consigli e voleva raccomandare di usare nomi DNS pubblici nei certificati.

Molte persone non usano un IP statico stabile per il loro servizio. Fornire servizi DNS è l'unico caso in cui è veramente necessario disporre di un IP noto stabile anziché solo un nome. Per chiunque altro, inserire il tuo IP attuale nel tuo certificato SSL limiterebbe le tue opzioni future, perché non puoi permettere a qualcun altro di iniziare a usare quell'IP. Potrebbero impersonare il tuo sito.

Cloudflare.com ha il controllo dell'indirizzo IP 1.1.1.1 e non ha intenzione di fare qualcosa di diverso con esso nel prossimo futuro, quindi ha senso per loro mettere il loro IP nel loro programma. Soprattutto come provider DNS , è più probabile che i client HTTPS visitino il loro URL in numero che per qualsiasi altro sito.


5
Questo risponde esattamente al motivo per cui ero confuso. Ho inviato un suggerimento a GoDaddy per migliorare la formulazione dell'articolo . Si spera che lo risolvano per chiarire "(nome del server interno) o (indirizzo IP riservato)" come documentato sul forum CAB .
Deltik,

14
Pedanticamente, Cloudflare non "possiede" l'indirizzo 1.1.1.1. È di proprietà di APNIC Labs , che ha dato a Cloudflare il permesso di operare un risolutore DNS lì in cambio dell'assistenza di Cloudflare nello studio del grande volume di pacchetti di immondizia che sono erroneamente indirizzati a tale IP .
Kevin,

12
Pedanticamente, @Kevin, APNIC non lo possiede neanche. Questo articolo menziona il problema della proprietà e usa la frase "allocata a". IANA, parte di ICANN, ha assegnato l'intervallo di indirizzi a APNIC che ha assegnato tali indirizzi a Cloudflare. Gli indirizzi IPv4 sono semplicemente un modo elegante di scrivere un numero compreso tra 0 e 43294967296 (se esegui il ping 16843009 in molti sistemi operativi, troverai una risposta dall'1.1.1.1) e gli Stati Uniti non riconosceranno il possesso di un numero (quindi perché è stato creato il nome "Pentium")
TOOGAM

5
La cosa di Intel era un caso di marchio, non di proprietà ...
StarWeaver,

3
@TOOGAM: Voglio dire che, nel sistema whois, che ho specificamente collegato, 1.1.1.1 è assegnato a APNIC Labs. Se hai intenzione di scegliere nerd sull'allocazione rispetto alla proprietà, non distorcere il significato di "allocato".
Kevin,

102

La documentazione di GoDaddy è errata. Non è vero che le autorità di certificazione (CA) debbano revocare i certificati per tutti gli indirizzi IP ... solo indirizzi IP riservati .

Fonte: https://cabforum.org/internal-names/

La CA per https://1.1.1.1 era DigiCert , che al momento della stesura di questa risposta, consente l'acquisto di certificati del sito per indirizzi IP pubblici.

DigiCert ha un articolo su questo chiamato Emissione del certificato SSL del nome del server interno dopo il 2015 :

Se sei un amministratore del server che utilizza nomi interni, devi riconfigurare tali server per utilizzare un nome pubblico o passare a un certificato emesso da una CA interna prima della data di interruzione del 2015. Tutte le connessioni interne che richiedono un certificato attendibile pubblicamente devono essere eseguite tramite nomi pubblici e verificabili (non importa se tali servizi sono accessibili al pubblico).

( enfatizzare il mio)

Cloudflare ha semplicemente ottenuto un certificato per il proprio indirizzo IP 1.1.1.1da quella CA attendibile.

L'analisi del certificato per https://1.1.1.1 rivela che il certificato utilizza i nomi alternativi soggetto (SAN) per comprendere alcuni indirizzi IP e nomi di dominio ordinari:

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

Queste informazioni sono anche nel Visualizzatore certificati di Google Chrome nella scheda "Dettagli":

Visualizzatore certificati: Dettagli: * .cloudflare-dns.com

Questo certificato è valido per tutti i domini elencati (incluso il carattere jolly *) e gli indirizzi IP.


Il collegamento dell'articolo non sembra funzionare. Meglio citare le informazioni pertinenti.
Ramhound,

11
Penso che non sia tanto sbagliato quanto fuorviante. Dovrebbe essere racchiuso tra parentesi poiché "deve revocare i certificati SSL che utilizzano intranet (nomi o indirizzi IP)" non "" deve revocare i certificati SSL che utilizzano (nomi intranet) o indirizzi IP ".
Maciej Piechotka,

3
Beh, fa dire "nomi Intranet o indirizzi IP". Nomi Intranet o indirizzi IP Intranet. Non è sbagliato, è solo l'OP che lo legge solo in modo selettivo.
Corse di leggerezza in orbita,

45

Sembra che il nome alternativo dell'oggetto certificato includa l'indirizzo 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

Tradizionalmente immagino che avresti inserito solo i nomi DNS, ma Cloudflare ha inserito anche i loro indirizzi IP.

https://1.0.0.1/ è anche considerato sicuro dai browser.


1
Non vedo come questo risponda alla domanda. La pubblicazione del contenuto di un certificato non spiega perché un tale certificato possa essere consegnato.
Dmitry Grigoryev,

18
@DmitryGrigoryev: Ma dimostra che un tale certificato è stato consegnato, il che è stato un grande punto di confusione nella domanda (l'OP non è riuscito a trovare 1.1.1.1 elencato nel certificato)
Lightness Races in Orbit

3
Questa risposta risponde davvero alla domanda dell'autore. Mentre l'autore ha approfondito la propria confusione, ciò identifica il fatto, il certificato in questione è effettivamente valido. Dal momento che l'autore della domanda, non ci ha mai fornito ciò che GoDaddy ha effettivamente detto, è difficile rispondere alla domanda con qualsiasi altra cosa.
Ramhound,

4
@DmitryGrigoryev - Se la domanda è "Perché il mio browser ritiene che 1.1.1.1 sia sicuro?" (il titolo di questa pagina) o "Come è possibile che tutti i principali browser pensino che 1.1.1.1 sia un sito Web HTTPS affidabile?" (l'unica vera domanda all'interno del corpo), quindi "perché 1.1.1.1 è elencato come SAN nel certificato" risponde chiaramente a questa domanda.
Dave Sherohman,

@DmitryGrigoryev " non spiega perché un tale certificato potrebbe essere consegnato ", quindi la domanda non è chiara, in quanto non contiene nemmeno le informazioni complete sul certificato e non è chiaramente una domanda tecnica sull'implementazione TLS nei browser o una domanda politica su CA, ma un mix di entrambi
curiousguy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.