为什么我的浏览器认为https://1.1.1.1是安全的?


133

当我访问https://1.1.1.1时,我使用的任何Web浏览器都认为该URL是安全的。

这是Google Chrome显示的内容:

Google Chrome 65.0.3325.181地址栏显示https://1.1.1.1

通常,当我尝试通过其IP地址访问HTTPS站点时,会收到如下安全警告:

Google Chrome 65.0.3325.181地址栏显示https://192.168.0.2

据我了解,站点证书需要与域匹配,但是Google Chrome证书查看器不会显示1.1.1.1

证书查看器:*。cloudflare-dns.com

GoDaddy的知识库文章“我可以为Intranet名称或IP地址申请证书吗?” 说:

否-我们不再接受内部网名称或IP地址的证书请求。这是一种行业标准,不是GoDaddy特有的标准

重点是我的)

并且:

因此,自2016年10月1日起,证书颁发机构(CA)必须吊销使用 Intranet名称或IP地址的SSL证书

重点是我的)

和:

除了保护IP地址和Intranet名称之外,您应该将服务器重新配置为使用完全合格的域名(FQDN),例如www.coolexample.com

重点是我的)

强制性撤销日期早于2016年10月01日,但证书1.1.1.1已于2018年3月29日签发(如上图所示)。


所有主要浏览器如何可能认为https://1.1.1.1是受信任的HTTPS网站?


10
值得指出的是,192.168.0.2和1.1.1.1之间存在巨大差异。192.168.0.2在您的Intranet之外不存在一个。如果您创建了自己的自签名证书,则该证书192.168.0.2将受到信任,并且可以在SAN之类的域上对SAN使用相同的方法fake.domain。值得指出的是,这1.1.1.1不是保留的IP地址,因此看来,任何CA都会颁发证书。
Ramhound

12
blog.cloudflare.com/announcing-1111 “今天,我们很高兴通过推出1.1.1.1(互联网速度最快,隐私优先的消费者DNS服务)朝着这一目标又迈出了一步。”

11
我认为你把这句话弄错了。他们可能意味着“必须撤消使用Intranet(名称或IP地址)的SSL证书”,而不是“必须撤消使用(Intranet名称)或IP地址的SSL证书”。
Maciej Piechotka '18

1
@MaciejPiechotka是正确的,这意味着“必须撤销该使用内部网名称或企业内部网的IP地址SSL证书”

2
顺便说一句...没有强制撤消之类的事情。从字面上看,地球上没有任何组织拥有这种能力。最接近您的是一堆同意做某事的CA。
cHao

Answers:


95

英语模棱两可。您正在这样解析:

(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地址和Intranet名称之外,您应该将服务器重新配置为使用完全合格的域名(FQDN),例如www.coolexample.com。

也许GoDaddy的某个人误解了该措词,但更有可能的是他们希望保持简单的建议,并建议在证书中使用公共DNS名称。

大多数人没有为他们的服务使用稳定的静态IP。提供DNS服务是真正需要拥有稳定的知名IP而不只是名称的一种情况。 对于其他任何人,将您当前的IP放入SSL证书将限制您将来的选择,因为您不能让其他人开始使用该IP。他们可能会冒充您的网站。

Cloudflare.com 本身可以控制 1.1.1.1 IP地址,并且不打算在可预见的将来对其做任何不同的事情,因此对于他们来说,将IP放入证书中是有意义。特别是作为DNS提供商,HTTPS客户端比其他任何站点更可能通过数字访问其URL。


5
这正好回答了为什么我感到困惑。我向GoDaddy发送了一条建议,以改进文章的措词。希望他们将对其进行修复,以澄清CAB Forum上记录的“(内部服务器名称)或(保留的IP地址)” 。
Deltik '18 -4-12

14
就目前而言,Cloudflare “拥有” 1.1.1.1地址。它由APNIC实验室所有,后者授予Cloudflare许可在那儿运行DNS解析器,以换取Cloudflare在研究大量错误地分配给该IP的垃圾数据包方面的帮助
凯文(Kevin)

12
在@Kevin上,APNIC也不拥有它。本文提到所有权问题,并使用短语“分配给”。作为ICANN一部分的IANA将地址范围分配给了APNIC,而APNIC则将此类地址分配给了Cloudflare。IPv4地址只是写0-4294967296中的数字的一种简便方法(如果您在许多操作系统中ping 16843009,那么您会发现收到来自1.1.1.1的响应),美国将不承认拥有数字(因此)为什么命名为“奔腾”)
-TOOGAM

5
英特尔的事是商标而不是所有权的情况……
StarWeaver

3
@TOOGAM:我的意思是,在我专门链接的whois系统中,1.1.1.1已分配给APNIC Labs。如果您要对分配与所有权进行比较,请不要误解“已分配”的含义。
凯文(Kevin)

102

GoDaddy说明文件有误。证书颁发机构(CA)必须撤销所有IP地址(仅保留IP地址)的证书是不正确的。

资料来源:https : //cabforum.org/internal-names/

https://1.1.1.1的CA 是DigiCert,在撰写本文时,它确实允许购买公共IP地址的站点证书。

DigiCert对此发表了一篇名为《2015年之后的内部服务器名称SSL证书颁发》的文章:

如果您是使用内部名称的服务器管理员,则需要重新配置这些服务器以使用公共名称,或者切换到内部CA在2015年截止日期之前颁发的证书。所有需要公共信任证书的内部连接都必须通过可公开且可验证的名称进行(这些服务是否可以公共访问无关紧要)。

重点是我的)

Cloudflare只是1.1.1.1从该受信任的CA 获得了其IP地址的证书。

解析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

该证书对所有列出的域(包括通配符*)和IP地址均有效。


您的文章链接似乎无效。最好引用相关信息。
Ramhound18年

11
我认为这没有误导那么多。应该在括号中标明“必须撤消使用(内部网名称)或IP地址的SSL证书”,而不是“必须撤消使用(内部网名称)或IP地址的SSL证书”。
Maciej Piechotka

3
好吧,它确实说“ Intranet名称或IP地址”。内联网名称或内联网IP地址。没错,只是OP仅选择性地读取它。
Lightness Races in Orbit

45

看来证书使用者替代名称包含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/是安全的。


1
我看不出这如何回答问题。发布证书的内容并不能解释为什么可以交付这样的证书。
德米特里·格里戈里耶夫

18
@DmitryGrigoryev:但是它确实证明已经提供了这样的证书,这是问题中的一个主要困惑点(OP找不到证书中列出的1.1.1.1)
Lightness Races in Orbit 18'4

3
这个答案确实回答了作者的问题。尽管作者对其混淆进行了更详细的说明,但这可以证明事实,所涉及的证书确实有效。自从该问题的作者提出以来,从未向我们提供过GoDaddy的实际讲话,很难用其他方式回答这个问题。
Ramhound

4
@DmitryGrigoryev-如果问题是“为什么我的浏览器认为1.1.1.1是安全的?” (此页面的标题)或“所有主流浏览器如何可能认为1.1.1.1是受信任的HTTPS网站?” (正文中唯一的实际问题),然后“因为在证书中将1.1.1.1列为SAN”明确回答了该问题。
Dave Sherohman '18

@DmitryGrigoryev“ 没有解释为什么可以提供这样的证书 ”,因此问题尚不清楚,因为它甚至不包含完整的证书信息,也不是关于浏览器中TLS实施的技术问题还是策略问题关于CA,但又兼而有之
curiousguy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.