質問: reject_unknown_helo_hostname, reject_invalid_helo_hostname それでも、ポート25に接続することは可能です。mail from: foo@mydomain.com rcpt to: bar@mydomain.com認証なし。
回答: postfixのメッセージ送信サービス(ポート587で)を有効にすると、「メッセージ送信からメッセージ送信を分離し、各サービスが独自のルール(セキュリティ、ポリシーなど)に従って動作できるようにします」( rfc 4409 )。この構成では、正当なユーザーがメッセージの送信にポート587を使用するために認証する必要があるため、ポート25経由で送信された偽装された未認証のメールを安全に拒否できます。ポート587で(sasl認証済み)メッセージ送信を有効にするには、次のようなセクションをpostfixのmaster.cfに追加します。submission inet n - n - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_sasl_security_options=noanonymous -o smtpd_sasl_local_domain=$myhostname -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_login_maps=hash:/etc/postfix/virtual -o smtpd_sender_restrictions=reject_sender_login_mismatch -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject ( ソース )次に、postfixが特定の送信者に応答する方法を指定する postfixアクセステーブル (/ etc/postfix/accessに)を作成します。allow_this_for_some_reason@mydomain.com ok keep_in_hold_queue@mydomain.com hold mydomain.com reject 詳細は access manページ を参照してください。アクセスファイルでpostmapを実行します(インデックス付きルックアップテーブルを作成するため)。postmap /etc/postfix/access main.cfに適切な 送信者の制限 を追加します。smtpd_sender_restrictions = permit_sasl_authenticated, check_sender_access hash:/etc/postfix/access 最後に、新しい設定をリロードします。 debianベースのシステムでは、これは以下を使用して行われます。sudo service postfix reload