web-dev-qa-db-ja.com

Postfixでは、TLSを25のままにして、TLSとAuthを587以上に強制する方法

一部のドメインでメールサービスをホストしたいと考えています。それらの仮想ドメインについてsqlを参照するようにpostfixを正常に設定しました。私がしたいのは:

  • 25の接続の場合:

    1. リレーを拒否(仮想ドメインの受信者にのみ配信)
    2. Tlsはオプションのままにしますが、クライアントがtlsを実行する場合にのみ認証を提供します
    3. ブラックリストに登録されていないクライアント(たとえば、spamhausからXBL + SBL + PBLを制限する)またはtlsとauthを実行するクライアント(authとtlsで私と認証するように設定されている「友達メールサーバー」)のみを受け入れる
  • 587の接続の場合:

    1. TLSと認証を適用する
    2. 中継を許可します。
    3. ブラックリストに含まれていないクライアントのみを受け入れます(上記のようなブラックリストですが、PBLチェックは省略します)

私の質問:

  • A.上記のpostfixオプションは知っていますが、リスニングポートに基づいてそれらを区別する方法を見つけることができません。

  • B.上記のポリシーを使用して、おそらく正当なクライアントで広く知られている問題に遭遇しますか?

メールサーバーの設定は初めてですが、意味のない質問や質問があれば申し訳ありません(指摘してください)。ありがとう。

9
Paralife

簡単だ、

  1. /etc/postfix/main.cfでは、追加/変更します

    smtpd_tls_security_level=may
    

    そのため、デフォルトでTLSが使用可能になります(ただしオプション)。

  2. 次に、/etc/postfix/master.cfで、パラメーターをオーバーライドして、ポート587(submissionポート)をオーバーライドします。

    submission inet n       -       n       -       -       smtpd
      -o smtpd_tls_security_level=encrypt
    

    これには、すべての送信(ポート587)接続にTLSが必要です。

リレーの拒否に関しては、これがデフォルトです。リレーは、認証されたユーザーと、mynetworksで指定したIPアドレスに対してのみ許可されます。

最後に、main.cfに追加することで、smtpd_recipient_restrictionsにブラックリストを追加できます。

    reject_rbl_client zen.spamhaus.org,

またはあなたが望むどんなブラックリストでも。これらは、リストの最後近く、最後のpermitの直前に表示されます。


最後に一つだけ。スパムを防止する方法の詳細については、 スパム対策-電子メール管理者、ドメイン所有者、またはユーザーとして何ができるかを参照してください

15
Michael Hampton

質問Bの答えはわかりませんが、Aの答えはわかります。

postfixには通常master.cfがあり、多くの場合/etc/postfixで実行中のすべてのプロセスを定義します。そのファイルでは、実行中のpostfixサービスごとに1つのエントリがあるため、ポート25とポート587には2つの異なるエントリがあります。それぞれに対して、smtpdにパラメーターを渡して、異なる設定にすることができます。

それは私のメールサーバーからの例です:

4.3.2.1:25      inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
4.3.2.1:10027   inet  n       -       -       -       -       smtpd
  -o mynetworks=91.190.245.4/32 127.0.0.0/8
  -o smtpd_client_restrictions=permit_mynetworks,reject
3
replay