我想拒绝所有未提供有效 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。