Postfixによるスパム対策

具体的にスパムかどうかを判定するのでなく、正しい手順に従わない通信をしてくるサーバーからのメールを受け取らないように設定します。

設定内容

/etc/postfix/main.cfに、smtpd_xxx_restrictionsを設定します。
なお、先に設定したSASLのところにあった$mua_...というパラメータを活かすため、ここではそれぞれの制限をパラメータ化してあります。

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

※設定をデフォルトから変えるので、ここにある行はコメントアウトします。
#smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = example.com

(中略)

# SASL
smtpd_sasl_auth_enable = yes
smtpd_tls_auth_only = yes

# restrictions ここから下を整理しています。
message_size_limit = 30720000
disable_vrfy_command = yes

unknown_hostname_reject_code = 550
unknown_address_reject_code = 550
unverified_sender_reject_code = 550
unverified_recipient_reject_code = 550

smtpd_helo_required = yes

mua_client_restrictions =

mua_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_invalid_helo_hostname
    reject_non_fqdn_helo_hostname
#    reject_unknown_helo_hostname

mua_sender_restrictions =
    permit_mynetworks
    reject_non_fqdn_sender
    reject_unknown_sender_domain
#    reject_unverified_sender

mua_relay_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination

mua_recipient_restrictions =
    reject_non_fqdn_recipient
    reject_unknown_recipient_domain
#    reject_unverified_recipient
    permit

smtpd_client_restrictions = $mua_client_restrictions
smtpd_helo_restrictions = $mua_helo_restrictions
smtpd_sender_restrictions = $mua_sender_restrictions
smtpd_relay_restrictions = $mua_relay_restrictions
smtpd_recipient_restrictions = $mua_recipient_restrictions

目次へ戻る