在 Postfix 中将 tld 列入黑名单

在 Postfix 中将 tld 列入黑名单

在我的 postfix 设置中,我想“禁用”来自特定 TLD 域的所有传入邮件(在我的情况下,所有以“.info”结尾的域)。我通常阻止域的方法是使用 中的哈希文件/etc/postfix/rejected_domains,如下所示

[...]
bla.info     REJECT Spam
blubb.info   REJECT More Spam!
[...]

main.cf并且在我的文件中有这样的配置:

# domains to be restricted
smtpd_sender_restrictions = hash:/etc/postfix/rejected_domains
reject_unauth_destinations = hash:/etc/postfix/rejected_domains

我阻止所有信息的想法是将这些规则添加到上述文件中:

*.info  REJECT Toooo much spam
.info   REJECT Toooo much spam

不幸的是,这似乎不起作用。

2.8.5-2~build0.10.04这里在 Ubuntu LTS 10 上使用 postfix 。

答案1

Hash 用于文字(精确匹配),您需要使用正则表达式或 pcre:

作为主宰指出,如果您已经有值,则想要附加这些值,您可以使用以下方法检查现有值

postconf smtpd_sender_restrictions
postconf reject_unauth_destinations

然后你可以用以下方法覆盖它们:

postconf -e smtpd_sender_restrictions=pcre:/etc/postfix/rejected_domains
postconf -e reject_unauth_destinations=pcre:/etc/postfix/rejected_domains

/etc/postfix/rejected_domains 的内容:

/\.info$/           REJECT All Info Domains

进而postfix reload

答案2

smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access hash:/etc/postfix/helo_blacklist
    check_helo_access hash:/etc/postfix/helo_whitelist
    reject_invalid_helo_hostname
    reject_non_fqdn_helo_hostname
    reject_unknown_helo_hostname

在 helo_blacklist 中

info REJECT INFO tld blocked

执行postmap helo_blacklist

服务器如果显示以 info 结尾的 helo 将会收到如下错误:

Helo command rejected: INFO tld blocked;

答案3

与接受的答案不同,smtpd_sender_restrictions不直接取pcre:,而是需要check_sender_access type:table

smtpd_recipient_restrictions = 
    check_sender_access pcre:/etc/postfix/sender_access

然后,/etc/postfix/sender_access可以有:

/\.info$/  550  I do not accept mail from .info
/\.icu$/   550  https://blocked.icu/

相关内容