Debian 12 (bookworm) - SMTP サーバ Postfix 受信拒否設定!
Updated:
Debian GNU/Linux 12 (bookworm) 上の SMTP サーバ Postfix で受信を拒否する設定についての記録です。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 12 (bookworm; 64bit) での作業を想定。
- SMTP サーバ Postfix を「Debian 12 (bookworm) - SMTP サーバ Postfix 構築!」の方法で導入済み。
- メールの header や body の内容をチェックしてフィルタリングする設定。
- root ユーザでの作業を想定。
1. 設定ファイル main.cf の編集
コメントアウトされていれば、アンコメントする。
行自体が存在しなければ、追加する。
File: /etc/postfix/main.cf
header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks
2. header のフィルタリング設定
以下は header の Received
に aznavrchol.cz
があれば、そのメールを受信拒否してエラーにする例。
(受信拒否でなく、受信して破棄したければ DISCARD
にする)
File: /etc/postfix/header_checks
/^Received:.*aznavrchol\.cz/ REJECT
Received
の他に、Subject
,From
,X-Mailer-Agent
等、 正規表現 を使用して設定可能。
3. body のフィルタリング設定
以下は body の内容に Bitcoin
or bitcoin
があれば、そのメールを受信拒否してエラーにする例。
※以下、実際の設定内容。(230926 現在)
File: /etc/postfix/body_checks
/.*[Bb]itcoin.*/ REJECT
(受信拒否でなく、受信して破棄したければ DISCARD
にする)
※上記の設定で、メール本文に Bitcoin
や bitcoin
がある場合に廃棄するようになるが、この場合、メールログ解析(後日紹介予定の pflogsumm )の結果メールも廃棄してしまうので、注意。
4. 設定のリロード
# postmap /etc/postfix/header_checks
# postmap /etc/postfix/body_checks
# systemctl reload postfix
これで、 Postfix のみで基本的な header, body のフィルタリングが可能になる。
以上。
Comments