web-dev-qa-db-ja.com

不明なクライアントの接尾辞とアクセス制限

後置メールサーバーを構成しようとしていますが、smtpd_reject_unlisted_senderなどのパラメーターに関連する疑問があります。

もちろん、クライアント(例:[email protected])がサーバーのホストされたドメインである "mydomain.com"である場合、そのサーバーをSMTPクライアントMUA(OutlookやThunderbird)、fromとは異なるjohnアドレスからメールを送信しようとすると、リクエストは拒否されます。また、この送信者が他の送信者に属していない限り、不明な「送信者」から送信されたすべてのメールも拒否されます。 「安全な」/「存在する」ドメイン。

どうすればこのようなことを構成できるのかはわかりますが、これらの制限の「スコープ」が何かはわかりません。

具体的な例:smtpd_reject_unlist_senderonに設定し、alice @ gmail.comが[email protected]にメールを送信すると、送信者が不明なため、aliceのメールは拒否されますか?これらのタイプの電子メールを拒否したくありません。また、Postfix構成では、各*_reject_*パラメーター(デフォルト、ホスト型または正規型)が属するアドレスクラスを指定しません。

3
Peregring-lk

Postfixは、着信SMTP接続のさまざまな「段階」で評価できるいくつかの「チェック」を提供します。 「チェック」は、「リモートクライアントはSASL認証されていますか?」、「リモートクライアントはFQDN HELOホスト名を提供していますか?」、「リモートクライアントはSMTPパイプラインを要求していますか?」、および「リモートクライアントは一部のRBLにブラックリストに登録されていますか?」または「リモートクライアントは私のIPサブネットの1つから接続していますか」?

このようなチェックは、SMTPトランザクションのさまざまな段階で評価できます。

  • TCP接続が確立されるとすぐに(smtpd_client_restrictions
  • クライアントが「MAILFROM」コマンドを発行したとき(smtpd_sender_restrictions
  • クライアントが「RCPTTO」コマンドを送信したとき(smtpd_recipient_restrictions

他の段階と同様に。

上記の制限/ディレクティブは、次の例のように組み合わせることができます(「...制限は指定された順序で適用されます。最初に一致する制限が勝ちます」) :

smtpd_client_restrictions = 
    permit_sasl_authenticated
    check_client_access hash:/etc/postfix/access 
    check_policy_service inet:127.0.0.1:4466
    warn_if_reject reject_unknown_reverse_client_hostname
    reject_non_fqdn_helo_hostname
    reject_unauth_pipelining 
    reject_invalid_helo_hostname 
    reject_rbl_client bl.spamcop.net 

smtpd_sender_restrictions = 
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    check_sender_access hash:/etc/postfix/sender_access

smtpd_recipient_restrictions = 
    check_policy_service inet:127.0.0.1:10045,
    permit_sasl_authenticated,
    reject_invalid_helo_hostname,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    check_recipient_access hash:/etc/postfix/access_recipient
    permit_mynetworks,
    warn_if_reject reject_unverified_recipient,
    reject_unauth_destination,
    check_policy_service inet:127.0.0.1:2501`

smtpd_client_restrictions」(またはその他の)コンテキストではわからない可能性のある有用な情報を適切にログに記録するために、パラメーター「smtpd_delay_reject = yes」は次のようになります。 「拒否時間」を遅らせるので、他の情報を収集するのに役立ちます(たとえば、受信者は、受信メールの欠落を訴えるエンドユーザーの問題を適切にトラブルシューティングするのに非常に役立ちます)。

Postfixは非常に複雑なシステムであるため、非常に柔軟で強力です。公式Webページ(例: http://www.postfix.org/postconf.5.html )には、多くの情報があります。ところで、次のような便利な構成も含まれています。独自のセットアップの開始点として使用する( http://www.postfix.org/STANDARD_CONFIGURATION_README.html

追伸:どうぞ、この回答を「親切」にしてください...これが私の最初のPOST ;-)

5

smtpd_reject_unlisted_senderは、ローカル送信からのメール、または送信ポートからのsasl認証済みユーザーからのメールを制御するために使用されます。これは、ユーザーの送信メールの別名SMTP FROMアドレスからのエンベロープの存在を、仮想ドメインまたは正規のアドレスと照合します。

1
Tutul