Postfix的反垃圾邮件设置技巧

鬼谷子叔叔 - 2021-09-14 21:48

介绍

介绍

大家学会了配置SMTP服务器和POP服务器之后应该会发现一个问题,就是SMTP服务器理论上可以被盗用发送匿名邮件,或者向邮件服务器内的用户邮箱发送垃圾邮件。

由于正常情况下外域的邮件服务器给我们的邮件服务器内的用户邮箱内的用户邮箱发送邮件的时候是不需要登录的,也无法要求外域的邮件服务器登录我们的邮件服务器,所以这个就被别有用心的人利用发送垃圾邮件了。

这个怎么解决呢?

smtpd_xxx_restrictions

Postfix给我们设计了一套限制规则,包括smtpd_sender_restrictions、smtpd_recipient_restrictions等等。这些规则可以在对应的时机触发,并且根据限制规则设置的参数对SMTP服务的操作流进行精确控制。

虽然我们不能限制外域连接到我们的邮件服务器并向我们的用户邮箱发送邮件,但是我们可以最大限度的确保真的是正经的外域邮件服务器在进行这些操作,而不是黑客或者机器人在搞破坏!

smtpd_relay_restrictions

中继限制,在RCPT TO命令时候触发,在recipient规则前面触发。

官方文档

http://www.postfix.org/postconf.5.html#smtpd_relay_restrictions

推荐设置

  • 内部网络,放行

  • 通过sasl认证,放行


permit_mynetworks
permit_sasl_authenticated
defer_unauth_destination

smtpd_client_restrictions

客户端限制,在客户端/外域服务器连接的时候触发。

官方文档

http://www.postfix.org/postconf.5.html#smtpd_client_restrictions

smtpd_helo_restrictions

HELO/EHLO命令限制,在出任HELO命令时候触发。

官方文档

http://www.postfix.org/postconf.5.html#smtpd_helo_restrictions

推荐设置

设置任何参数之前需要设置smtpd_helo_required = yes,否则客户端完全可以通过不输入HELO/EHLO命令跳过所有规则。

  • 无效的helo主机名称,拒绝

  • 未知的helo主机名称,拒绝

reject_invalid_helo_hostname
reject_unknown_helo_hostname

smtpd_sender_restrictions

发件人限制

smtpd_recipient_restrictions

收件人限制

smtpd_data_restrictions

邮件正文限制

smtpd_end_of_data_restrictions

邮件正文结束限制

smtpd_etrn_restrictions

ERTN命令限制

总结