【Postfix】SMTP Authが必要な中継サーバーを設定する。かつ、送信先ドメインを限定する

こんな感じの環境を想定しています。

<社外メールサーバー>(SMTP Auth必須)
____|____(FW)
<開発環境用メールサーバー>(SMTP Auth不要)
____|____
<開発用サーバー・開発機>

開発環境用メールサーバーが特定ドメインしかメールを転送しないので、ウィルスメールが蔓延してその被害を社外に広げたり、テスト中で社外にメールを送ったりといったことを防げる。社内の開発環境などにお勧め。

以下、CetnOS 5.3で確認しています。


【手順1 中継設定ファイル新規追加】 /etc/postfix/transport

中継サーバーを利用したい(許可したい宛先ドメイン)を書き込みます。

allowdomain.co.jp smtp:relay.mail.jp
.allowdomain.co.jp smtp:relay.mail.jp
wktm.jp smtp:relay.mail.jp
.wktm.jp smtp:relay.mail.jp

形式は
<中継メールサーバー>  <認証ID>:<認証パスワード>

上記の設定では@allowdomain.co.jpと@*.allowdomain.co.jp(つまりサブドメイン)、そしてwktm.jpとwktm.jpのサブドメイン宛のメール送信が許可されます。


【手順2 パスワードファイル新規追加】/etc/postfix/sasl_passwd
SMTP AUTHに使うIDとパスワードを書き込んでおくファイルです。パーミッション注意!

relay.mail.jp      ID:Password

形式は
<中継メールサーバー>  <認証ID>:<認証パスワード>

SMTP Auth用のIDとパスワードの設定を行います。中継メールサーバーが複数ある場合は複数行このファイルに並べて記載します。


【手順3  設定ファイル追記】 /etc/postfix/main.cf
SMTP Authを使うようにPostfixのメイン設定ファイルに追記。

transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

あとは忘れずに以下のコマンドを実行


【手順4 設定反映】

# postmap /etc/postfix/sasl_passwd
# postmap /etc/postfix/transport
# /etc/init.d/postfix reload

以上です。
最 近は仮想サーバー技術でサーバーなど立ち上げたい放題のはず。そういう意味でもやっておいて損はないです。よく「ウチの環境はアンチウィルス対策済みだ」 とか「テストデータなどは常に適切にマスク済みだ」とかいう意見は聞きますが、現実問題、それらの運用が確実に回らずに事故を起こしたという話を、私は数多く 聞いています。人手を信用しては、いけない。

何より私は、自分自身を信用していません。何しろ私のことだから、明日にでもミスを犯すに違いありません。でもこの対策をしておけば安心。

コメントを残す

メールアドレスが公開されることはありません。