main.cfファイルのsmtpd_sender_restrictionsパラメータに以下の太字の行を追加する。
smtpd_sender_restrictions = permit_mynetworks, check_client_access hash:/etc/mail/dracd, reject_non_fqdn_sender, reject_unknown_sender_domain, check_sender_access regexp:/etc/postfix/sender_restrictions |
「check_client_access hash:/etc/mail/dracd」は、DRACを使ったPOP-before-SMTP認証で送信した場合に送信者アドレスにかかわらず許可するための指定である。SMTP認証を使う場合は「permit_sasl_authenticated」を指定する。
sender_restrictionsファイルには以下のように記述する。私はgabacho-net.jpとreto.jpの二つのドメインを運用しているので、これらが送信者ドメインであれば蹴るようにする。
/@(.+\.)?gabacho-net\.jp$/ REJECT /@(.+\.)?reto\.jp$/ REJECT |
S25Rをすり抜けられた場合をシミュレートするために、モバイル接続に使っているbmobile.ne.jpを一時的にホワイトリスト登録し、PCをモバイル接続して自分宛のメールを送ってテストした(自分宛なので、第三者中継を禁止するreject_unauth_destination指定には引っかからない)。POP-before-SMTPを行わなければ「554 Sender address rejected」とブロックされ、行えば送信できることが確認できた。
組織サイトでは、この対策を取り入れるかどうかは慎重に検討していただきたい。単純なエイリアス定義によるメーリングリストが他サイトにあって、自サイトのユーザーがそこに投稿したメールが自サイトへ戻って来る場合、そのメールを蹴ってしまうからである。Majordomoやfmlなどのプログラムを使ったメーリングリストでは、送信者アドレス(エンベロープfrom)がメーリングリスト管理者のエイリアスに書き換えられるので、支障はない。今時、サイトをまたがった転送を行うメーリングリストをエイリアス定義だけで作るという危ない運用はあまりないとは思うが、ユーザーがそういうメーリングリストに関わっていないかどうかは確かめた方がよい。
0 件のコメント:
コメントを投稿