postfixの設定を少し調整した

dovecotのerror.logのこのようなログが残る。
これは以前からずっとである。

これ何とかならないかと悩んでいた。

postfix側で行われている、こいつらが原因だろうからだ。

そう、submissionに対するピンポンダッシュである。

そこでGeminiさんに聞いた「直接submissionを叩いているので、『unknownには認証まで通させない』ってpostfix側で定義できると良いのだけれどね」と。
知恵ミニさんの答えとして二つ提示されたんだ。

postfix側で「認証を試みる前に、接続元が信頼できるか判断する」という点において、おっちゃんさんの現在の運用に加えて、以下のようなアプローチが「にわ管流」の調整として相性が良いかもしれません。
1. smtpd_client_restrictions の順序と reject_unknown_client_hostname
もし未設定であれば、main.cf の smtpd_client_restrictions の一番最初の方に、厳しめのフィルタを置くのが定石です。
2.smtpd_helo_required = yes
これも基本ですが、重要です。

Geminiさんの提案と、こちらは要望や疑問点と応答していくと結構理解も進む。
結果。

まずは順番。
最初にsmtpd_client_restrictionsが動く。ここでアクセスしてきた相手のip絡みの確認がされる。
次にsmtpd_helo_restrictionsが動く。ここで更に先の相手の情報を確かめてゆき、最後に認証となる。

smtpd_client_restrictionsは、先に確定者(OK or reject)を選別する。
permit_mynetworks, #自分のネットワークはOK
hash:/opt/local/etc/postfix/access,    #ここにはOKとREJECTのドメインが書かれている
cidr:/opt/local/etc/postfix/access_cidr, #ここには通すべきip & ip rangeが書かれている
cidr:/opt/local/etc/postfix/reject_cidr, #ここには排除するべきip & ip rangeが書かれている
それから、これを追加。
reject_unknown_helo_hostname, #ホスト名が不明なものは排除(今回の目玉)
unknown[107.155.15.206]みたいのが認証動作前に落とされる。
最後に漸く認証確認(permit_sasl_authenticated)に入るので、unknownがdovecot認証することはできない。
これでdovecotのerror.logはだいぶ静かになるだろう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)