ここ1年、受信するスパムがとんでもない量になってきて限界を感じたので、いまさらながら研究室のメールサーバの設定を変更したのでメモ。もっと早く対応しておくべきだった。
環境
% cat /etc/debian_version 10.5 % postconf | grep mail_version mail_version = 3.4.14
SMTP AUTHも導入している
スパム対策関連設定
/etc/postfix/main.cf に記載する。
# HELOコマンド実行時の設定
smtpd_helo_required = yes
smtpd_helo_restrictions =
permit_mynetworks
reject_invalid_helo_hostname
reject_non_fqdn_helo_hostname
# 転送要求への対応。第3者からの転送依頼を拒否する設定
smtpd_relay_restrictions =
permit_mynetworks #ローカルネットワークを許可
permit_sasl_authenticated # SASL認証による認証を通れば許可
defer_unauth_destination # サブネットかメールサーバ上のアドレス以外不許可
# RCPT TO コマンド実行時(メールの送り先)の設定。
smtpd_recipient_restrictions =
permit_mynetworks #ローカルネットワークを許可
permit_sasl_authenticated # SASL認証による認証を通れば許可
reject_unauth_destination # サブネットかメールサーバ上のアドレス以外不許可
reject_non_fqdn_recipient # 送信先メールアドレスがRFC で要求されているようなFQDNではない場合に不許可
reject_unknown_recipient_domain # 送信先メールアドレスのドメインが存在しない場合不許可
reject_unverified_recipient # 信先メールアドレスが不達やバウンスメールが帰ってくることがわかっている場合に不許可
# MAIL FROM コマンド実行時(メールの送り元)の設定。
smtpd_sender_restrictions =
permit_mynetworks #ローカルネットワークを許可
check_sender_access hash:/etc/postfix/reject_sender # 特定の送信メールアドレスを不許可にするフィルタ
reject_unknown_sender_domain # 送信元ドメインが存在しない場合に不許可
reject_non_fqdn_sender # 送信元メールアドレスがRFC で要求されているようなFQDNではない場合に不許可
#
smtpd_client_restrictions =
permit_mynetworks
reject_unknown_reverse_client_hostname
check_client_access pcre:/etc/postfix/client_access
reject_unknown_client_hostname
smtpd_data_restrictions =
permit_mynetworks
reject_unauth_pipelining
ログによると上記を設定して4時間強で400件超のスパムメールをRejectしている。 smtpd_relay_restrictionsは昔からやっていたけど、その他はもっと早く試みるべきだった。
追記(対策実施前と実施後の違い)
logwatchの結果をみてみる。8/4 (対策実施前)
--------------------- Postfix Begin ------------------------
943 SASL authentication failed 943
142 Miscellaneous warnings 142
14.840M Bytes accepted 15,561,083
26.408M Bytes sent via SMTP 27,690,372
32.532M Bytes delivered 34,112,589
26.759M Bytes forwarded 28,058,426
======== ==================================================
559 Accepted 86.94%
84 Rejected 13.06%
-------- --------------------------------------------------
643 Total 100.00%
======== ==================================================
71 5xx Reject relay denied 84.52%
13 5xx Reject unknown user 15.48%
-------- --------------------------------------------------
84 Total 5xx Rejects 100.00%
======== ==================================================8/6(対策後)
--------------------- Postfix Begin ------------------------
1997 SASL authentication failed 1,997
120 Miscellaneous warnings 120
19.148M Bytes accepted 20,078,220
13.604M Bytes sent via SMTP 14,265,131
20.858M Bytes delivered 21,871,057
15.200M Bytes forwarded 15,938,582
======== ==================================================
173 Accepted 33.79%
339 Rejected 66.21%
-------- --------------------------------------------------
512 Total 100.00%
======== ==================================================
20 5xx Reject relay denied 5.90%
1 5xx Reject HELO/EHLO 0.29%
318 5xx Reject client host 93.81%
-------- --------------------------------------------------
339 Total 5xx Rejects 100.00%
======== ==================================================
60 4xx Reject recipient address 3.65%
9 4xx Reject sender address 0.55%
1577 4xx Reject unknown reverse client host 95.81%
-------- --------------------------------------------------
1646 Total 4xx Rejects 100.00%
======== ==================================================