是否可以识别和防止对使用自签名 SSL 证书的设备进行的中间人攻击?

信息安全 tls 网络 攻击 攻击预防 中间人
2021-08-12 18:12:02

我在大型企业 LAN 上同时使用 Linux 和 Windows。大多数网络配置都超出了我的能力范围。

在企业 LAN 上本地托管的某些 SaaS 应用程序使用自签名 SSL 证书。我需要定期登录这些。

是否有任何确定的方法可以知道我正在登录的服务器是合法的,而不是明显的身份变化,假设同事可能会尝试 MitM 攻击?

1个回答

服务器证书的意义在于,客户端可以确保它知道服务器的正确、真实的公钥。由 CA 签署的证书是实现这一目标的一种方式(不言而喻的假设是,我们相信 CA 只签署包含正确信息的证书,而不是搞砸它)。自签名证书不能传达这样的保证。

但是,在某些情况下,您可以将证书模型替换为直接信任也就是说,您通知您的 Web 浏览器对于给定的特定证书是可以信任的。Firefox 将其描述为“安全例外”。这并不能完全解决问题,但至少可以将其减少为确保一旦您看到正确的服务器证书的问题。之后,你的浏览器会记住那个“异常”,不会用可怕的警告来打扰你——但如果有人试图给你另一个不同的自签名证书,它像醉酒的圣诞树一样发光。

对于初始注册,当您第一次连接到服务器时,让您的浏览器显示“SHA-1 指纹”或“指纹”。它的命名方式随浏览器而变化,但这是在完整证书上计算的 SHA-1 哈希值,并表示为 40 个十六进制字符。然后,打电话给目标服务器的系统管理员,让他拼出证书的指纹:如果它们匹配,那么您就知道您的浏览器正在查看正确的证书,并且可以将其注册为本地已知的安全异常。

(上面描述的过程正是SSH所做的,它也适用于 SSL。)

如何安装“安全例外”取决于浏览器和操作系统,我懒得查找和描述所有可能的组合。但是,至少,你有这个概念。