メールサーバーで使用すると、通常3つ以上のポートが開いていますPostfix
。IMAP
25 smtp : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap : imap for authorized users
承認されたユーザーが465を介してのみ電子メールを送信できるようにpostfixを設定したいと思います。デフォルトではそうではありません。ユーザーはポート25を介してSTARTTLSを使用することもできます。無効にしたいです。
私の計画は、公衆が私に電子メールを送信するときにポート25を使用することです。
私のユーザーにポート465を使用する(ファイアウォールを使用して特定のIP範囲を許可するか、カスタムポートを使用できます)
これにより、ハッカーがユーザー/パスワードを推測しようとする無差別代入攻撃によってポート25が悪用されるのを防ぎます。ポート25は、ユーザー/パスワードが有効であってもまったく許可しません。そして、ポート465はファイアウォールによって制限されているため、ハッカーはポート465を使用できません。
Postfixでこれは可能ですか?
Debian WheezyでPostfix 2.9.6-2を使用しています。
答え1
警告する:
デフォルトのメールリレーポートでTLS(暗号化)を無効にして、そのポートを介して送信されたデータがサードパーティのリスナーおよび/または進行中の変更にさらされているため、この要求はベストセキュリティケースに従いません。以下の回答はリクエストを実行しますが、ベストプラクティスではSTARTTLSを使用するにはポート25接続も必要です。
このmaster.cf
ファイル(通常/etc/postfix/master.cf
)は特定のPostfixサービスの起動と設定を制御します。ドキュメントによると、このファイルの同様の構成で目的の操作を実行できます。
smtp inet n - - - - smtpd
-o smtpd_tls_security_level=none
-o smtpd_sasl_auth_enable=no
smtps inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
この設定は、認証とポート 25 の STARTTLS オプションをオフにします。ポート465でSTARTTLSオプションをオンにし、STARTTLSを要求し、認証を有効にし、認証された場合にのみクライアント接続を許可します。
smtpd_tls_wrappermode
STARTTLS接続ではなく実際のTLS接続を強制するオプションを確認することもできます。
この設定により、Postfix設定に従うのが少し難しい場合があります(オプションはで設定してmain.cf
から上書きできますmaster.cf
)。別のオプションは、Postfixの複数のインスタンスを実行することです。各インスタンスには、これらのオプションを指定する独自の構成main.cf
ファイルがあります。