Edited at

受けたメールをすべて捨てるSMTPブラックホールサーバの作り方① (updated 2019.6.10)

メールセキュリティプロダクトの開発やテスト、運用をしていると、メール送受信をテストすることが頻繁にあります。その時、どんなメールでもどこからのメールでもどこ宛てのメールでもすべて受け、すべて捨ててくれるブラックホールのようなメールサーバがほしくなります。

ということで、Postfixを使ってSMTPブラックホールサーバを作る方法を紹介します。今回はtransportを利用する方法で行います。


Postfixのインストール

CentOS7.4でyumを使ってインストールしました。


main.cfの設定

/etc/postfix/main.cfを編集します。

変えた項目は以下の通り。あくまで私の設定例です。

myhostname = example.com

mynetworks = 127.0.0.0/8, 172.16.0.0/24
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
local_recipient_maps = (※追加 2019.6.10)

transport_maps = hash:/etc/postfix/transport (※最後に追加)


transportの設定

/etc/postfix/transportを編集します。

変えた項目は以下のとおり。

* discard:discard(※最後に追加)


transportの設定反映

編集した設定を反映させます。

# postmap /etc/postfix/transport


Postfixのreload

postfixをreloadします。

# postfix reload

これで作業は完了です。telnetなどでメールを送ると、mailogに以下のようなPostfixがメールをdiscardしたログが出力されます。

postfix/discard[3765]: BB98CE72A9: to=<test@example.jp>, relay=none, delay=14, delays=14/0.01/0/0, dsn=2.0.0, status=sent (discard TRANSPORT(5))

postfix/qmgr[3593]: BB98CE72A9: removed

注意点はネットワーク設定です。攻撃の対象になることもあるので十分気をつけましょう。

次回はもっとスマートにmaster.cfの設定変更だけでSMTPブラックホールサーバを作る方法を紹介します。

*関連記事

受けたメールをすべて捨てるSMTPブラックホールサーバの作り方②