Ubuntu Weekly Recipe

第387回 UbuntuでSSLを利用したサービスを構築する

この記事を読むのに必要な時間:およそ 8.5 分

次はDovecotの設定です。/etc/dovecot/conf.d/10-master.confの119行目付近にPostfix smtp-authの設定がコメントアウトされていますので,このコメントを解除し,以下のよう編集します。

認証用のソケットを設定する

# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
#  mode = 0666
#}



# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0660
  user = postfix
  group = postfix
}

Postfix側でメールボックスをMaildir形式に変更したので,/etc/dovecot/conf.d/10-mail.conf内のmail_locationを変更します。

mail_locationの変更

mail_location = mbox:~/mail:INBOX=/var/mail/%u



mail_location = maildir:~/Maildir

SSL証明書の設定は/etc/dovecot/conf.d/10-ssl.confにあります。ssl_certとssl_keyを,Postfixと同様に(結合した証明書に)設定します。またSSLv2およびv3を無効にするため,ssl_protocolsを設定しています。

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

ssl_cert = </etc/ssl/certs/server-withintermediate.crt
ssl_key = </etc/ssl/private/server.key

(……略……)

# SSL protocols to use
ssl_protocols = !SSLv2 !SSLv3

ここまでできたら,PostfixとDovecotを再起動してください。

サービスの再起動

$ sudo service dovecot restart
$ sudo service postix restart

PCのメーラーからSubmission+STARTTLSでメール送信が可能なことと,IMAPSでメールボックスを読めることを確認してみましょう。

以上,駆け足でしたが,WebサーバーとメールサーバーでのSSLの利用方法を紹介しました。小規模でもインターネット上でサービスを立ち上げているのであれば,SSL証明書の導入を検討してみてはいかがでしょうか。

コラム(SSLとポート番号の関係について)

HTTPとSSLでは交換するメッセージが異なるため,通常のHTTPサーバー相手にはSSLで接続を確立することができません。そこでSSL専用のポートを用意し,SSL接続は別ポートで待ち受けることになっています。これがHTTP(80番)とHTTPS(443番)が存在する理由です。FTPやメールも同様で,FTP(21番)に対してFTPS(990番⁠⁠,SMTP(25番)に対してSMTPS(465番)といった専用のポートが使われます。これを暗黙的SSLと呼ぶことがあります。これに対し,最初は平文で通信を開始し,その後にSTARTTLSというコマンドを発行して暗号通信にアップグレードするという手段も用意されています。これを明示的SSLと呼ぶこともあります。STARTTLSを使えばSSL専用のポートを割り当てる必要がなく,平文通信とSSL通信で同じポートを共有することができます。

このように,SSLの通信方式とポート番号には密接な関係があります。たとえば,メール送信に465番ポートを使場合は暗黙的SSLの利用が必須ですし,587番ポートを使う場合はSSLは使用しないか注18⁠,STARTTLSのどちらかになるでしょう。今回構築したサーバーで言えば,メール受信は993番ポートを使うのでSSL,メール送信は587番(Submission)ポートを使うのでSTARTTLSにしなければならないことがわかります。

注18)
さすがにこのご時世に平文のままということはないと思いますが……。

図8 SylpheedのSSL設定画面

図8 SylpheedのSSL設定画面

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。最近レンズ沼にハマる。