Login

オンライン中

We have 14 guests and no members online

eagle1jp

dovecotのTLS(SSL)化

dovecotのTLS(SSL)化

POP3・IMAPのどちらの方式においてもサーバとクライアント間のデータはクリアテキストでやり取りが行われています。このため、パケットキャプチャツールなどをサーバとクライアント間に介在させる事ができれば、通信の内容を容易に盗聴する事が可能になります。 このようなデータ盗聴への対策にはサーバとクライアント間のメールデータを暗号化する事が効果的です。
POP・IMAPのメールデータの暗号化には現在、SSL(Secure Sockets Layer)とTLS(Transport Layer Security)という2つの標準的な方法が存在します。
SSLは元々、インターネット創世期にWebブラウザのシェアトップであったNetscape社がWebブラウザの為の暗号化の仕組みとして開発したものです。 その後、SSLは多くのWebブラウザでも利用できるようになり、皆さんもご存じの通り現在もデファクトスタンダード(業界標準)の機能となっています。 (SSLには現在、Ver2とVer3が存在します)
しかし、SSL自体はあくまでNetscape社の独自の暗号化方法であるため、ライセンス的にも技術実装的にも中立的な機関で策定された仕様が求められ、SSL Ver3を基にIETFにて仕様が決められたものがTLSという暗号化の為の方法です。  TLSはSSLを基にはしていますが、互換という訳ではありません。以下ではdovecotのTLS(SSL)化の手順について説明を行います。

1.サーバ証明書(電子証明書)の入手

 最初にdovecotを動作させるマシンのためのサーバ証明書を入手する必要があります。 サーバ証明書書を入手するには入手したいサーバマシンで最初にプライベートキーを作成した後、署名要求書(CSR)を作成してそれを認証局に送付する事で入手できます。 プライベートキーの作成からCSRの作成までの手順はこちらを参照してください。
ここでは、署名要求書が "dovecot_csr.pem" という名前で作成されたものとして説明します。 なお、CSRの手順の中のプライベートキーの作成については、他のサーバサービス(例えばWWWなど)と同じマシンで動かすため、既にそちらのサーバサービス用にプライベートキーを作成してある場合には、同じプライ ベートキーをそのまま使っても構いません。もし違うプライベートキーを作成する場合は、どのサーバーサービス用かが判るようにファイル名を付けると良いで しょう。

出来上がったdovecot_csr.pem(署名要求書)を認証局に送ると、それを認証してサーバ証明書(ex. "server.pem")を送り返してきます。 なお、自己認証局でサーバ証明書を発行手順については「自己認証局によるサーバ証明」を参考にして証明書を作成してください。認証局から送られてきたサーバ証明書は /etc/ssl/certs ディレクトリに保存しておくと良いでしょう。

2.TLS(SSL)の設定

 /etc/dovecot/dovecot.conf を開き以下の部分を編集します。

protocols = imap pop3 imaps pop3s   ---(※1)
  ::
#ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
#ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
#
ssl_cert_file = /etc/ssl/certs/server.pem
ssl_key_file = /etc/ssl/private/nopass_server.key    ---(※2)
  ::

※1 protocols パラメータに" imaps","pop3s"を追加することで、TLS、SSLを使った接続が可能になります。 
※2 "nopass_server.key"ではなく "server.key"を指定した場合、dovecotの起動時にプライベートキーのパスフェーズの入力を求められます。パスフェースはdovecotの起動時オプション「-p」または設定ファイルの中で 「ssl_key_password」を設定することで与えることも可能です。
以上でTLS(SSL)の設定は完了です。 

3. クライアント側の設定

TLS(SSL)を利用するにはクライアントソフトでTLS(SSL)を使用するように設定を行う必要があります。 代表的なメールクライアントであるOutlook ExpressとThunderbirdでのTLS(SSL)の設定方法を示しておきます。

Thunderbirdの場合

 Thunderbirdで受信(POP)の際にSSL(TLS)を利用するには、アカウント設定画面を開き、SSL(TLS)化したいサーバを選び、「TLSを使用する」または「SSLを使用する」のどちらかを選びます。 ポート番号は、TLSの場合には通常の110番を、またSSLの場合には995番を利用します。

 thunderbirdでのSSL指定

Outlook Express 6の場合

 [ツール]ー[アカウント]で[メール]のプロパティを開き、詳細タブの中の[このサーバーはセキュリティで保護された接続(SSL)が必要にチェックを入れ、ポートを995にします。

 

 

 ※最近のウィルスチェッカーではメールへの感染監視の為に、PC内でポートの110番を使ったアクセスを監視しているものがあります。 そのような 場合、暗号化されたパケットで通信を行おうとするとうまくいかないケースがあります。 TLSでうまく受信できない場合場合にはSSL(ポート995)を 使ってみてください。
なお、インターネット上から内部のメールサーバへSSLで利用させるような場合には、ファイアーウォールやNATルータなどで995番宛のパケットを内部のメールサーバへ転送させる設定を行ってください。

 


 

 

セキュリティ情報

JVN サイト新着ならびに更新情報

広告