- - PR -
Postfixで特定のサーバからのみメールを受け付ける
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-25 13:17
初心者ながら社内メールサーバの管理をしております。
この度社内でメールサーバを複数台設置することになりました。 サーバA:受信専用サーバ(既設) サーバB:送信専用サーバ (新設:社内ポリシーを導入のため、自ドメイン宛は全てAへ送る) ※A,B同じネットワーク上、OS:RHEL3、Postfix 2.0.16 社内クライアントは送信メールサーバをBに変更してもらうことにしました。 その際、Aへの送信は拒否(認めない)としたいのです。 「AはBからのみsmtpを許す」という設定はAのmain.cf上で出来るのでしょうか? inet_interfacesやmynetworksの項目をいろいろいじってみましたが うまくいきません。 Bと社外とのやりとりは問題ありません。 初歩的な質問かと思いますが、ご教示願います。 | ||||
|
投稿日時: 2006-07-25 18:59
こんばんわ.
どのように「うまくいかない」のでしょうか? できれば「こうしたらこうなった」という内容を書き込むと, 具体的なやり取りがしやすいかと. Netfilter で内部からの smtp の接続を全て drop してしまうのも ひとつの手段だと思います. 以上,ご参考までに. | ||||
|
投稿日時: 2006-07-26 09:57
まずは、kazさんがおっしゃられているようにFireWallの機能で制限する方法が一つです。 postfixでやるとするならばsmtpd_client_restrictionsあたりでしょうか。 smtpdのアクセス制限のハンドリングはsmtpd_*_restrictionsあたりでやっていることです。 その設定値によってmynetworksなどの設定値を参照しているに過ぎません。まずはそこを理解しましょう。 特定のIPアドレスからの接続のみを許すのなら↓を参考に Postfix の設定 - UCE 制御 smtpd_client_restrictions = hash:/etc/postfix/access reject とやって accessの中身は BサーバのIPアドレス OK として # postmap /etc/postfix/access ですかね。ただし、デフォルトではRCPT TOコマンドの後で制限が評価されるので 接続時に拒否したいなら smtpd_delay_reject = no としましょう。 ただこの設定の場合、実装のまずいメールクライアントではセッションを切らなかったり 予期せぬトラブルが起きるかもしれませんのでお奨めしません。 もし書いている内容が分からない・SMTPの流れを理解されていないのなら下記を参照して下さい。 SMTPでメール送信の舞台裏をあやつる ただ、postfixでやるよりはiptablesなどでfilterをかける方がよりサーバに優しいでしょうね。 postfixが無駄なセッションを張ったり、クライアントのせいでセッションが残ったりしませんし。 フィルタリング内容も難しくないですしね。以下は参考まで。 「習うより慣れろ! iptablesテンプレート集」 _________________ 桃李不言 下自成蹊 | ||||
|
投稿日時: 2006-07-26 11:57
kazさん、anightsさん、ご回答ありがとうございました。
smtpd_client_restrictionsの項目で出来ました。 同項目は参考書等見てもスパム対策のために利用としか載っていなく、 社内限定でも使えることを見落としていました。 inet_interfaces = BのIPアドレス とすると、全てのメールを受け付けなくなってしまうのが不思議でしたが・・・。
今後、他サービスもアクセス制御したいので、参考にさせていただきます。 ありがとうございました。 | ||||
|
投稿日時: 2006-07-26 22:45
こんばんわ.
解決されたようですが念のため.
A でこれをやったのでしょうか? であれば,設定の意味を考えると受け付けなくなって当然ではないかと. |
1