Dovecot v2.x SSLの設定

Pocket

ワイルドカードSSL証明書を前に取得してて、Apacheにしか使ってなかったので、そろそろメールにも
ということで、まずはDovecotにSSLの設定をしてみた。

設定は結構簡単で、10-ssl.confに証明書と認証鍵と中間証明書のファイルを指定するだけ。
中間証明書はssl_caで指定する。

証明書関連のファイルの名前は次の通りとする。

  • 証明書: example.com.crt
  • 認証鍵: example.com.key
  • 中間証明書: example.com.ca-bundle

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

ssl_cert = </etc/pki/tls/certs/example.com.crt
ssl_key = </etc/pki/tls/certs/example.com.key
ssl_ca = </etc/pki/tls/certs/example.com.ca-bundle

Dovecotをリロードして設定を反映させる。

/etc/init.d/dovecot reload

ログの最後にTLSという表記がでるので、SSL/TLS通信で認証できたか確認できる。

dovecot: imap-login: Login: user=, method=CRAM-MD5, rip=XXX.XXX.XXX.XXX, lip=XXX.XXX.XXX.XXX, mpid=XXXX, TLS

SSL/DovecotConfiguration – Dovecot Wiki

昔、DovecotでSSLを設定したときは証明書を中間証明書と結合したファイルを作って〜みたいな作業があったと思うんだけど、ssl_caでできるようになったみたい。
これでApacheと同じファイルを使えるようになったのはいいね。

設定の”=”の前に”<“が書いてあるんだけど、はずして設定してみるとログにエラーが出てたので”<“は必要なようだ。
(“<“が何を意味するのかまではわからなかった・・・)

imap-login: Fatal: Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert=</etc/pki/tls/certs/example.jp.crt)

あと、SSLを有効にしようとして/etc/dovecot/dovecot.confに

#protocols = imap pop3 lmtp
protocols = imap pop3 imaps pop3s lmtp

と書いたら怒られた。

dovecot: doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:21: protocols=imaps is no longer necessary, remove it
dovecot: doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:21: protocols=pop3s is no longer necessary, remove it

もう古い書き方らしい。なので、元の設定にもどしておいた。

protocols = imap pop3 lmtp

/etc/dovecot/conf.d/10-ssl.confに書いてあるssl = yesのデフォルトの設定で、imaps (993)、pop3s (995)のポートが開くことがわかった。

ssl = yes
# netstat -na |grep '99[35]' |grep LISTEN
tcp        0      0 0.0.0.0:993                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:995                 0.0.0.0:*                   LISTEN
tcp        0      0 :::993                      :::*                        LISTEN
tcp        0      0 :::995                      :::*                        LISTEN

SSL通信を強制する場合はrequiredを設定する。

ssl = required

ワイルドカードSSL証明書なのでCommon Nameが”*.example.com”みたいになってるのでメーラーが対応してるかちょっと心配だったけど、ThunderbirdでもMacのMailでもiPhoneでも大丈夫だったのでよかった。

ちなみに、STARTTLSでも別ポートを使ったSSL/TLS通信でもどちらにも対応していた。

関連記事

Pocket

コメントを残す

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