web-dev-qa-db-ja.com

私のブラウザはhttps://1.1.1.1が安全だと思うのはなぜですか?

https://1.1.1.1 にアクセスすると、使用しているWebブラウザでURLが安全であると見なされます。

これはGoogle Chromeが示すものです:

Google Chrome 65.0.3325.181 address bar showing https://1.1.1.1

通常、IPアドレスでHTTPSサイトにアクセスしようとすると、次のようなセキュリティ警告が表示されます。

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に固有のものではありません。

強調地雷)

そしてまた:

その結果、2016年10月1日に有効な、認証局(CA)は、イントラネット名またはを使用するSSL証明書を無効にする必要があります。 /] IPアドレス

強調地雷)

そして:

IPアドレスおよびイントラネット名を保護する代わりに、www.coolexample.comのように完全修飾ドメイン名(FQDN)を使用するようにサーバーを再設定する必要があります

強調地雷)

2016年10月1日の強制失効日を過ぎても十分ですが、1.1.1.1の証明書は2018年3月29日に発行されました(上のスクリーンショットを参照)。


すべての主要ブラウザが https://1.1.1.1 が信頼されたHTTPS Webサイトであるとどのように考えているのでしょうか。

131
Deltik

英語はあいまいです。次のように解析していました。

(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アドレスとイントラネット名を保護する代わりに、www.coolexample.comなどの完全修飾ドメイン名(FQDN)を使用するようにサーバーを再構成する必要があります

GoDaddyの誰かが言い回しを誤って解釈していたかもしれませんが、彼らはアドバイスをシンプルに保ち、証明書にパブリックDNS名を使用することを推奨したいと考えていました。

ほとんどの人は、サービスに安定した静的IPを使用しません。 DNSサービスを提供することは、名前だけでなく安定した既知のIPを持つことが本当に必要な1つのケースです。 他の誰かにとって、現在のIPをSSL証明書に入れると、他の誰かにそのIPの使用を開始させることができなくなるため、将来のオプションが制約されます。彼らはあなたのサイトになりすます可能性があります。

Cloudflare.com 制御している 1.1.1.1 IPアドレス自体であり、予見可能な将来においてそれと異なることをする予定はないので、理にかなっているfor them証明書にIPを追加します。特にDNSプロバイダーとしての場合、HTTPSクライアントは他のサイトよりも番号でURLにアクセスする可能性が高くなります。

94
Peter Cordes

GoDaddyのドキュメントが間違っています。証明機関(CA)がすべてのIPアドレスの証明書を取り消さなければならないというのは事実ではありません…IPアドレスを予約しただけです

出典: https://cabforum.org/internal-names/

https://1.1.1.1 のCAは DigiCert でした。この回答を書いている時点では、パブリックIPアドレス.

DigiCertはこれについての記事を持っています 内部サーバー名SSL証明書発行後2015

内部名を使用しているサーバー管理者は、パブリック名を使用するようにそれらのサーバーを再設定するか、または2015年の締切日より前に内部CAによって発行された証明書に切り替える必要があります。公的に信頼された証明書を必要とするすべての内部接続は、公用および検証可能の名前で行わなければなりません(それらのサービスが公にアクセス可能であるかどうかは関係ありません)。

強調地雷)

Cloudflareは、その信頼されたCAからIPアドレス1.1.1.1の証明書を取得しました。

https://1.1.1.1 の証明書を解析すると、証明書がいくつかのIPアドレスと通常のドメイン名を含むためにサブジェクト代替名(SAN)を利用することが明らかになります。

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アドレスに有効です。

102
Deltik

証明書のサブジェクトのAlt Nameに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/ もブラウザで保護されていると見なされます。

45
Michael Frank