tox*_*lot 6 postfix configuration
上周我一直在学习 Postfix 可以做些什么来帮助减少垃圾邮件。如果我理解正确的不同*_restrictions的配置参数控制时的检查完成,然后限制列表,例如permit_mynetworks和check_client_access控制什么检查。那是对的吗?
如果我理解正确,检查将按以下顺序执行:
那是对的吗?如果我理解正确的话,smtpd_delay_reject不影响检查的顺序,但只影响时拒绝被发送。对?
该smtpd_relay_restrictions配置参数似乎没有被我的Plesk 11服务器上设置。我的 Postfix 版本是 2.8.4。
我还注意到一些检查在不同的配置参数下多次列出。它们是否需要多次列出?
这是我目前的配置:
smtpd_sender_restrictions =
check_sender_access hash:/var/spool/postfix/plesk/blacklists
permit_sasl_authenticated
check_client_access pcre:/var/spool/postfix/plesk/non_auth.re
smtpd_client_restrictions =
permit_mynetworks
smtpd_recipient_restrictions =
permit_mynetworks
check_client_access pcre:/var/spool/postfix/plesk/no_relay.re
permit_sasl_authenticated
reject_unauth_destination
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,那将与此相同:
smtpd_sender_restrictions =
smtpd_client_restrictions =
smtpd_recipient_restrictions =
permit_mynetworks
check_sender_access hash:/var/spool/postfix/plesk/blacklists
permit_sasl_authenticated
check_client_access pcre:/var/spool/postfix/plesk/non_auth.re
permit_mynetworks
check_client_access pcre:/var/spool/postfix/plesk/no_relay.re
permit_sasl_authenticated
reject_unauth_destination
Run Code Online (Sandbox Code Playgroud)
黑名单文件为空。no_auth 文件有这个:
/^/ PREPEND X-No-Auth: unauthenticated sender
Run Code Online (Sandbox Code Playgroud)
和 no_relay 文件有这个:
/^/ PREPEND X-No-Relay: not in my network
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,最后两个将标题添加到所有尚未允许的电子邮件中。
重复检查
当 Postfix 被多次列出时,它是否会再次执行检查?或者 Postfix 知道它已经做过那个检查了吗?如果多次执行检查,那似乎是一种浪费。如果它们没有被多次执行,那么 no_auh/no_relay 头是否在所有情况下都能正确添加?
缺少 smtpd_relay_restrictions
摘自Postfix SMTP 中继和访问控制
注意:2.10 之前的 Postfix 版本没有 smtpd_relay_restrictions。他们在 smtpd_recipient_restrictions 下结合了邮件中继和垃圾邮件阻止策略。这可能会导致意想不到的结果。例如,宽松的垃圾邮件阻止策略可能会意外地导致宽松的邮件中继策略。
另一个摘录:
有些人建议将所有访问限制放在 smtpd_recipient_restrictions 列表中。不幸的是,这会导致访问过于宽松。
所以我不想在 下列出所有限制smtpd_recipient_restrictions,但是在不同限制下有多个限制和相同的检查会让人困惑。它是安全的只使用smtpd_recipient_restrictions和smtpd_relay_restrictions而忽略了客户端,直升机,发送者?
黑名单
那个黑名单不是在名单的前面吗?如果发件人是我网络的一部分并且可以进行身份验证,我真的应该根据发件人电子邮件进行阻止吗?现在该表是空的,但我不确定 Plesk 组件可能会向该表添加电子邮件地址。它还违反了要求 100% 传送到 postmaster@ 和 Abus@ 地址的 RFC。
在 /etc/postfix/main.cf
#smtpd_client_restrictions =
#smtpd_helo_restrictions =
#smtpd_sender_restrictions =
smtpd_relay_restrictions =
permit_mynetworks
check_client_access pcre:/var/spool/postfix/plesk/no_relay.re
permit_sasl_authenticated
check_client_access pcre:/var/spool/postfix/plesk/non_auth.re
reject_unauth_destination
smtpd_recipient_restrictions =
check_recipient_access pcre:/etc/postfix/custom/recipient_checks.pcre
check_client_access cidr:/etc/postfix/custom/sinokorea.cidr
check_sender_access hash:/var/spool/postfix/plesk/blacklists
Run Code Online (Sandbox Code Playgroud)
在 /etc/postfix/custom/recipient_checks.pcre
# Always accept mail to postmaster@ and abuse@
/^postmaster@/ OK
/^abuse@/ OK
# Reject all mail sent to mailapp.ourdomain.com
# except for certain specific recipients
# and bounce messages which may use VERP
if /@mailapp\.ourdomain\.com$/
!/^(?:validuser|anothervalid|bounces(?:\+.+)?)@/ REJECT
endif
Run Code Online (Sandbox Code Playgroud)
我遇到过@在正则表达式中转义的例子。不是什么特殊人物吧?
我提议的配置能实现我想要的吗?
(请注意自己和任何其他阅读此内容的 Plesk 用户 - 可能需要一个 cron 作业来定期恢复对 main.cf 文件的更改,因为某些 Plesk 操作似乎会覆盖此文件。)
无论您做什么,出门前请不要携带以下物品:
smtpd_client_restrictions = reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net
Run Code Online (Sandbox Code Playgroud)
这些已经为我吸引了大部分人。
| 归档时间: |
|
| 查看次数: |
14559 次 |
| 最近记录: |