Postfixとサブドメイン

Postfixとサブドメイン

Ubuntu 20.04 マシンに Postfix をセットアップしました。ただし、サブドメインをどこで使用し、ドメインをどこで使用する必要があるかわかりません。それぞれをmail.example.comと と呼ぶことにしますexample.com

このシステムは null クライアントであり、電子メールを送信しますが、受信はしません ( で を介して実装されていますinet_interfaces = loopback-only) /etc/postfix/main.cf。 からのみメッセージを送信するつもりです[email protected]

  • MX レコードは です@ IN MX 0 mail.example.com
  • 両方のレコードは@Postfixmailサーバーを指します。
  • に記載されている TLS 証明書は、およびを /etc/postfix/main.cf参照しますmail.example.comsmtpd_tls_cert_file=/etc/letsencrypt/live/mail.example.com/fullchain.pemsmtpd_tls_key_file=/etc/letsencrypt/live/mail.example.com/privkey.pem
  • をにsmtp_generic_maps = hash:/etc/postfix/generic書き直します。user@hostname[email protected]/etc/postfix/main.cf
  • masquerade_domains = example.comin を追加して、 inを に/etc/postfix/main.cf置き換えました。 どういうわけか、うまくいきません。 メールは送信者 から引き続き届きます。mail.example.com[email protected]example.com[email protected]

質問は次のとおりです。

  • MX レコードで@は または を使用する必要がありますか?mail
  • TLS 証明書は を参照するmail.example.comか を参照する必要がありますかexample.com?
  • /etc/postfix/genericまず に変換するuser@hostname[email protected]、直接 に変換するか[email protected]?

答え1

現在、これを行う最も正しい方法は、サービス提供用に完全に構​​成された適切なメール サービスにアカウントを作成することですexample.com。(もちろん、これは独自のサーバーでもかまいません。) 次に、ヌル ホストで、メール サーバーを SASL 認証を使用してスマート ホストとしてのみ構成します。

Postfix をこのように設定することは完全に可能ですが (Postfix 自身のマニュアルを含め、多くのマニュアルが存在します)、このような用途には Postfix は過剰だと思います。 の使用を検討してくださいnullmailer。これは、システム通知の発信以外、メールを一切処理しないシステムにまさに適しています。

それが不可能な場合は、次のように DNS を設定します。

  • example.comMX レコードは適切なメール サービスを指します。サブドメインとは関係ありません。
  • nullhost.example.com. MX 10 .、つまり、どこにも指していません。これは、 宛てのメールを一切受信しないという明示的な表示です。nullホストの smtpd サービスを外部接続から保護する場合 (ファイアウォール、listen on only など)、[email protected]これは必須ではありません。ただし、明示的な方が暗黙的なよりも常に優れています。tcp/25localhost:25
  • このヌル ホストは送信者ドメインとして設定されたメールを送信するためexample.com、そのメールはそのドメインの DMARC 設定に従う必要があります。そうでない場合、正しく動作する受信者はメールをドロップします。

この最後のポイント、DMARC は、事態をかなり複雑にする可能性があります。安全に設定されている場合、つまりレコードが のように見える場合_dmarc.example.com. TXT "v=DMARC1; p=reject; pct=100; ..."、ヌル ホストで SPF および DKIM 署名を設定する必要があります。SPF は簡単で、SPF TXT レコードに「a:nullhost.example.com」を追加するだけです。DKIM は難しく、追加の DKIM キー ペアを作成し、セレクター (nullhostおそらくこれで十分) を選択し、その公開ペアを として DNS にインストールするnullhost._domainkey.example.com. TXT "... key data ..."必要があります。次に、対応する秘密キーを使用してヌル ホストで直接署名を構成します (選択したセレクターを使用します)。そのためには、opendkim を使用します。スマート ホストの使用が推奨される方法だと言いましたか?


そして、あなたの質問。

  • あなたはサーバーではありません (このシステムはメールを受信しないはずだとおっしゃっています)。したがって、TLS サーバー証明書は必要ありません。TLS クライアント証明書を使用して設定すれば、スマート ホストまたは TLS 経由で他のサーバーに接続するときにそれを提示できます。しかし、なぜそうする必要があるのでしょうか?
  • 「apex」レコード@ MX(別名)は、example.com. MXexample.comのメートルすべてのバツチェンジャー ( 宛てのメールを受信するシステム[email protected])。サブドメインのメールとは関係ありません。各サブドメインはそれぞれ独自のメール ドメインです。
  • アドレス書き換えの設定方法はあなた次第です。外部から見えるのは最終結果だけです。では、なぜわざわざ 2 つの手順で行う必要があるのでしょうか?

関連情報