私がhttps://1.1.1.1にアクセスすると、私が使用しているどのウェブブラウザもそのURLを安全なものと見なします。
Google Chromeではこのように表示されます。
[Google Chrome 65.0.3325.181 アドレスバーに https://1.1.1.1 と表示][1]。
通常、HTTPSのサイトをそのIPアドレス経由で訪問しようとすると、このようにセキュリティの警告が表示されます。
私の理解では、サイト証明書はドメインと一致する必要がありますが、Google Chrome 証明書ビューアには 1.1.1.1
が表示されません。
GoDaddy's knowledgebase article "Can I request certificate for an intranet name or IP address?" によると。
イントラネット名やIPアドレスの証明書のリクエストは受け付けておりません。これは業界全体の基準であり、GoDaddy固有のものではありません。
(emphasis mine)
そしてまた
その結果、2016年10月1日より、認証局(CA)はイントラネット名またはIPアドレス**を使用したSSL証明書を失効させなければならなくなりました。
(emphasis mine)
と。
IPアドレスやイントラネット名を確保する代わりに、www.coolexample.comのような完全修飾ドメイン名(FQDN)を使用するようにサーバーを再設定する必要があります。
(emphasis mine)
強制失効日2016年10月01日を大幅に過ぎているのに、1.1.1.1
の証明書は2018年3月29日に発行されています(上のスクリーンショットに表示されています)。
すべての主要なブラウザが、https://1.1.1.1 は信頼できる HTTPS ウェブサイトであると考えるのはなぜでしょうか?
GoDaddyのドキュメントには間違いがあります。 認証局(CA)はすべてのIPアドレスの証明書を取り消さなければならないというのは事実ではありません... 予約されたIPアドレスだけ。
Source:https://cabforum.org/internal-names/
https://1.1.1.1 の CA は DigiCert で、この回答を書いている時点では、公開 IP アドレスのサイト証明書の購入は許可されています。
DigiCertでは、【2015年以降の内部サーバ名SSL証明書発行について】(https://web.archive.org/web/20180213030515/https://www.digicert.com/internal-names.htm)という記事があります。
もしあなたが内部名を使用しているサーバー管理者であれば、それらのサーバーをパブリック名を使用するように再設定するか、2015年の締切日までに内部CAが発行した証明書に切り換える必要があります。公に信頼される証明書を必要とするすべての内部接続は、公開され検証可能な名前を通して行わなければなりません(それらのサービスが一般にアクセス可能であるかどうかは関係ありません)。
(emphasis mine)
Cloudflareは単にその信頼できるCAから自分のIPアドレス 1.1.1.1
の証明書を取得したに過ぎない。
証明書を解析すると、https://1.1.1.1、証明書がサブジェクト代替名(SAN)を使用して、いくつかのIPアドレスと通常のドメイン名を包含していることがわかります。
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の証明書ビューアーの「詳細」タブにも表示されています。
[証明書ビューア: 詳細: *.cloudflare-dns.com]1.
この証明書は、記載されているすべてのドメイン(ワイルドカード *
を含む)および IP アドレスに対して有効です。
英語はあいまいです。こんな風に解析していたんですね。
(intranet names) or (IP addresses)
つまり、数字のIPアドレスの使用を全面的に禁止することです。 あなたが見ているものと一致する意味は、'です。
intranet (names or IP addresses)
すなわち、10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 といった プライベート IP 範囲 や、公開 DNS で見えないプライベート名に対する証明書を禁止します。
公にルーティング可能なIPアドレスの証明書はまだ許可されている、ちょうど一般的にほとんどの人々、特に固定IPも所有していない人々にはお勧めしません。
この文章はアドバイスであり、(公開)IPアドレスを確保できないという主張ではありません。
IPアドレスやイントラネット名を確保する代わりに、www.coolexample.com のような完全修飾ドメイン名(FQDN)を使用するようにサーバーを再設定する必要があります。
GoDaddyの誰かが文言を誤解していたのかもしれませんが、より可能性が高いのは、アドバイスをシンプルにし、証明書にパブリックDNS名を使用することを推奨したかったのでしょう。
ほとんどの人は、サービスに安定した固定IPを使用することはありません‼ DNSサービスの提供は、名前ではなく、安定したよく知られたIPを持つことが本当に必要な1つのケースなのです。 **他の人は、SSL証明書に現在のIPを入れると、他の人がそのIPを使い始めることができないので、将来の選択肢が狭まります。 彼らはあなたのサイトになりすますことができます。
Cloudflare.comは1.1.1.1のIPアドレスを自分で管理しており、当面それを変更する予定はないので、証明書に自分のIPを記載するのは理にかなっています。 特にDNSプロバイダとして、HTTPSクライアントが他のサイトよりも番号で彼らのURLを訪問する可能性が高いです'。
証明書のSubject 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/、ブラウザでも安全性が高いとされています。