複数のドメインを持つ postfix サーバーがあり、それぞれに特定の証明書が必要です。私のサーバーには IP が 1 つしかありません。
複数の IP を使用した解決策を見つけましたが、それがない場合は、これを行う方法がわかりません。
- サーバー: Debian 9
- ポストフィックス: 3.1.8
答え1
私の知る限り、postfix で動作する SNI はまだありません。ドキュメント (http://www.postfix.org/TLS_README.html) は「Postfix SMTP サーバーに SNI を実装する予定はありません」と述べていますが、Victor は 1 月に postfix 3.4 に SNI サポートを追加したいと述べていました。代替案:
- 複数の IP
- すべてのドメイン名を含む証明書。
また、すべてのドメインに同じ MX を使用することは問題ありません。MX ホスト名はサービス ドメインなどです。また、helo/ehlo 名は同じ/類似のホスト名に構成されます。GoogleApps やその他の主要なメール プロバイダーにとって良いことなら、私たちにとっても良いことです。
答え2
Postfix >=3.4を使用している場合は、以下の手順を適応させて検討してください。このリンクから:
ステップ1: 先頭の 2 行をコメント アウトし、次の行を /etc/postfix/main.cf に追加します。
# smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
# smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
# provide the primary certificate for the server, to be used for outgoing connections (note the indentation)
smtpd_tls_chain_files =
/etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem,
/etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem
# provide the map to be used when SNI support is enabled
tls_server_sni_maps = hash:/etc/postfix/vmail_ssl.map
ステップ2: 以下の内容で /etc/postfix/vmail_ssl.map ファイルを作成します。
# Compile with postmap -F hash:/etc/postfix/vmail_ssl.map when updating
# One host per line
mail.yourprimarymailserverdomain.com /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem
mail.yoursecondarymailserverdomain.com /etc/letsencrypt/live/mail.yoursecondarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yoursecondarymailserverdomain.com/fullchain.pem
# add more domains with keys and certs as needed
ステップ3: 走るpostmap -F hash:/etc/postfix/vmail_ssl.map
。
ステップ4: 走るsystemctl restart postfix
。
ステップ5: ドメインの SSL をテストします。ドメインごとに、次のコマンドを実行します。openssl s_client -connect localhost:25 -servername mail.mydomainname.com -starttls smtp
答え3
知らない人のために説明すると、SNIテーブルは証明書が変更されるたびに再構築する必要があります。これは、postmap -F
ファイルをインポートする基礎となるテーブルが生成されるためです。コンテンツ(ファイル名への参照を保存するだけではありません)。
postmap -F hash:/etc/postfix/tls_server_sni_maps.map
答え4
Postfix バージョン 3.4 では SNI がサポートされるようになったため、たとえば Ubuntu 19.10 でも利用できるようになります。
また、これを望むのには十分な理由があります。Outlook などのクライアントは、メールのドメイン名と一致するサーバー名を使用して自動構成を試みます。メール アカウントが Gmail または別の共有ドメインにある場合は問題ありませんが、複数のドメインを持つサーバー (VPS であっても) でホストされている個人ドメインには、次のようなソリューションが必要です。