Postfix/Dovecot の TLS SNI対応

CentOS 8系から可能になった Postfix/DovecotメールサーバーのSSL/TLSをSNI対応。
(複数の証明書でマルチドメイン運用にする方法)

■ Dovecot TLS SNI対応

/etc/dovecot/conf.d/10-ssl.conf

# デフォルトの証明書(この記述も必要)
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

# 以下を追加していく
local_name domain1.org {
  ssl_cert = </path/to/domain1_fullchain.crt
  ssl_key = </path/to/domain1_praivate.key
}
local_name domain2.org {
  ssl_cert = </path/to/domain2_fullchain.crt
  ssl_key = </path/to/domain2_praivate.key
}
・・・local_name を追加していく

他は通常のTLSの設定と同じ

■ Postfix TLS SNI対応

/etc/postfix/main.cf

# デフォルトの証明書(この記述も必要)
smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem
smtpd_tls_key_file = /etc/pki/tls/private/postfix.key

# Postfix 3.4以上なら SNI可能
tls_server_sni_maps = hash:/etc/postfix/tls_server_sni_maps

他は通常のTLSの設定と同じ

証明書のマップファイル
/etc/postfix/tls_server_sni_maps

domain1 /path/to/domain1_praivate.key, /path/to/domain1_fullchain.crt
domain2 /path/to/domain2_praivate.key, /path/to/domain2_fullchain.crt
・・・

postmap -F hash:/etc/postfix/tls_server_sni_maps

★重要
証明書を更新時に postmap -F でマップdbを作り直す必要がある。

コメントを残す