2014年5月30日金曜日

アエテ自ラノ恥ヲ晒シテ世ノ役ニ立タントス:Postfixで認証済みホストからの中継を許可

・・・こんにちは。
表題の通りです。以上。


じゃーなくて。
実はPostfixで、OP25Bの対策をしようと、サブミッションポートを有効にしてたんですが。
社内のLANからは無事ポート587で送信できて、やれやれと思っていたら・・・

「外出先から、自社ドメイン以外にメール送信できないんだけど」

( ゚Д゚)

えーでもmaster.cfでサブミッションポート有効にしただけだし、
main.cfも特におかしなことはしてないはず・・・

(と、色々悩み苦しんで半日経過)

で、ふと、さっき気が付いて。
smtpd_recipient_restrictions」の設定が、こんなんなってました。

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

自分のネットワーク($mynetworks)からのクライアントのメールを許可、・・・
・・・ん?せっかくSMTP認証させてるんだから、別に認証通ったらメール送信許可して良くね?

で、試しに以下のようにしてみたら。

smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, reject

・・・。通った。何事もなく。俺の半日なんだったー!!( ;∀;)

でもちゃんと調べたら書いてあった。
http://www.postfix-jp.info/trans-2.1/jhtml/postconf.5.html

「リモートの SMTP クライアントが認証されると、リレーアクセスを許可するのに 次のように permit_sasl_authenticated アクセス制限が使えます:
smtpd_recipient_restrictions =
permit_mynetworks, permit_sasl_authenticated, ...」
調査大事。勉強大事。あわてるよくない。


・・・そもそもデフォルト「permit_mynetworks」って書いてあるんすけど・・・ま、そりゃそうだけど・・・

14:55追記:
怖いからー♪最後にー♪「reject」、つけたったー。

2014/06/03 追記
なんかDenyHostからのメールが届かないにゃー、とか思ってたら、「permit_mynetworks」がなかった。そりゃ無理だわ。
というわけで、今こんな感じ。

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject

permit_*って複数いけるのね。ってか、複数いっちゃいけないなんでどこにも書いてなかった。ぎゃふん。


0 件のコメント:

コメントを投稿