当我打开https://java.com 时,我的浏览器显示“不受信任的连接”,但当我打开https://www.java.com 时,我的浏览器显示没问题。但它是同一个网站。
所以我的问题是:这是一个安全漏洞吗?就像拥有自签名证书一样?有几个域在使用正确的 HTTPS 设置是否具有“www”前缀时遇到了困难。
当我打开https://java.com 时,我的浏览器显示“不受信任的连接”,但当我打开https://www.java.com 时,我的浏览器显示没问题。但它是同一个网站。
所以我的问题是:这是一个安全漏洞吗?就像拥有自签名证书一样?有几个域在使用正确的 HTTPS 设置是否具有“www”前缀时遇到了困难。
看看实际的错误信息:
证书仅对 www.java.com 有效。
这是服务器配置错误。但在这种情况下,这不是一个直接的安全问题,因为两个域都属于同一家公司。(这是间接的,因为它教会人们忽略这种错误信息)。
这里发生的是这样的:
但是您的浏览器不想与 www.java.com 通信,它被告知要连接到 java.com。
如果两个域都不是在同一个人的控制之下,这是一个问题(想想 <something>.dyndns.org):
连接加密得很好,但您与攻击者的连接是安全的。然后,攻击者将在将其传递给真实服务器之前读取并可能对其进行修改。当攻击者得到答案后,他可以再次阅读和修改它,然后再将其发送给您。这被称为中间人攻击。
因此,此警告在一般情况下很重要。
为了安全起见,您应该这样做:查看错误消息中的域。如果该域很可能是您想去的地方的有效目的地(例如添加或缺少“www”),请在地址栏中输入该域。不要复制它,因为某些特殊字符可能看起来像有效字符,因此您最终可能会在网络钓鱼方面的其他地方结束。
该站点的 SSL 证书适用于 www.java.com,因此您的浏览器正确地告诉您它与域 java.com 不匹配。这不是一个安全漏洞,因为安全性没有受到损害,但这是一个可用性问题——他们应该有一个从 java.com 到 www.java.com 的重定向。
证书应具有“主题备用名称”或通配符以解决此特定问题。这是一个 SAN 示例
许多颁发者会以这种方式配置证书。在您的特定示例中,Sun Microsystems 有一个负责此证书的私人颁发者。该服务器忽略了在请求中添加通用 SAN 名称。
你说有几个域在这个问题上挣扎。看看颁发 CA,如果它是私有的或者在多个问题站点中很常见,那么管理实践很可能是罪魁祸首。