mailサーバ(dovecot)のSSL証明書運用について

CentOS7.9ベースでpostfix&postfixadmin&dovecotの複数バーチャルドメインメールサーバ環境を構築・利用していますが、今さらながらWindowsメーラで受信した際、「不正なSSL証明書」だとか「なりすまし証明書」だとかメーラに文句を言われることがあり(というか、必ず言われる)、今まではメーラ側で「例外を承認」として騙してアクセスしていたのですが、メーラ(Seamonkey)側の不具合の関係で例が承認が正しく出来なくなったので、根本解決策をググりました。

各ドメインの証明書に関してはLet’s Encryptで取得し、Webベースでの動作は確認されています。つまり、/etc/letsencrypt/live/・・・の配下にはhoge1.comやhoge2.jpなどのドメイン名ディレクトリが有り、その中には・・・
cert.pem
chain.pem
fullchain.pem
privkey.pem
・・・の証明書キーデータが存在している状況で、お約束であるcronによる自動更新もなされています。

で、本件の問題の根本はdovecot側のSSL証明書に関する設定記載が正しくされていなかったことにありました。
まず、/etc/dovecot/dovecot.conf内の・・・

ssl_cert = </etc/letsencrypt/live/mail.hoge1.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.hoge1.com/privkey.pem

の2行は「##」を先頭に付けてコメントアウトします。

その後、/etc/dovecot/conf.d/10-ssl.conf内に・・・


#maindomain.com

local_name mail.maindomain.com {
ssl_cert = </etc/letsencrypt/live/mail.maindomain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.maindomain.com/privkey.pem
}


#hoge1.com

local_name mail.bbsm.jp {
ssl_cert = </etc/letsencrypt/live/mail.hoge1.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.hoge1.com/privkey.pem
}


#hoge2.jp

local_name mail.flute.work {
ssl_cert = </etc/letsencrypt/live/mail.hoge2.jp/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.hoge2.jp/privkey.pem
}

・・・といった感じで追記します。
(全角”#”は半角”#”に読み替えて下さい)
その後、dovecotを再起動します。

#systemctl restart dovecot
#systemctl status dovecot ←正しく起動していることを確認

検証としては、別のメーラ(今回はThnderbirdを新規インストール)にて、これらのドメインのメールセッティングを行い、受信時に「不正な証明書・・・」といった「警告が出ないこと」を確認し、問題無かったのでOKとしました。

今さらながらですが、当初のセッティング時に単一サーバー内で複数ドメイン運用する際、メールサーバにも複数ドメイン分のSSL証明書セッティングが必要であるという事を理解していなかった阿呆なセッティングを是正した次第です(^^;)

下記は参考にさせていただいた先達者のサイトです。

カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください