web-dev-qa-db-ja.com

Postfix:ポート25経由の認証を無効にする

メールサーバーでPostfixおよびIMAPを使用する場合、通常、少なくとも3つのポートが開かれます

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を使用しています

12
Martin Vegter

警告:
メインのメールリレーポートでTLS(暗号化)を無効にし、そのポート経由で送信されたデータをサードパーティのリスナーに送信したり、機内での変更を行ったりするため、リクエストはセキュリティのベストプラクティスに従っていません。以下の答えは要求を満たしますが、ベストプラクティスではポート25接続にもSTARTTLSが必要です

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オプションを調べて、真のTLS接続を強制することもできます(STARTTLS接続ではありません)。

この種の設定はPostfixの設定をいくらか難しくする可能性があることに注意してください(オプションはmain.cfで設定され、次にmaster.cfでオーバーライドされる場合があります)。もう1つのオプションは、Postfixの複数のインスタンスを実行することです。それぞれのインスタンスには、これらのオプションを指定する独自のmain.cf構成ファイルがあります。

14
hrunting