- PR -

Postfixで特定のサーバからのみメールを受け付ける

1
投稿者投稿内容
ozawasam
会議室デビュー日: 2006/01/23
投稿数: 7
投稿日時: 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と社外とのやりとりは問題ありません。
初歩的な質問かと思いますが、ご教示願います。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-07-25 18:59
こんばんわ.
引用:

ozawasamさんの書き込み (2006-07-25 13:17) より:

「AはBからのみsmtpを許す」という設定はAのmain.cf上で出来るのでしょうか?
inet_interfacesやmynetworksの項目をいろいろいじってみましたが
うまくいきません。


どのように「うまくいかない」のでしょうか?
できれば「こうしたらこうなった」という内容を書き込むと,
具体的なやり取りがしやすいかと.

Netfilter で内部からの smtp の接続を全て drop してしまうのも
ひとつの手段だと思います.

以上,ご参考までに.
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2006-07-26 09:57
引用:

ozawasamさんの書き込み (2006-07-25 13:17) より:
inet_interfacesやmynetworksの項目をいろいろいじってみましたが
うまくいきません。



まずは、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テンプレート集」
_________________
桃李不言 下自成蹊
ozawasam
会議室デビュー日: 2006/01/23
投稿数: 7
投稿日時: 2006-07-26 11:57
kazさん、anightsさん、ご回答ありがとうございました。

smtpd_client_restrictionsの項目で出来ました。
同項目は参考書等見てもスパム対策のために利用としか載っていなく、
社内限定でも使えることを見落としていました。

inet_interfaces = BのIPアドレス
とすると、全てのメールを受け付けなくなってしまうのが不思議でしたが・・・。

引用:

anightsさんの書き込み (2006-07-26 09:57) より:

ただ、postfixでやるよりはiptablesなどでfilterをかける方がよりサーバに優しいでしょうね。
postfixが無駄なセッションを張ったり、クライアントのせいでセッションが残ったりしませんし。



今後、他サービスもアクセス制御したいので、参考にさせていただきます。
ありがとうございました。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-07-26 22:45
こんばんわ.

解決されたようですが念のため.
引用:

ozawasamさんの書き込み (2006-07-26 11:57) より:

inet_interfaces = BのIPアドレス
とすると、全てのメールを受け付けなくなってしまうのが不思議でしたが・・・。


A でこれをやったのでしょうか?
であれば,設定の意味を考えると受け付けなくなって当然ではないかと.
1

スキルアップ/キャリアアップ(JOB@IT)