domain.com
宛てのメールを特定のGmail/Hotmailアカウントに転送するPostfixを使用して仮想メールサーバーを実行しています。この同じサーバーはメールリレーとしても機能し、saslauthd
を使用して、パーティがdomain.com.
でログインしてメールを送信できるようにします。
現在、このメールリレーはTLS経由のポート25でのみ機能します(たとえば、Gmailで送信専用のメールアドレスを作成することでアクセスできます)。ポート25を使用する代わりに、この目的でポート587を開く必要がありますか?その場合、ポート25を介したメールリレーアクセスを無効にする必要がありますか(スパムを減らすために587が25を超えて使用されていることを読んだため)?
どうすればこれを行うことができますか? Postfixのmaster.cf
にsubmission
ポートを追加するのと同じくらい簡単ですか?
submissionポート587
はスパムを減らすために直接使用されませんが、別のポートの必要性はスパムとの戦いから生じます。SMTPポート25
は通常すべてのコンシューマーグレードのインターネット接続、および電子メールサーバーを持たない他のすべてのネットワークでISPによって閉じられます。これにより、感染したコンピューターが受信サーバーと直接通信できなくなりますが、副作用として、認証されたユーザーがリレーを使用できなくなります。 「すべきか」という質問への答えは、ユーザーがこれらの問題に直面しているかどうかによって異なります。それはおそらくはいです。
余談ですが、送信に別のポートを使用すると便利になる他の理由があります。この種の設定では、送信メールにポート25
をまったく使用しないため、SMTPと送信に別々の設定(例:smtpd_sender_restrictions
/smtpd_recipient_restrictions
)を使用できます。
25
の受信メールの場合、通常、SPF、DMARC、DNSBLなどの多くのチェックを実行します。これらのチェックは、認証された接続ではあまり役に立ちませんね。 submissionでそれらをスキップすることができます。
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_unauth_pipelining,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
. . .
check_policy_service unix:private/policy-spf,
reject_rbl_client sbl-xbl.spamhaus.org,
. . .
permit
受信者の制限?!これらのほとんどは実際にはsenderの制限ですが、デバッグ情報の詳細については、SMTPコマンドRCPT TO
の後にのみ起動するのが好きです。誤検知について。
587
での電子メール送信の場合、認証されたユーザーに対してさまざまな種類のチェックが必要になる場合があります。 (これらの設定はmaster.cf
に移動し、main.cf
の設定を上書きします。最初にSASL認証を有効にします。この構成は、SASLプロバイダーによって異なるため、未完了です。 Dovecot? )
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
. . .
すべてのユーザーが他のユーザーに代わってメールを送信できるようにしたくないですか?これは、DKIMがメッセージに署名する場合に特に重要です。アドレスを特定のユーザー名にバインドすることが可能です。次の例では、これらのアドレスとユーザー名のペアは、ここでも使用できる形式でvirtual_alias_maps
に対してすでに定義されていますが、ローカルメールボックスがないため、セットアップには別のマッピングが必要になる可能性があります。
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
. . .
次に、ポートsmtpd_recipient_restrictions
の25
でその種のドメインからメールを受信したくないのと同じように、存在しないドメインなどへのメールを受け入れたくありません。それだけで、彼らは実際に受信者のアドレスをテストします。同じ行で(改行は単にフォーマット用です)、認証されていないものをすべて拒否することでSASL認証を適用できます。
-o smtpd_recipient_restrictions=reject_non_fqdn_recipient,
reject_unknown_recipient_domain,permit_sasl_authenticated,reject
. . .