https://www.schneier.com/
にアクセスすると、すべて正常に機能します。 IPアドレス(66.33.204.254)を使用して同じサイトにアクセスするとすぐに、セキュリティ警告が表示されます(https://66.33.204.254:443/
のようなものを書いても)。
同じはgoogle.comには当てはまりません(このIPアドレスを使用しています:216.58.211.14)
何故ですか?これら2つのサイトの違いは何ですか?
UPD:GoogleのIPを入力したときに表示されるGIFです。警告はありません: http://www.giphy.com/gifs/26gYMNRlBYy9yAYn
これは通常、IPではなくホスト名のTLS証明書を作成するためです。 IPアドレスの変更は簡単ですが、ドメインの変更はそれほど一般的ではありません。
IPを使用してFirefoxでサイトを開くと、次のメッセージが表示されます。
66.33.204.254 uses an invalid security certificate.
The certificate is only valid for the following names:
schneier.com, www.schneier.com
216.58.211.14(Google)を開くと同じメッセージが表示されます。
このエラーは、アドレスバーに入力したアドレスを所有していることを証明できないサイトにアクセスしたことを示しています。
これを想像してみてください。 https://www.google.com
にアクセスします。接続の証明書を確認すると、実際にwww.DeathToAmerica.ru
に発行されたことがわかります。これは、ブラウザーが実際にgoogle.comにアクセスしていないことを強く示しています。その代わり、あなたの通信は Man in the Middle(MitM)Attack として知られているもので傍受されています。通信はまだ暗号化されていますが、未知のエンティティに送信(および復号化)されています。
これを防ぐために、ブラウザーは、入力したアドレスを証明書に対して自動的にチェックします。それらが一致しない場合は常に、表示されているエラーが表示されます。
66.33.204.254
を入力したが、証明書がwww.schneier.com
に発行されたため、エラーが発生します。これは、アクセスしたサイトが66.33.204.254
を所有していることを証明できないことを示しています。
一般的に、CAはIPアドレスの証明書を発行しません。 DNSにないサイトにアクセスする必要があり、httpsを使用する必要があり、そのエラーを表示したくない場合は、 ホストエントリ を使用することをお勧めします。
証明書は、例ではschneier.com/* .google.comの一般名(CN)で発行されます。
ドメイン名の代わりにIPアドレスを使用してWebサイトにアクセスすると、このCNフィールドはURLのオーソリティ部分と一致せず、ブラウザーはエラーを返します(Google ChromeのNET :: ERR_CERT_COMMON_NAME_INVALIDなど)。
Http経由で言及したWebサイトにアクセスしている場合、httpsにリダイレクトされます。ただし、Googleは https://google.com にリダイレクトしますが、Schneierは https://216.58.211.14 にリダイレクトします。前者はエラーを引き起こさず、後者は(上記の理由により)エラーを引き起こします。
したがって、説明した効果は、2つのWebサーバーでのリダイレクトの構成によるものです。
受け入れられているほとんどの主要なTLS/SSL証明書は、DNSを介して検索できるホスト名に対して発行されます。
このチェックの理由は、攻撃が完全に有効な証明書を持っている可能性のあるMan in the Middle攻撃の可能性を防ぐためですが、アクセスしようとしているWebサイトには発行されません。証明書は「否認防止」の分野に対応しています。
Googleの場合、WebサービスをホストするIPアドレスが多くのドメイン名のリクエストを処理する可能性があるため、ユーザーをドメイン名にリダイレクトしようとします(下の2番目のコードボックスを参照)。 Cloudflareを使用するWebサイトにアクセスしようとすると、同じことが起こります。 Cloudflareは多くのWebサイトの前に配置されているため、どちらを提供すればよいかわからず、エラーメッセージが返されます。
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は同じエラーコードを表示します。
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
Cloudflareによって「保護された」サイトにアクセスするとどうなるかを示す画像: