Postfixで、TLSを25のままにする一方で、587を超えるTLS +認証を適用する方法


9

一部のドメインでメールサービスをホストしたいと考えています。それらの仮想ドメインについて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.上記のポリシーを使用して、おそらく正当なクライアントで広く知られている問題に遭遇しますか?

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

回答:


15

簡単だ、

  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が必要です。

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

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

    reject_rbl_client zen.spamhaus.org,

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


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


おかげで、ぼやけている点が1つだけあります。ポート25では、クライアントが認証されているかどうかに関係なく、無条件に中継を拒否します。
パラライフ2013

デフォルトでは、ポート25での認証は無効になっています。しかし、確認するために、それがsmtpd_sasl_auth_enableあなたの中にないこと、そしてあなたmain.cfsmtpセクションにそれが存在しないことを確認してくださいmaster.cf(しかしそれyessubmissionセクションに設定する必要があります)。master.cf似ているはずです、これを
マイケルハンプトン

正解ですが、25でオプションのauth + tlsを有効にしたいのですが、25でリレーしたくないだけです。基本的に、誰かがどのように接続するかについては寛大になりたいですが、リレーは非常に厳格です(すべてのリレーを拒否)。中継が587で行われ、クライアントがtls経由で認証されない限り、中継は許可されません。その他の組み合わせは、リレーを拒否する必要があります。たぶん、smtpd_relay_restrictionsからpermit_sasl_authenticatedを削除し、master.cfの587のオーバーライドのみに配置します。ありがとう。
パラライフ2013

人々は25で認証を試みることすら想定されていません。必要に応じて認証を有効にすることができますが、実際はそうしないでください。
マイケルハンプトン

3

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

postfixには通常、master.cf実行中のすべてのプロセスを定義する場所があり、多くの場合は/etc/postfixです。そのファイルには、実行中のpostfixサービスごとに1つのエントリがあるため、port 25とport には2つの異なるエントリがあります587。それぞれにパラメータを渡して、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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.