您的浏览器拒绝了证书,但这不一定是由攻击引起的。
Google.co.uk 在我的浏览器上的 HSTS 失败。
您看到的警告并不特别表明 HSTS 存在问题。只是 Firefox 说:“证书似乎无效。顺便说一下,我们不会让您添加手动例外,因为该站点使用 HSTS。” 1
您在短时间内收到无效证书的原因有很多。这可能是您的 ISP 的故障、路由器的问题、强制门户网站的 SSL 拦截(如 @FedericoPoloni 所述),或者从理论上讲,可能是 MITM 攻击的失败尝试。调查的第一步是检查您实际获得的证书。
之后,您没有正确比较证书:您连接到www.google.co.uk
但针对google.co.uk
. 这些在技术上是不同的域,根据指定的服务器名称提供不同的证书。
在这里,我正在测试每个指纹-servername
,openssl
您应该识别两个指纹:
$ openssl s_client -servername www.google.co.uk -connect www.google.co.uk:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin
SHA1 Fingerprint=D1:8F:DE:83:4A:68:88:32:DD:CF:C8:6B:0C:74:94:33:02:75:BC:43
$ openssl s_client -servername google.co.uk -connect www.google.co.uk:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin
SHA1 Fingerprint=42:38:CE:6C:AA:C5:FE:13:A0:5A:56:88:F3:F2:E7:E4:D7:14:07:DA
1 HSTS(HTTP 严格传输安全)是 Web 服务器可以发送的标头,以指示客户端永远不应通过纯 HTTP 连接到站点(在指定的时间内)。您的浏览器在您之前一次访问www.google.co.uk
或预加载它时选择了该标题。标头的副作用之一是 UI 不再允许您通过添加异常来忽略证书警告。