如何限制发件人标头以匹配 Postfix 中的 MAIL FROM?

如何限制发件人标头以匹配 Postfix 中的 MAIL FROM?

SMTP 客户端在向其他域发送电子邮件(中继)之前需要通过用户身份验证。我们可以使用 来smtpd_sender_restrictions确保 MAIL FROM 地址与经过身份验证的用户匹配。但如何确保邮件头中的 From 地址与 MAIL FROM 地址匹配?我们还想限制 Reply-To 头,这样垃圾邮件发件人就很难使用我们的 SMTP 服务器,即使他们破解了某些用户密码。

答案1

尽管后缀无法与这两个领域相匹配,如今米尔特筛选后缀的接口可以做,相当可靠,并且可以通过脚本语言访问。

添加检查通过以下方式收到的邮件的程序邮件传输协议,添加它的监听套接字/var/spool/postfix/directory/name.sock并将 postfix 指向相对路径,如unix:directory/name.sock- 或者让它在 localhost 上监听并指定一个端口:

smtpd_milters = inet:localhost:30072

将邮件头地址与信封地址进行匹配的邮件过滤器的工作示例如下韋爾夫分布于Debian&Ubuntu

确保不要意外地将本地策略应用于外部邮件,因为接收来自不同信封、标题和回复地址的邮件是有效且常见的。在大多数设置中,这种分离已经通过以下方式充分实现:仅有的将此 milter 配置添加master.cf到您的简讯港口(和提交(如果启用)即专门接受经过身份验证的邮件的端口。

答案2

如果您想要重写邮件头,您必须让 postfix 将邮件通过某个执行重写的程序。查看 policyd 之类的文档以了解该交互的工作原理。

但是,我并不认为您所描述的是一个好主意,或者对垃圾邮件有帮助。如果您不能依赖经过身份验证的用户的行为,那么您需要进行内容过滤,就像您对来自未知来源的邮件进行过滤一样。

答案3

header_checks = pcre:/etc/postfix/header_checks

在文件 header_checks 示例数据中:

/^Content-(Type|Disposition):.*(file)?name=.*(\.|=2E)(ade|adp|bas|bat|chm|cmd|com|cpl|crt|hlp|hta|inf|ins|isp|js|jse|lnk|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb|vbe|vbs|wsc|wsf|wsh|mim|b64|bhx|hqx|xxe|uu|uue)"/ REJECT Sorry, we do not accept .${4} file type.
/^Content-(Type|Disposition):.*(file)?name=.*\.([a-z]+\.exe)"/                  REJECT Sorry, we do not accept double extension .${3} file type.
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?196\.[0-9]+\.[0-9]+\.[0-9]+\]?/                             REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?82\.128\.([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-7])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?86\.62\.([0-9]|[0-6][0-9]|6[0-3])\.[0-9]+\]?/               REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?213\.136\.(9[6-9]|1[0-1][0-9]|12[0-7])\.[0-9]+\]?/          REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?81\.91\.2(2[4-9]|3[0-9])\.[0-9]+\]?/                        REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?41\.[0-9]+\.[0-9]+\.[0-9]+\]?/                              REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?213\.181\.(6[4-9]|[7-8][0-9]|9[0-5])\.[0-9]+\]?/            REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?87\.255\.(9[6-9]|10[0-7])\.[0-9]+\]?/                       REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?212\.52\.(12[8-9]|1[3-5][0-9])\.[0-9]+\]?/                  REJECT nigerian spam/scam/419 detected
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?83\.229\.([0-9]?[0-9]|1[0-1][0-9]|12[0-7])\.[0-9]+\]?/      REJECT nigerian spam/scam/419 detected

因此,您要做的就是按照您想要检查字段 From 的方式进行修改。希望这会有所帮助。

相关内容