Windowsでメールの送受信時にSSLを利用して暗号化する:Tech TIPS
メーラとメール・サーバ間の盗聴やなり済ましなどを防ぐため、最近ではメール送受信時にSSLで暗号化を行う技術が普及しつつある。メーラとメール・サーバの双方がSSLに対応していれば、メーラの設定変更で利用できるようになる。メーラ側の設定変更としては、通信ポート番号やSSL接続方式の設定などが必要となる。
対象アプリケーション:Outlook Express 6/Windowsメール/Outlook 2003/Outlook 2007/Thunderbird 2
解説
メール送受信時の盗聴やなり済ましといったセキュリティ・リスク対策のために、最近POP3やSMTPなどのメール送受信プロトコルにSSLを利用する技術(POP3s/SMTPs)が導入され、普及し始めている。TIPS「メールの送受信を暗号化するPOP3s/IMAP4s/SMTPs(over SSL)とは」では、SSL対応のメール送受信プロトコルとその効果、利用条件などについて解説した。これらのプロトコルを利用すると、メール・クライアント・ソフトウェア(メーラ)とメール・サーバ間の通信路が暗号化され、サーバとの認証用パスワードの盗聴や、ファーミングなどによるサーバのなり済まし、通信中のデータの改ざんなどを防止できる。
本TIPSでは、Outlook ExpressやWindowsメール、Outlook、Thunderbirdといったメーラにおいて、メール送受信時にSSLを利用する方法について解説する。
操作方法
●メーラにおける各種セキュリティ対策と設定項目
最初に、メーラにおける各種セキュリティ対策とその設定について整理しておこう。
現在のメーラには、SSL以外にもさまざまなセキュリティ対策が実装されている。主要なものとしては次のようなものがある。
- パスワード認証
- メール本体の暗号化(S/MIMEなど)
- SSLによる通信路の暗号化
- スパム・メール対策
- マルウェア対策
「暗号」や「認証」などセキュリティ関連用語がよく使われていて何となく似通っているようにも思える。しかし、機能面で各対策はお互いに独立している。例えば、SSLを利用するのにパスワード認証は必須ではなく、逆もまたしかりだ。
しかし、実際のメーラの設定画面では必ずしも対策ごとに設定項目が分類されているとは限らず、結果としてどの設定項目がどの対策に影響を与えるのかはっきりしないことも多い。そこで以下の図で各対策と設定項目の関係を整理してみた(単純化のため、マルウェア対策とスパム対策は省いた。また送信時のみで受信時は割愛した)。
メーラとメール・サーバ間のセキュリティ対策とその設定項目および設定例
SSLなどのセキュリティ対策がどの部分を防護するのか、どの設定項目と関係があるのか、を表してみた。メール送信時のみ記しているが、受信時でも設定内容が若干異なるだけで基本は変わらない。単純化のため、マルウェア対策とスパム対策は省いた。
(1)メーラでメールそのものを1通ずつ暗号化するセキュリティ対策。代表的なのはS/MIMEで、デジタル証明書が利用される。(2)〜(6)とはまったく別。
(2)パスワード認証に用いられるアカウント名とパスワードのセット。メール受信時には必ず送出される。メール送信時には従来不要だったが、近年Outbound Port 25 Blocking(OP25B。関連記事参照)の普及につれて送信時にも必須となりつつある。いずれも(1)や(3)、(4)とは直接関係はない。
(3)SSL接続方式の選択(詳細は後述)。STARTTLSかSMTP over SSLのどちらかが利用される。受信のPOP3ならSTLSかPOP3 over SSLのどちらかだ。(4)とは密接な関係がある。逆に(1)、(2)、(5)とは直接関係はない。
(4)通信に用いるTCPのポート番号の選択。送信すなわちSMTPでは通常、この25/465/587番のいずれかを利用する(受信のPOP3では110/995番のいずれか)。(3)とは密接な関係がある。逆に(1)、(2)、(5)とは直接関係はない。
(5)メール・サーバにおけるパスワード認証。他人によるメール・ボックスの不正利用(盗聴)や、不特定人物によるメールの不正送信などを防ぐ。「SPA」とは「セキュリティで保護されたパスワード認証」の略で、NTLMやWindows統合認証を意味する。それ以外は平文でパスワード文字列が流れることが多い。(1)や(3)、(4)とは直接関係しない。
(6)メール・サーバのホスト名(FQDN)。メール・サービスによってはSSL対応のメール・サーバが別にあり、(3)や(4)の設定とともに、この名前を変更しなければならない場合がある。また(3)のSSL接続確立時にこの名前でサーバ証明書が検証されるため、正しく指定しないとSSL接続に失敗する。
結局、SSL「だけ」について考慮するなら、「メール・サーバのホスト名」と「通信ポート番号」、「SSL接続方式」の3つを設定すればよい。このうちホスト名については、メール・サーバ運用者から指定されている場合のみ変更する。残りの2つの選択肢は下表のとおり。ISPなどメール・サーバ運用者からポート番号だけが明示されている場合は、下表に従ってSSL接続方式を選べばよい(ただし後述のように、SSL接続方式を直接指定できないメーラもある)。下表のSTARTTLS/STLSはSMTP/POP3で通信を始めて途中でSSLに切り替えるという方式である。一方、SMTP/POP3 over SSLは最初からSSLによってSMTP/POP3を「くるんだ」状態で通信を始める方式だ。
送信時 | 受信時 | |
---|---|---|
通信ポート | 25/465/587のいずれか | 110または995 |
SSL接続方式 | ポート25/587:STARTTLS 465:SMTP over SSL |
ポート25/587:STARTTLS 465:SMTP over SSL |
SSLに関する設定項目と選択肢の代表例 STARTTLS/STLSはSMTP/POP3で通信を始めて途中でSSLに切り替える方式で、SMTP/POP3 over SSLは最初からSSLによってSMTP/POP3を「くるんだ」状態で通信を始める方式。通常、メール・サーバの運用者(ISPなど)から指定されるメーラの設定書には、ポート番号のみでSSL接続方式が明示されていないことが多い。しかし、ポート番号とSSL接続方式には密接な関係があるので、原則として上記のように紐付けて設定すればよい(SSL接続方式を直接指定できないメーラもある)。もっとも、ポート25/110については、そもそもSSL接続が提供されないこともあるので注意。 |
ポート番号の選択は、原則としてメール・サーバ運用者の指示に従う必要がある。一般的な傾向としては、非SSL接続時にも使われるポート25/110はSSL有効時には利用できず、それぞれポート587/995が用いられることが多いようだ。送信用のポート465は、後述のようにOutlook Express/Windowsメールなどポート587でSTARTTLSが利用できない(できなかった)メーラのために提供されている。
以下、各メーラについて具体的な設定方法を紹介する。
●Outlook Express 6/Windowsメール(Windows Vista)の場合
Outlook Express 6やWindowsメール(Windows Vista)でメールの送受信にSSLを利用するには、メール・サーバへの接続アカウントのプロパティを変更する。メール・サーバのホスト名とポート番号、SSL有効化の設定は別画面に分かれているので、その両方を設定する。
まず[ツール]−[アカウント]メニューで[インターネット アカウント]画面を表示させる。そして該当するアカウントの設定項目を選び、ダブルクリックするか、[プロパティ]ボタンをクリックする。
するとアカウントのプロパティ画面が表示されるので、必要なら[サーバー]タブでメール・サーバのホスト名を変更する。またOP25Bなどのために必要なら、このタブで送信サーバに対する認証パスワードなども設定する。以下の画面はOutlook Express 6のものだが、Windowsメールも画面構成は共通である。
Outlook Express/Windowsメールにおけるメール・サーバのホスト名の設定
SSL接続用のメール・サーバが別途存在するような場合、メール・サーバ運用者の指示に従い、そのホスト名を変更する必要がある。
(1)必要なら、SSL用受信サーバのホスト名(FQDN)に変更する。
(2)必要なら、SSL用送信サーバのホスト名(FQDN)に変更する。
次に[詳細設定]タブでポート番号を設定する。SSL接続方式は明示的に指定できず、ポート番号によって自動的に決まる。
Outlook Express/Windowsメールにおけるポート番号とSSL有効化の設定
受信/送信サーバともに、この[詳細設定]タブで設定する。SSL接続方法は明示的に指定できない。
(1)送信用ポート番号として25/465/587のいずれを設定する。後述するようにポート587については、Windows 2000以外ではパッチ適用によってSSL接続方式が変わるので注意。
(2)これをオンにする。
(3)受信用ポート番号として110/995のいずれかを設定する。
(4)これをオンにする。
Outlook Express 6/Windowsメールで注意が必要なのは、送信用ポート番号に587を設定する場合だ。ポート587におけるSSL接続方式は、KB933612のパッチあるいはMS07-034以降の累積的なセキュリティ・パッチの適用状況で変化する。未適用だとSMTP over SSL、適用済みだとSTARTTLSがそれぞれ利用可能になる。ただし、Windows 2000のOutlook Express 6は例外で、2008年11月下旬の時点で最新のセキュリティ・パッチを全て適用していても、ポート587でSTARTTLSによる送信はできず、SMTP over SSLが用いられる。
- サポート技術情報 KB933612(メール プログラムは、 SMTP ポート 587 を介して SSL を使って、 Exchange Server 2007 サーバーに接続できません。)
- サポート技術情報 KB929123([MS07-034] Outlook Express および Windows メール用の累積的なセキュリティ更新プログラム)
一般的にメール・サーバ側のポート587はSTARTTLSで待ち受けていることが多いようだ。つまりセキュリティ・パッチをきちんと適用していないWindows PCでは、ポート587でメール・サーバに接続できない可能性が高いことになる。例えばインストール直後のWindows OSから、Outlook Express 6/Windowsメールでメール・サーバとの接続に失敗する際には、この点に注意したい。
●Outlook 2003の場合
Outlook 2003の場合も、メール・サーバへの接続アカウントのプロパティを変更する。メール・サーバのホスト名とポート番号、SSL有効化の設定は、ウィザードの途中で別画面に分かれているので、その両方を設定する。
まず[ツール]−[電子メール アカウント]を選択して[電子メール アカウント]ウィザードを呼び出す。次に[既存の電子メール アカウントの表示と変更]ラジオボタンを選択してから[次へ]ボタンをクリックし、表示されたアカウント一覧から該当アカウントを選択して[変更]ボタンをクリックする。
続いて表示される[電子メール アカウント]ウィザードの「インターネット電子メールの設定」にて、必要ならメール・サーバのホスト名を変更する。
Outlook 2003におけるメール・サーバのホスト名の設定
SSL接続用のメール・サーバが別途存在するような場合、メール・サーバ運用者の指示に従い、そのホスト名を変更する必要がある。
(1)必要なら、SSL用受信サーバのホスト名(FQDN)に変更する。
(2)必要なら、SSL用送信サーバのホスト名(FQDN)に変更する。
(3)ポート番号を設定するには、これをクリックする。→[A]へ
[詳細設定]ボタンをクリックすると[インターネット電子メール設定]ダイアログが表示されるので、[詳細設定]タブでポート番号を設定する。SSL接続方式は明示的に指定できず、ポート番号によって自動的に決まる。またOP25Bなどのために必要なら、[送信サーバー]タブで送信サーバに対する認証パスワードなどを設定する。
[A]
Outlook 2003におけるポート番号とSSL有効化の設定
受信/送信サーバともに、このタブで設定する。SSL接続方法は明示的に指定できない。
(1)送信用ポート番号として25/465/587のいずれを設定する。
(2)これをオンにする。
(3)受信用ポート番号として110/995のいずれかを設定する。
(4)これをオンにする。
●Outlook 2007の場合
Outlook 2007の場合も、メール・サーバへの接続アカウントのプロパティを変更する。メール・サーバのホスト名とポート番号、SSL有効化の設定は、ウィザードの途中で別画面に分かれているので、その両方を設定する。
まず[ツール]−[アカウント設定]を選択して[アカウント設定]ダイアログを呼び出す]。次に[電子メール]タブを選択するとアカウント一覧が表示されるので、該当するアカウントを選択して[変更]をクリックすると[電子メール アカウントの変更]ウィザードが表示される。必要ならここでメール・サーバのホスト名を変更する。
Outlook 2007におけるメール・サーバのホスト名の設定
SSL接続用のメール・サーバが別途存在するような場合、メール・サーバ運用者の指示に従い、そのホスト名を変更する必要がある。
(1)必要なら、SSL用受信サーバのホスト名(FQDN)に変更する。
(2)必要なら、SSL用送信サーバのホスト名(FQDN)に変更する。
(3)ポート番号とSSL接続方式を設定するには、これをクリックする。→[B]へ
次に[詳細設定]ボタンをクリックすると[インターネット電子メール設定]ダイアログが表示されるので、[詳細設定タブ]でポート番号とSSL接続方式を設定する。OP25Bなどのために必要なら、[送信サーバー]タブで送信サーバに対する認証パスワードなどを設定する。
[B]
Outlook 2007におけるポート番号とSSL有効化、SSL接続方式の設定
受信/送信サーバともに、このタブで設定する。SSL接続方法は送信用のみ明示的に指定できる。受信用は不可。
(1)受信用ポート番号として110/995のいずれかを設定する。
(2)これをオンにする。
(3)送信用ポート番号として25/465/587のいずれかを設定する。
(4)送信時のSSL接続方法の選択。ポート番号に465を設定した場合は通常、SSL接続方式はSMTP over SSLになるのでこれを選ぶ。
(5)送信時のSSL接続方法の選択。ポート番号に25または587を設定した場合は通常、SSL接続方式はSTARTTLSになるのでこれを選ぶ。
●Thunderbird 2の場合
Thunderbird 2の場合も、メール・サーバへの接続アカウントのプロパティを変更する。受信用と送信用の各設定は、別画面に分かれているので、その両方を設定する。
まず[ツール]−[アカウント設定]を選択して[アカウント設定]ダイアログを開く。次に左側のツリーから該当するアカウントの[サーバ設定]を選択すると、受信サーバの設定が表示される。ここで受信時のポート番号とSSL接続方式を設定する。
Thunderbird 2における受信時の設定
受信時のメール・サーバのホスト名とポート番号、SSL接続方式は、ここで設定する。
(1)必要なら、SSL用受信サーバのホスト名(FQDN)に変更する。
(2)受信用ポート番号として110/995のいずれかを設定する。
(3)受信時のSSL接続方式の選択。ポート番号に110を設定した場合は通常、SSL接続方式はSTLSになるのでこれを選ぶ。
(4)受信時のSSL接続方式の選択。ポート番号に995を設定した場合は通常、SSL接続方式はPOP3 over SSLになるのでこれを選ぶ。
次に左側のツリーから[送信 (SMTP) サーバ]を選択すると、送信サーバの一覧が表示される。該当するものを選んでから[編集]ボタンをクリックすると、送信サーバの設定画面が表示されるので、送信時のメール・サーバのホスト名とポート番号、SSL接続方式を設定する。またOP25Bなどのために必要なら、ここで送信サーバの認証用ユーザーアカウントとパスワードも設定する。
Thunderbird 2における送信時の設定
送信時のメール・サーバのホスト名とポート番号、SSL接続方式は、ここで設定する。
(1)必要なら、SSL用送信サーバのホスト名(FQDN)に変更する。
(2)送信用ポート番号として25/465/587のいずれかを設定する。
(3)送信時のSSL接続方式の選択。ポート番号に25または587を設定した場合は通常、SSL接続方式はSTARTTLSになるのでこれを選ぶ。
(4)送信時のSSL接続方式の選択。ポート番号に465を設定した場合は通常、SSL接続方式はPOP3 over SSLになるのでこれを選ぶ。
■更新履歴
【2008/11/24】Windows 2000のOutlook Express 6におけるポート587の挙動と、SSL接続方式の説明をそれぞれ追記しました。またOutbound Port 25 Blocking(OP25B)の関連記事リンクを追加しました。
【2008/11/21】初版公開。
■この記事と関連性の高い別の記事
- サブミッション・ポートを利用してメールを送信する(TIPS)
- スパム・メールの送信を制限するOutbound Port 25 Blockingとは(TIPS)
- メールの送受信を暗号化するPOP3s/IMAP4s/SMTPs(over SSL)とは(TIPS)
- 複数のメール・アカウントを使い分ける(TIPS)
- POPFileでSSLを使ってメール・サーバに接続する(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.