テスト時や、構築中のメール送信が意図しないユーザーに送られたり
間違ったメールを送信しないようにしたい。
ベンダーによってはFWはいじれなかったり、FQDNでの定義ができなかったりする。
iptablesでもいいが、iptablesはFWの保険的な役割にしたく、細かい制御をおこないたくない。
そんな環境だったのでよく利用するPostfixサーバ側で制御できないかと調べてみた
さすがPostfix、きちんと制御できるしくみがあったのでメモ。
どのドメイン宛のメールをどのドメインのメールサーバに送るかという形で制御する
# vi /etc/postfix/transport hogehoge.com :hogehoge.com * :[127.0.0.1]
上記記述の場合、hogehoge.com宛のメールはhogehoge.comのMXレコードに対して送信する
それ以外「*」の場合、127.0.0.1宛、つまりローカルへ転送する。
少し、イメージしていた送信メール制限とは違うが
より細かく、送信するドメイン単位で制限をかけれた。
詳しくはPostfixのドキュメントを見ていただければと思う
Postfix - transport(5)
作成した転送ルールをハッシュ化し
# postmap transportPostfixに設定を追記し、反映させて完了
# vi main.cf transport_maps = hash:/etc/postfix/transport # postfix check # postfix restart
mailコマンド等で試してみれば、問題なく飛ぶことが確認できると思う
また定義していないドメイン宛にメールを飛ばそうとすると
飛ばずにサーバローカルへリレーされるのが確認できる。
しかし、この方法の場合、定義以外の宛先メールを「127.0.0.1」としているため
メールログを目ればわかるが、内部リレーループとなってしまい
ログ上はアラーととなり、ループしているため結果破棄されるという
少し力技感が否めないので
やはりFW等で制御したほうがいいのかな・・・
他に上手いやり方をご存知でしたら教えてください。
Kyle D. Dent
オライリージャパン
売り上げランキング: 316,736
オライリージャパン
売り上げランキング: 316,736
0 コメント:
コメントを投稿