Postfix:我应该使用 snakeoil 证书还是我的 https 证书?

Postfix:我应该使用 snakeoil 证书还是我的 https 证书?

我运营一个网站,并安装了有效的通配符证书来提供 HTTPS 页面。我刚刚在我的 Ubuntu 主机上设置了 postfix,默认情况下其配置包括:

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

我可以将这些snakeoil证书更改为我购买的证书吗?如果可以,我应该这样做吗?

答案1

这取决于您的需求和设置细节。

邮件传输协议服务:如您所知,证书具有通用名称 (CN),其中包含其有效的域。 将此example.com*.example.com作为用于 Web 的证书的典型情况。

如果邮件服务器的主机名是mail.example.com(MX 记录中的域名在这里很重要),则邮件服务器提供的证书对于example.com包括子域名有效,并且验证(如果已完成)成功。如果邮件服务器的主机名(MX 记录中的主机名)不匹配(例如externalservice.example.net),则验证将失败。

对于自签名证书,CN 希望与 FQDN 匹配,但肯定不是由受信任的证书签名的。

因此两种情况都可能失败。请确保邮件服务器的 FQDN 与证书的 CN 匹配(反之亦然)。此外,请向根 CA 提供证书链。请参阅文档以了解相关信息。

但不幸的是很常见使用未签名和不受信任的自签名、过期或根本没有证书的邮件服务器。只有少数正在运行的邮件服务器具有有效证书。我最近看到一项调查显示,只有大约 5% 或更少的邮件服务器具有有效证书,但我现在找不到它。稍后找到后会链接它。

如果提交服务,验证更为重要,因为真实用户连接到服务并可能收到证书警告。MUA 将为传入和传出邮件配置的域与使用的 CommonName 进行比较。与简体中文:适用于此,但如果用户得到相信警告,或者连接失败。由于您有通配符证书,因此您可以安全地将其用作smtp.example.com此类任务的主机名。如果没有通配符,就没那么容易了。

答案2

您可以而且您应该这样做(除非您想使用特定于主机的证书)。

从技术上讲,您可以使用任何您想要的证书,包括 snakoil。它只是另一个带有不匹配标识符的自签名证书。但是,最好使用与合法客户端用于联系主机的证书相匹配的证书。这取决于您的设置。如果人们试图访问mail.example.com证书,则应该匹配mail.example.com。如果他们试图访问example.com它,则应该匹配。*.example.com匹配mail.example.com,但不匹配example.com。我并不建议将裸域用于这种事情。

此外,您可能不希望受到 POODLE 的攻击。
smtpd_tls_protocols = !SSLv2, !SSLv3
如果您正在进行身份验证,这一点就更重要了,但无论如何这都是一个好主意。

相关内容