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 の Receivedaznavrchol.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 にする)

※上記の設定で、メール本文に Bitcoinbitcoin がある場合に廃棄するようになるが、この場合、メールログ解析(後日紹介予定の pflogsumm )の結果メールも廃棄してしまうので、注意。

4. 設定のリロード

# postmap /etc/postfix/header_checks
# postmap /etc/postfix/body_checks
# systemctl reload postfix

これで、 Postfix のみで基本的な header, body のフィルタリングが可能になる。


以上。





 

Sponsored Link

 

Comments