SMTPD限制

我正在寻找关于Postfix限制configuration的一些build议。 我正在寻找一个平衡的configuration,正确地拒绝垃圾邮件和未经授权的访问重试。

最近,我一直在阅读一些文档,并试图从别人的经验中学习,但是当限制出现时,我有点困惑。 现在,我被迫设置permit_sasl_authenticated作为第一个限制,以便通过桌面电子邮件客户端应用程序发送电子邮件时,经过身份validation的用户不会与垃圾邮件阻止列表相匹配。 如果我删除这样的限制,那么通过桌面电子邮件客户端应用程序(例如MS Outlook)发送电子邮件并通过ADSL或dynamicIPS连接到networking的人通常会被检测为垃圾邮件。

我想知道如果我错过了阅读其他configuration,教程和文档,他们看起来没有受到这个问题的困扰。 我觉得我是唯一的一个。

我也想知道,如果我在每个限制声明中检查正确的垃圾邮件列表。

 mynetworks_style = host

 smtpd_client_restrictions = 
 permit_sasl_authenticated,
 reject_rbl_client sbl.spamhaus.org,
 reject_rbl_client blackholes.easynet.nl
 ,reject_rbl_client zen.spamhaus.org
 ,reject_rbl_client bl.spamcop.net
 ,check_client_access正则expression式:/ etc / postfix / client_restrictions

 smtpd_data_restrictions = reject_unauth_pipelining

 smtpd_end_of_data_restrictions =
 smtpd_etrn_restrictions =

 smtpd_helo_restrictions = 
 permit_mynetworks,
 check_helo_access哈希:/ etc / postfix / helo_access,
 permit_sasl_authenticated,
 warn_if_reject reject_non_fqdn_hostname,
 reject_invalid_hostname,
许可证

 smtpd_recipient_restrictions =
 permit_sasl_authenticated,
 reject_unauth_pipelining,
 permit_mynetworks,
 reject_non_fqdn_recipient,
 warn_if_reject reject_unknown_sender_domain,
 reject_unknown_recipient_domain,
 reject_unauth_destination,
 warn_if_reject reject_unknown_helo_hostname,
 check_policy_service inet:127.0.0.1:10023,
 check_policy_service unix:private / policy-spf,
许可证

 smtpd_relay_restrictions =
 permit_mynetworks,
 permit_sasl_authenticated,
 defer_unauth_destination

 smtpd_restriction_classes =

 smtpd_sender_restrictions = 
 permit_sasl_authenticated, 
 permit_mynetworks, 
 warn_if_reject reject_non_fqdn_sender, 
 reject_unknown_sender_domain, 
 reject_unauth_pipelining, 
许可证

我遇到的一个问题是bl.sorbs.net检测到一些微软的IP地址为垃圾邮件。

任何types的提示和build议,欢迎。

非常感谢!

permit_sasl_authenticated users放在第一或第二位几乎总是限制谁可以通过您的服务器进行中继的正确方法。 有一个适当的mynetworks设置也是可取的,对于那些做适当的身份validationsmtp可能不简单或现实的系统。 通常这将是让您的networking服务器通过您的邮件服务器,以及其他类似的情况。 您还可以考虑将您的限制放在smtpd_recipient_restrictions ,只是使用smtpd_helo_restrictions来拒绝无效的主机名,同时也删除smtpd_client restrictions除了check_client_access正则表。

在多个smtpd_*中重复相同的限制绝对没有意义。 所有这些选项都是初始SMTP对话的一部分,只是不同的部分(客户端是连接,HELO是问候语,发件人是邮件FROM :,中继和收件人是RCPT TO,数据是消息,数据结束是消息的结尾)之后重复它们是浪费周期。

至于黑名单,你有2个select,首先是按照你现在的做法,让后缀决定接受或拒绝基于BL回复的消息,可能会删除造成太多误报的消息。 其次,你可以设置一个类似灰名单的东西,会拒绝大量的火灾,忘记僵尸(许多人不会重试),让spamassassin决定是否通过垃圾邮件是垃圾邮件(这些规则可以包括黑名单)。 关于spamassassin的好处是你可以调整它,邮件不会被直接拒绝。 但是,这需要时间和注意力。 这也意味着你的服务器将会更加努力。