postfix メールサーバー運用 spamメール対策

Server

メールサーバーを自前で運用していると、メールの内容が謎の英文のものが送られてくることがあります

しかもこれらはドメイン名の前がrootやpostmasterといったデフォルトのメールアドレスを送信先として送ってきます


スパムまたはフィッシングの可能性

このようなメールは、以下のような目的で送られている場合があります

  • スパムフィルターを回避するための無意味なテキスト(※添付ファイルやリンクと組み合わせて送られてくる場合が多い)
  • AIや文章生成ツールのテストで使われたもの
  • 無作為な文字列によって返信やクリックを誘導しようとするもの

注意点

  1. リンクや添付ファイルを絶対に開かない
  2. 返信しない
  3. 迷惑メールとしてマークする(GmailやThunderbirdなどで可能)
  • 宛先ドメイン名の前が root
    • これは典型的に Linuxサーバーの管理者アカウント(rootユーザー) 宛のメール
    • 通常、システムメッセージスパム・ボットのターゲットとして使われがち

宛先がusername@(独自ドメイン)のものだけ受信する方法

多くのメールサーバーでは root@ にメールが届く設定がデフォルトで有効になっている場合があります
username@独自ドメインだけ受信し、それ以外(たとえば root@ や postmaster@ など)は拒否または破棄したい場合、Postfixでの制限が可能です

以下に Postfix の設定で「特定アドレスのみ許可」する方法 を分かりやすく説明します


1.Postfixで宛先制限を設定する

1. /etc/postfix/virtual を使ってバウンス制御する

/etc/postfix/virtual は、Postfix における「仮想エイリアスマッピング(virtual alias mapping)」を定義するファイルです
これは、あるメールアドレス宛てのメールを、別のアドレスへ転送する設定に使われます

sudo nano /etc/postfix/virtual

以下を記述します

[email protected]    username
@go-pro-world.net            error:User unknown

go-pro-world.net は独自ドメインに置き換えてください

[email protected] username
 → username 宛のメールは受信を許可

@go-pro-world.net error:User unknown
 → その他 go-pro-world.net ドメイン宛のすべてのメールはバウンス
 (root@, postmaster@, unknownuser@ などすべて)

宛先アドレス転送先アドレスやエラー処理の間は、1個以上のスペースまたはタブで区切れば OK です


2.マップファイルを作成

以下のコマンドで/etc/postfix/virtual.dbというバイナリデータのファイルが作成されます

sudo postmap /etc/postfix/virtual

Postfix は処理速度のために、テキストファイルではなく バイナリ形式のデータベースファイルを使います
だから、テキストで仮想アドレスマッピングを編集したあとに、必ず postmap で変換する必要があります
内容を更新したときも同じコマンドで何回でも上書き出来ます


3./etc/postfix/main.cf に追記

sudo nano /etc/postfix/main.cf

以下を追記(または既存の smtpd_recipient_restrictions に追加)

smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    virtual_alias_maps = hash:/etc/postfix/virtual,
    reject_unauth_destination

上記設定では、リストにあるアドレスだけを受け入れ、それ以外はすべてバウンスします


4.Postfixを再起動

sudo systemctl restart postfix

2.動作確認

これで指定したユーザー名以外へのスパムメールを受け取らずバウンスさせることができます

コメント