Un avviso di sicurezza quando si accede a un sito tramite IP

6

Quando vado a https://www.schneier.com/ , tutto funziona normalmente. Non appena accedo allo stesso sito usando il suo indirizzo IP (66.33.204.254), ricevo un avviso di sicurezza (anche se scrivo qualcosa come https://66.33.204.254:443/ ).

Lo stesso non è vero per google.com (sto usando questo indirizzo IP: 216.58.211.14)

Perché è così? In cosa differiscono questi due siti?

UPD: Ecco la GIF di ciò che vedo quando inserisco l'IP di Google, nessun avviso lì: link

    
posta Pavel Vergeev 11.01.2017 - 19:31
fonte

4 risposte

15

È perché in genere si crea un certificato TLS per un nome host, non un IP. Cambiare gli indirizzi IP è banale, cambiare i domini non è così comune.

Se apri il sito in Firefox usando IP, vedrai questo messaggio:

66.33.204.254 uses an invalid security certificate. 

The certificate is only valid for the following names:
 schneier.com, www.schneier.com 

L'apertura di 216.58.211.14 (Google) darà lo stesso messaggio.

    
risposta data 11.01.2017 - 19:36
fonte
4

L'errore indica che hai raggiunto un sito che non può dimostrare di essere proprietario dell'indirizzo che hai inserito nella barra degli indirizzi.

Immagina questo. Visita https://www.google.com . Controlla il certificato per la connessione e scopri che è stato effettivamente emesso a www.DeathToAmerica.ru . Questa è una strong indicazione del fatto che il tuo browser non ha effettivamente raggiunto google.com. Invece, le tue comunicazioni sono state intercettate in quello che è noto come L'attacco Man in the Middle (MitM) . Le tue comunicazioni sono ancora crittografate, ma vengono inviate (e decodificate da) a un'entità sconosciuta.

Per proteggerlo, il tuo browser controllerà automaticamente l'indirizzo inserito nel certificato. Ogni volta che non corrispondono, visualizzerà l'errore che stai vedendo.

Poiché hai inserito 66.33.204.254 ma il certificato è stato emesso a www.schneier.com , otterrai l'errore. Ciò indica che il sito che hai raggiunto non può dimostrare di possedere 66.33.204.254 .

In generale, una CA non emetterà un certificato per un indirizzo IP. Se devi accedere a un sito che non è in DNS e devi utilizzare https e non vuoi vedere quell'errore, ti suggerisco di utilizzare un host entry .

    
risposta data 11.01.2017 - 19:56
fonte
1

Il certificato viene rilasciato con un nome comune (CN), nel tuo esempio schneier.com / * .google.com.

Se accedi al sito web usando l'indirizzo IP invece del nome di dominio, questo campo CN non corrisponderà all'autorità parte del tuo URL e il tuo browser restituirà un errore (come NET :: ERR_CERT_COMMON_NAME_INVALID per Google Chrome).

Se accedi ai siti web citati tramite http, verrai reindirizzato all'equivalente https. Tuttavia, Google ti reindirizza a link mentre Schneier ti reindirizza a link . Il primo non causerà un errore, il secondo lo farà (a causa dei motivi sopra menzionati).

Quindi l'effetto che hai descritto è dovuto alla configurazione dei reindirizzamenti sui due server Web.

    
risposta data 11.01.2017 - 19:42
fonte
0

La maggior parte dei principali certificati TLS / SSL accettati vengono rilasciati ai nomi degli host, che possono essere consultati tramite DNS.

Il motivo di questo controllo è di prevenire potenziali attacchi Man in the Middle, in cui un attacco potrebbe avere un certificato perfettamente valido, ma non viene rilasciato sul sito Web che si sta tentando di visitare. I certificati riguardano l'area di "non ripudio".

Nel caso di google, tentano di reindirizzare gli utenti al nome di dominio in quanto l'indirizzo IP che ospita il servizio web probabilmente gestisce le richieste per molti nomi di dominio (vedere la seconda casella di codice qui sotto). La stessa cosa potrebbe accadere se si tentasse di accedere a un sito Web che utilizza Cloudflare. Dato che Cloudflare si trova di fronte a molti siti Web, non sa a chi servire e restituisce un messaggio di errore.

66.33.204.254 uses an invalid security certificate.
The certificate is only valid for the following names:
schneier.com, www.schneier.com
Error code: SSL_ERROR_BAD_CERT_DOMAIN

Google fornirà lo stesso codice di errore:

216.58.211.14 uses an invalid security certificate.
The certificate is only valid for the following names:
*.google.com, *.android.com, *.appengine.google.com, *.cloud.google.com, *.google-analytics.com, *.google.ca, *.google.cl, *.google.co.in, *.google.co.jp, *.google.co.uk, *.google.com.ar, *.google.com.au, *.google.com.br, *.google.com.co, *.google.com.mx, *.google.com.tr, *.google.com.vn, *.google.de, *.google.es, *.google.fr, *.google.hu, *.google.it, *.google.nl, *.google.pl, *.google.pt, *.googleadapis.com, *.googleapis.cn, *.googlecommerce.com, *.googlevideo.com, *.gstatic.cn, *.gstatic.com, *.gvt1.com, *.gvt2.com, *.metric.gstatic.com, *.urchin.com, *.url.google.com, *.youtube-nocookie.com, *.youtube.com, *.youtubeeducation.com, *.ytimg.com, android.clients.google.com, android.com, developer.android.google.cn, g.co, goo.gl, google-analytics.com, google.com, googlecommerce.com, urchin.com, www.goo.gl, youtu.be, youtube.com, youtubeeducation.com

Error code: SSL_ERROR_BAD_CERT_DOMAIN

Un'immagine di cosa accadrebbe quando accedi a un sito "protetto" da cloudflare:

    
risposta data 11.01.2017 - 19:59
fonte

Leggi altre domande sui tag