メールセキュリティプロダクトの開発やテスト、運用をしていると、メール送受信をテストすることが頻繁にあります。その時、どんなメールでもどこからのメールでもどこ宛てのメールでもすべて受け、すべて捨ててくれるブラックホールのようなメールサーバがほしくなります。
ということで、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ブラックホールサーバの作り方①
[受けたメールをすべて捨てるSMTPブラックホールサーバの作り方②]
(https://qiita.com/qualitia_cdev/items/85aaffcd5fddae5afb4c)
[受けたメールをすべて捨てるSMTPブラックホールサーバの作り方③ - Dockerを使う]
(https://qiita.com/qualitia_cdev/items/7f165e5f7e62e46ebe2b)