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

ハッシュはリテラル(完全一致)用なので、正規表現または 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/

関連情報