sendmail:如何限制仅具有有效证书的客户端的访问?

sendmail:如何限制仅具有有效证书的客户端的访问?

我想拒绝所有未提供有效 SSL/TLS 证书的连接。首先,访问数据库文件是否是需要更改的正确文件?

我已经尝试使用文档中给出的基本规则

证书颁发者:/C=US/ST=California/O=endmail.org/OU=private/CN=Darth+20Mail+20+28Cert+29/[电子邮件保护] 中继

这显然需要一条规则来过滤和拒绝所有未提供证书的邮件?有人能指点我应该使用什么语法吗?通配符?

林晓玲

答案1

我想我已经明白了……好老的奥莱利……

我只需要使用:

TLS_Clt:                           VERIFY
TLS_Srv:                           VERIFY

希望这将排除所有无效证书和所有不安全的连接尝试。

答案2

http://www.linuxjournal.com/article/4823

请注意,强制所有 SMTP 客户端使用 TLS 是不明智的,因为它尚未普及。RFC 文档指出,公开引用的 SMTP 服务器(例如域的 MX 服务器)不得拒绝非 TLS 连接。但是,受限访问的 SMTP 服务器(例如企业内联网的服务器)可以使用 TLS 作为访问控制机制。

如果你从 sendmail.mc 中删除 PLAIN,那么应该可以做到:

TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 

然后用 m4 重建 sendmail.cf。

相关内容