dovecotでのサーバ証明書のインストール方法
本ページに記載されているインストール方法は、基本的な構成を元にしています。
システム環境等の設定状況により、手順や画面表示が異なることがあります。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、開発元にご連絡ください。
※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。
システム環境等の設定状況により、手順や画面表示が異なることがあります。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、開発元にご連絡ください。
※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。
dovecotでのサーバ証明書インストール手順
pop3s、imapsのポートを準備する
TLSでPOPサーバーに接続(pop3s)する場合、995番ポートを使います。IMAPサーバーに接続(imaps)する場合、993番ポートを使います。
ファイアウォールのデフォルトでは利用できない状態になっていることが多いので事前にチェックしてください。
dovecotで使うpem書式SSLサーバ証明書を準備する
dovecotでは「hostの証明書」と「中間証明書」(場合によっては「Root証明書」)を連結したpem書式SSLサーバ証明書ファイルと「秘密鍵」ファイル、あるいはその両方が連結されたpem書式のファイルを使います。
-
pem書式連結サーバー証明書ファイルを作成します秘密鍵はCSRを作成したときにできています。CSR作成時にパスフレーズを設定している場合は秘密鍵のパスフレーズを解除するを参照し、パスフレーズ解除済みの秘密鍵を読み込んでください。
DigiCert証明書を使う場合は一般に、連結証明書に「root 証明書」を含める必要はありませんが、発行されたサーバー証明書名をお知らせいただければ、テキストエディタで開ける書式(pem 書式)で提供いたします。
.pem ファイル一般については.PEM 書式の SSL サーバ証明書を作るにも記載があります。以下、「Root 証明書」「秘密鍵」も含んだpem書式 SSLサーバ証明書ファイル作成方法について説明します。
秘密鍵、サーバ証明書、中間証明書、Root証明書をテキストエディタで開き、以下の順序で新しいファイルに貼り付けてください。- 秘密鍵
- 発行されたサーバー証明書ファイル
- 中間証明書ファイル
- root 証明書ファイル
作成された .pem ファイルは以下のような内容になります。-----BEGIN RSA PRIVATE KEY-----
秘密鍵の記述内容
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
発行されたサーバー証明書ファイルの記述内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
中間証明書ファイルの記述内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root 証明書ファイルの記述内容
-----END CERTIFICATE-----出来上がった pem ファイルに dovecot.pem のような名前を付けて保存してください。
-
pem ファイル をサーバーに保存します一般には証明書は【/etc/pki/dovecot/certs/】、秘密鍵は【/etc/pki/dovecot/private/】に保存します。
秘密鍵が含まれるファイルはrootユーザー以外は閲覧できないようにしてください。
conf.d/10-ssl.conf での設定
SSL/TLS 利用設定は dovecot/conf.d/10-ssl.conf で行います。
デフォルトのパスは/etc/dovecot/conf.d/10-ssl.confです。
-
基本設定ssl = yes ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem※以下で説明するすべてのケースで「ssl = yes」設定は必須です。
/etc/pki/dovecot/certs/dovecot.pem は秘密鍵を含まない連結証明書、
/etc/pki/dovecot/private/dovecot.pem はパスフレーズ解除済みの秘密鍵です。 -
秘密鍵を含んだ連結証明書の場合ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/certs/dovecot.pemこの場合、/etc/pki/dovecot/certs/dovecot.pem はrootユーザー以外は閲覧できないようにしてください。
-
POP、IMAPで異なる証明書を指定する場合POP、IMAPで異なる証明書を指定することもできます。その場合は以下のように指定します。
この指定の場合、デフォルトの ssl_cert、ssl_key の指定も必要です。ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem protocol imap { ssl_cert = </etc/pki/dovecot/certs/imap.pem ssl_key = </etc/pki/dovecot/private/imap.pem } protocol pop3 { ssl_cert = </etc/pki/dovecot/certs/pop3.pem ssl_key = </etc/pki/dovecot/private/pop3.pem } -
サーバー上に複数のホストがあり、それぞれが異なるIPアドレスを使っている場合この指定の場合、デフォルトの ssl_cert、ssl_key の指定も必要です。ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem local 12.34.56.78 { ssl_cert = </etc/ssl/dovecot/example1.com.cert.pem ssl_key = </etc/pki/dovecot/private/example1.com.key.pem } local 12.34.56.79 { ssl_cert = </etc/ssl/dovecot/example2.com.cert.pem ssl_key = </etc/pki/dovecot/private/example2.com.key.pem }上記はIPアドレス【12.34.56.78】と【12.34.56.79】の例ですが、各ホストが別のIPアドレスを使っている場合、IPアドレスではなくホスト名で指定することもできます。
-
サーバー上に複数のホストがあり、同一のIPアドレスを使っている場合この指定の場合、デフォルトの ssl_cert、ssl_key の指定も必要です。ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem local_name example1.org { ssl_cert = </etc/pki/dovecot/certs/example1.org.crt ssl_key = </etc/pki/dovecot/private/example1.org.key } local_name example2.org { ssl_cert = </etc/pki/dovecot/certs/example2.org.crt ssl_key = </etc/pki/dovecot/private/example2.org.key }このケースでは、マルチドメイン証明書やワイルドカード証明書を使っていて、ホスト名は異なるが、証明書は同一というケースを除いては、クライアントがモバイルの場合エラーになります。モバイル以外でも、メールクライアントがTLS SNIに対応していないとエラーになります。