ここ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% ======== ==================================================