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を作り直す必要がある。

dovecot ver.1系と2系の違い

CentOS/RHELのデフォルトのPOP3/IMAP4メールサーバー dovecot がメジャーバージョンアップしました。
ある日 yum update でOSのモジュールアップデートをすると、dovecot がバージョン 1.xから 2.0 になりました。

このメジャーバージョンアップ、とんでもないことに、設定ファイルの数、構成が変わったのです。
今まで1つだった設定ファイルの数が増え、サブフォルダに用途別に配置されるようになりました。
どのファイルに何の設定を書くか仕様ががらっと変わってしまいました。
焦ります。こういうバージョンアップはできれば止めて欲しいものです。

ここに、バージョン1系と2系の設定ファイルの違いについてまとめます。

■ dovecot 1.x

(1) インストール

# yum install dovecot

(2) ファイル構成

設定ファイルは1つだけです。

/etc/dovecot.conf

続きを読む