我有一个具有自签名 SSL 证书的邮件服务器。
我使用 Thunderbird 访问该服务器,它要求我接受该证书。
假设我在半安全的位置(例如本地网络)接受此证书。然后转到不安全的网络,并在 Thunderbird 电子邮件客户端中接受我的证书。
Thunderbird 设置为使用 STARTTLS 到电子邮件服务器。
是不是一旦该证书被接受,就不可能进行中间人攻击了?如果有人想利用这个公共自签名 SSL 证书,他们还需要邮件服务器保存的私钥?
如果有一天 Thunderbird 突然要求我接受来自邮件服务器的新证书,那就危险了。
答案1
如果您控制域名,则应强烈考虑获取免费 SSL 证书。有几种免费证书提供。
Thunderbird 中的“已接受”证书将您引用服务器的主机名与证书的指纹配对。因此,如果不解决 DL 问题,MITM 攻击几乎是不可能的。这假设您选择了合理的位长度(目前为 2048 或 4096;尽管可以为 1024 做出论证)。
PKI 密钥只有在您同时拥有私钥和公钥时才有用。是的,应始终以最大的辨别力审查有关证书错误的新警告。
答案2
是不是一旦该证书被接受,就不可能进行中间人攻击了?如果有人想利用这个公共自签名 SSL 证书,他们还需要邮件服务器保存的私钥?
没错。除非攻击者拥有与客户端使用的私钥相匹配的私钥,否则攻击者无法伪装成远程服务器。
剩下的问题包括强制证书(基本上不会发生)、从服务器窃取私钥或利用软件漏洞(这可能会对“真实”证书产生与自签名证书完全相同的影响)。
对于已知证书的验证,当您接受时,您有信心的自签名证书与其他证书一样好。PKI /签名链使分发和撤销变得更加简单,但对于维护密钥的身份验证并不重要。它们只是有助于简化和跟踪。这对公众和大公司来说很重要。如果您只是在谈论您的私人邮件服务器,我会用自签名证书做同样的事情。
答案3
如果您信任导入 Thunderbird 的原始证书,则该证书将用于与证书中的 CN 匹配的服务器的所有后续连接。
由于自签名证书与公共 CA 颁发的任何证书不重叠,因此在两种情况下会从服务器(可能被盗用或欺骗)请求新证书:
- 证书已过期,或
- 主机名与证书中的 CN 不匹配
第二种情况可能比您想象的更快发生:如果您使用的是动态 IP,并且以某种方式连接到 IP 而不是主机名,则它将不匹配。