XMail はバージョン 1.24 からネイティブで SSL/TLS に対応していますが、SSL/TLS の運用には多くのオプションがあり、また証明書の作成などでコマンド操作が必要となるため、ビギナーには困難な課題に見えるかもしれません。そこで、本ページでは SSL/TLS のセットアップを運用環境別にできるだけ分かりやすく説明し、証明書等をフォームから作成・インストールできるようにします。
SSL(Secure Socket Layer) は Netscape 社が開発したセキュリティプロトコルで、ネットワーク間通信を暗号化するための仕組みです。そのバージョン 3(SSL v3) をもとに IETF(The Internet Engineering Task Force) がインターネット標準の規格(RFC 3207)としてまとめたものが TLS(Transport Layer Security) です。
SSL は通信路を暗号化するための仕組みですが、それに証明書ベースの認証などを追加したものが TLS です。今日、実際に利用される運用技術は TLS ですが、一般には SSL と呼び習わされるので XMailCFG では SSL/TLS と表記しています。
XMail の SSL/TLS 実装は以下のように大組織での本格運用にも耐えるものですが、一方で私的運用にも簡易に利用できるものになっています。
- サーバサイドとクライアントサイドの SSL/TLS 機能を搭載しています。
- STARTTLS SMTP、STLS POP3 に対応しています。
- クライアント/サーバ間だけでなく中継サーバ間でも SSL/TLS を利用できます。
- ゲートウェイ接続、フォワーダ接続など、さまざまな局面で SSL/TLS の利用をオン/オフできます。
- SSL/TLS 機能を任意の IP アドレスやポート番号にマッピングできます。
- 秘密鍵やサーバ証明書(公開鍵、デジタル ID)を作成するための OpenSSL ライブラリが同梱されています。
- 自己署名した証明書を利用することで公的 CA(認証局)に依存せず、すぐにサービスを開始できます。
代表的な運用環境について SSL/TLS をセットアップを行います。
現在の環境
[XMail 環境設定]、[XMailCFG 環境設定] によるこのホストの現在の SSL/TLS 環境を表示します。XMail の動作不具合など、セットアップがうまく行かない場合に参考にしてください。公的運用環境のセットアップ
公式の認証機関(CA)からサーバ証明書(公開鍵)を取得して公的サービスをセットアップする場合の手続きを説明し、フォームを利用して秘密鍵、証明書署名要求(CSR)ファイルを作成します。証明書の取得はほとんどの認証機関で有料です。私的運用環境のセットアップ
証明書署名要求(CSR)に対する署名を自分で行い、私的なサーバ証明書を作成して SSL/TLS サービスをセットアップします。公式な証明書ではないので、メーラなどの SMTP クライアントがその内容を検証した場合は何らかのエラーになってしまいますが、検証を行わないことにすれぱ少なくとも暗号化通信は利用できることになります。私的認証局の運用
認証機関(認証局)を私的に構築し、私的なサーバ証明書を作成・発行しますが、認証機関の証明書(CA 証明書)をメーラにインストールできるようにして、メーラで証明書を検証した場合でもエラーが出ないようにします。CA証明書の作成
XMail でクライアント証明書の検証を行う場合は CA 証明書も必要です。XMail は Windows の証明書ストアを利用しないのであなたが自分でそれを作成しなければなりません。ただし、XMail はデフォルトではクライアント証明書の検証を行いません。私的クライアント証明書の作成
クライアント認証を実行できるようにします。クライアント認証では、SSL/TLS セッションでメーラなどが提示したクライアント証明書をサーバ側で検証します。セキュリティをとくに重視しなければならないサービスをセットアップしたい場合にはおすすめです。証明書の管理
本サイトで作成した証明書を管理します。発行済み証明書の失効処理も可能です。。
SSL/TLS では 1 個のコモンネームについて 1 組の秘密鍵とサーバ証明書(公開鍵)が必要です。
秘密鍵の内容は決して外部に知られてはならない情報です。もし秘密鍵が第三者の手に渡ってしまった場合、あなたは直ちに (1) その秘密鍵を無効にし、(2) その秘密鍵とペアになったサーバ証明書を削除し、(3) 新たな秘密鍵を作成し、(4) 対応するコモンネームについてサーバ証明書を作り直す必要があります。具体的には以下のようにしてください(万一のため関連ファイルのバックアップは残しておいてください)。
- 運用中の秘密鍵は MailRoot/server.key で、まずこれを削除する必要があります。
- 運用中の秘密鍵に対応するサーバ証明書は MailRoot/server.cert に収容されています。秘密鍵を削除すれば意味のないものなので削除してください。
- 新しい秘密鍵は XMailCFG の各メニューを実行すれば自動的に作成されます。
- 公的・私的なサーバ証明書を必要なだけ作成または取得します。公的なサービスを利用する場合、中間 CA 証明書も入手しなければならない場合があります。
- 用意した新しい秘密鍵とサーバ証明書を [証明書の管理] メニューから XMail にインストールします。完了後は XMail を再起動してください。
XMail はデフォルトで SSL/TLS がオンになっています。そのため、OpenSSL 関連ファイルが揃っていなかったり秘密鍵やサーバ証明書が存在しないと思わぬトラブルになる可能性があります。もしあなたが SSL/TLS をまったく利用しないのであれば以下のようにしてください。
SSL を停止するためには、[基本セットアップ]-[レジストリの登録] で XMail 起動オプションに -B- -W- -X- を追加し、レジストリに登録します。
TLS を停止するためには、[環境設定]-[XMail 環境設定]-[SSL/TLS 関連の設定] で以下の 3 項目を "無効" にします。
1) CTRL TLS をサポートする (EnableCTRL-TLS)
2) POP3 TLS をサポートする (EnablePOP3-TLS)
3) SMTP TLS をサポートする (EnableSMTP-TLS)
XMail で SSL だけを利用(暗号通信のみ利用)し、TLS は利用しないのであれば [環境設定]-[XMail 環境設定]-[SSL/TLS 関連の設定] で以下の 3 項目を "無効" にします。
- 1) CTRL TLS をサポートする (EnableCTRL-TLS)
2) POP3 TLS をサポートする (EnablePOP3-TLS)
3) SMTP TLS をサポートする (EnableSMTP-TLS)