我正在创建一个不需要发送电子邮件而只需要接收的 smtp 服务器。不是专家,我想知道我是否仍然应该使用 SSL 证书来确保安全。例如,如果我从我的 Outlook 或 gmail 客户端(我假设它会发送一个已经受保护的消息)向我的 smtp 服务器发送一封电子邮件,而没有 ssl,中间人攻击是否可能?
Pau*_*aul 13
是的。接收邮件时应使用 SSL/TLS。MITM 是可能的,但需要 DKIM 身份验证应该可以防止它操纵消息。签名证书是缓解 MITM 的最佳方法,如果您使用支持它的平台,它们可以免费使用 Let's Encrypt 并且可以轻松实现自动化。
就 SMTP 而言,TLS 并不是防止 MitM 的万无一失,因为强大的向后兼容性允许自签名证书、较旧的 TLS 和 SSL 版本,甚至回退到未加密的连接。因为到端口 25/tcp 的 SMTP 连接总是以纯文本开始,并且需要STARTTLS
中间人很容易剥离 . 250-STARTTLS
,使客户端相信服务器不支持 TLS。命名实体的基于 DNS 的身份验证(DANE,RFC 6698)解决了这个问题,但必须得到双方的支持。
也就是说,TLS 对 SMTP 仍然有用,因为不使用它会使 MitM 既容易又难以检测。例如,从前面的Received
标头中,您应该能够看到连接是否加密,以及使用的密码套件。