web-dev-qa-db-ja.com

1つのIP上のPostfix、マルチドメイン、マルチ証明書

私は複数のドメインを持つpostfixサーバーを使用しており、それぞれに特定の証明書が必要です。私のサーバーにはIPが1つしかありません。

マルチIPのソリューションを見つけましたが、これを行う方法がわかりません。

  • サーバー:Debian 9
  • 後置:3.1.8
3
DSX

私の知る限り、postfixにはSNIが機能していません。まだ。 Docs( http://www.postfix.org/TLS_README.html )は、「Postfix SMTPサーバーにSNIを実装する計画はありません」と述べていますが、ビクターは1月に、 postfix 3.4にSNIサポートを追加。代替案:

  • 複数のIP
  • すべてのドメイン名を含む証明書。

また、すべてのドメインで同じMXを使用しても問題はありません。 MXホスト名はサービスドメインか何かです。また、同じ/類似のホスト名に設定されたhelo/ehlo名。 GoogleAppsや他の主要な電子メールプロバイダーに適している場合は、私たちにも適しています。

4
Sandor Marton

Postfixバージョン3.4はSNIをサポートするようになったため、たとえばUbuntu 19.10で利用できます。

また、ISこれを希望する正当な理由-Outlookなどのクライアントは、メールドメイン名と一致するサーバー名を使用して自動設定を試みます。メールアカウントがGmailまたは別の共有ドメインにある場合、これは問題ですが、複数のドメインを持つサーバー(VPSでも)でホストされている個人ドメインには、次のような解決策が必要です

1

Postfix> = 3.4を使用している場合は、以下の手順を適応したものと見なしてください このリンクから

Step 1: Comment out the top two lines and add the follow lines to /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
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
---

Step 2: Create the file /etc/postfix/vmail_ssl.map with the following:

---
# 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
---

Step 3: Run postmap -F hash:/etc/postfix/vmail_ssl.map.

Step 4: Run systemctl restart postfix.

Step 5: Now test your domains' SSLs! For each of your domains, run the following command: openssl s_client -connect localhost:25 -servername mail.mydomainname.com -starttls smtp
0
Hifihedgehog