Linux

【linux】スパムメールをPostfixのメールヘッダーでフィルタリング

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

ここ最近スパムメールが2~3倍に増えてきているという話があり、どのようなメールなのか直近3週間程度のspamメールを分析。
メールの内容を主にパターン別にすると、数種類に分類する事ができそうです。

スパムメールがほぼ同じ内容でも、ほとんどの場合は送信元サーバーIPアドレスが異なります。
メールアドレスや送信元IPアドレスでフィルタリングするよりも、件名で除外させる方が今は効率的です。

環境は、Ubuntu.20.04、Postfix3.4.13です。

設定方法

1:メールヘッダーのチェックを有効にする
2:除外設定をする

メールヘッダーのチェックを有効にする

main.cfの中のheader_checksを有効になっているのか確認する。

sudo vi /etc/postfix/main.cf
初期値ではコメント化されているので、#をはずす。
header_checks = regexp:/etc/postfix/header_checks

除外設定をする

除外設定は、先ほどのheader_checksに記述しているファイルです。
sudo vi /etc/postfix/header_checks

記述方法は、
/^Subject:除外定義/ REJECT
注意点として、全角の場合はエンコードが必要です。
エンコードはNKFコマンドでも可能ですが、ツールを利用すると手間も間違いもありません。


1:spamという文字列の件名をREJECTする。
/^Subject:spam/ REJECT
2:spamという文字列を含む件名をREJECTする。
/^Subject:.*spam.*/ REJECT
3:SPAMという全角文字列を含む件名をREJECTする。
UTF-8をBase64でMIMEにエンコード
(正規表現なのでエスケープが必要な文字が含まれていたら\を入れる事が必須になります)
/^Subject:.*=\?UTF-8\?B\?77yz77yw77yh77yt.*/ REJECT

上記例は全てREJECTにしていますが、テスト終了後はDISCARDでメールは破棄した方がいいでしょう。

まとめ

実運用した結果、スパムメールが激減してかなり効果があります。
但し必要なメールが削除される件名に対して指定はできないので、そのような場合は本文チェック(body_checks)の併用の検討も必要でしょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

ブログ記事について

記事は毎週月曜日午前中に発信!(私感/私考カテゴリについては随時)
多数の投稿記事は、メニューや検索機能で目的の記事に辿る事が可能です。
コメントや下記支援のご協力をお願い致します。

公式ホームページについて

当ブログではITエンジニア関連のテクニカルな事、そして様々な商品のレビュー記事を公開しています。
一方ホームページでは、それ以外の少しビジネス寄り(企業や個人事業主向け)のサービスや情報を発信します。

該当される方、ご興味のある方はホームページの方もご参照ください。

コメントを残す

*