運用
個人情報保護法時代のIISセキュリティ対策(後編)

3.SSLのセットアップ

小田原 貴樹(ハンドル・ネーム:うりゅう)
2005/10/14

サーバ証明書のインストール

 「サーバ証明書が届いた」などというと大仰なものを想像してしまうが、実際には1通のメールが配信されるだけである。届いたメールの中にCSRとよく似た内容の部分があり、それが実際のサーバ証明書である。具体的には[-----BEGIN CERTIFICATE-----]から[-----END CERTIFICATE-----]までの部分になるので、その部分をコピーして、テキストエディタなどで貼り付けて、テキスト・ファイルとして保存しよう。ファイル名は管理しやすい名前であればよいが、管理上混乱しにくいので拡張子はサーバ証明書を表す「cer」にした方がよいだろう。保存したファイルをIISがインストールされているサーバにコピーしたら、次にIISへのサーバ証明書のインストールを行う。具体的な手順は以下のとおり。

 まず、CSRを生成したときと同様の手順で、サーバー証明書ウィザードを起動させる。CSRを生成した後でサーバ証明書ウィザードを起動すると、画面のように[保留中の証明書の要求があります]、というメッセージに変化する。

[サーバー証明書ウィザード]を起動する
CSRを生成した時とはメッセージが異なり、保留中の証明書の要求がある旨が表示される。

 すでにCSRを基にしたサーバ証明書を作成済みなので、ウィザードの案内に従って進める。

保留中の証明書要求に関する処理を選択する
[保留中の要求を処理し、証明書をインストールする]を選択し[次へ]をクリックする。

 先ほどサーバにコピーした、サーバ証明書のファイルを指定する。

サーバ証明書のファイルを選択する
拡張子.cerのファイルとして保存したサーバ証明書ファイルを指定し、[次へ]を選択する。

 生成したCSRと一致する、正しいサーバ証明書のファイルが選択されていれば、以下の画面のように証明書の詳細画面が表示される。

証明書の概要を確認する
ウィザードが読み込んだサーバ証明書と保留中のCSRが一致すれば、証明書の概要が表示される。

 以上の作業で、サーバ証明書がサイトにインストールされたことになる。念のため、サーバ証明書のファイルはCDやフロッピー・ディスクなどのメディアにバックアップしておこう。

サイトをSSL対応に設定する

 IISにサーバ証明書をインストールしただけでは、「SSLで暗号化されたサイトを表示させる」設定は完了していない。

サイトのプロパティを開く
サイトのプロパティの中から[Webサイト]のタブを選択し、IPアドレスの選択ボックスの横にある[詳細]ボタンをクリックする。サーバ証明書をインストールした結果として、SSLポートの入力欄がグレーアウト表示ではなく使用可能になっていることが確認できる。
  ここをクリックする。

 [このWebサイトの複数のSSL ID]の中の[追加]のボタンをクリックする。

サイトの詳細構成を設定する
通常はIPアドレスとTCPポート(80番)とホスト・ヘッダが1組指定され、SSL IDは空欄のはずだ。ここでSSLサイトとしてのIDを設定する。
  ここをクリックする。
 
SSL IDを設定する
IPアドレスの欄には標準で[未使用のIPアドレスすべて]が選択されている。もし、このサーバで公開しているWebサイトが1つしかない場合にはそれでいいが、それ以外の場合には、特定のIPアドレスを指定する。SSLポートの欄にはSSLの標準ポートである「443」を指定する。

 これでプロパティを閉じれば、インストール作業は完了したことになる。必要に応じてIISのサービスを再起動し、ブラウザから動作確認をしよう。

SSLサイトにブラウザでアクセスしたところ
ブラウザのアドレスとして“https://”で始めるサイトアドレスを入力して、きちんとサイトが表示され、ブラウザの画面下部に鍵のマークが表示されればSSLによる暗号化は正しく行われていることになる。

 正しく設定されているか確認するには、ブラウザの鍵アイコンをダブルクリックして証明書の内容も確認しておくとよい。

証明書を表示する
正しい証明書がサーバにインストールされていれば、[証明書の状態]に「この証明書は問題ありません。」と表示される。

 SSL IDをサイトに設定する工程で少しややこしい記述の仕方をしたが、IISにSSLを導入する場合、運用環境によっては注意が必要になる。IISにSSLを導入しようとして、間違いなく正しい手順を踏んでいるはずなのに、いざブラウザでサイトを表示しようとすると「アドレスが見つかりません」などのエラーが表示される場合には、以下の点を注意してほしい。

 1台のサーバで、バーチャル・ドメインを利用し複数サイトを運用している場合にトラブルに遭いやすい。バーチャル・ドメインとは、1つのIPアドレスをサーバに割り当て、IISのホスト名識別(ホスト・ヘッダ)を利用することで複数のサイトを1台のサーバで運用することである。こうした運用を行っているサイトにSSLをインストールする場合、以下の2点を注意して設定しなければならなくなる。

1.[WebサイトのSSL識別の詳細]において、IPアドレスに[未使用のIPアドレスすべて]を指定してはいけない。
 これはIISの仕様上の問題のようだが、[未使用のIPアドレスすべて]を指定した場合には、必ず[既定のWebサイト]にSSLが適用されてしまう。SSLを導入したいサイトがたまたま[既定のWebサイト]の場合には問題ないが、それ以外の場合には設定は出来ても、ブラウザで確認しようとすると「アドレスが見つかりません」というエラーが表示されてしまう。

2.複数のサイトで同時にSSLを利用したい場合には、SSLポートを別にしなければならない。
 1台のサーバの中の複数のサイトでSSLによる暗号化通信を利用したい場合、SSLのポートは別々のものが割り当てられていないと正しく暗号化が行われない。IISでは、HTTPとして利用される「80番」ポートでは、「ホスト名識別」(ホスト・ヘッダによるサイト分割)を利用することで、同じIPアドレス/ポートでの運用が可能だ。しかし、HTTPSとして利用されるSSLでは、「ホスト名識別」での設定が行えず、同じIPアドレスであれば別のポート番号を割り当てなければならない。

 単純な話としては、空いているポート(例えば「444」など)を割り当てればいいのだが、「443」のポート以外に設定したサイトでは、アドレスの後ろにポート名を記述しないとアクセスが出来なくなる。例えば、SSLポートを「443」に設定しているサイトならば、URL「https://www.test.com/」でアクセス可能であるが、SSLポートを別ポート(444)に設定したサイト「http://www.test2.com/」にアクセスするには、ブラウザで「https://www.test2.com:444/」と入力して呼び出さなければならなくなる。

 この方法は見映えがあまりよくないが、実際の運用において暗号化通信が必要とされるページのアドレスをユーザーに直接入力させることはほとんどないため、それほど問題にはならないと思われる。ページ間のリンクを上記のように表記すればよいだけである。

 なお正しく設定されているか確認するには、SSLを設定したサイトをブラウザで表示し、鍵アイコンをダブルクリックして証明書の内容を調べれば万全である。

証明書のパスを表示する
マイクロソフトのメールマガジン購読申し込みのページ。ここでは個人情報を入力するため、SSLが使用されている。IEに表示された鍵アイコンをダブルクリックし、証明書を表示したところ。[証明のパス]タブを選択すると、ルート証明書からのツリー表示で問題のある証明書かどうかを確認できる。

まとめ

 2回にわたって「IISにSSLを導入する」をテーマにして、特に後編では具体的なSSLサービスの比較、導入の手続きなどを紹介してきた。SSLは「暗号技術」であり「セキュリティ技術」であるため、とかく難しいものと捉えられがちである。だが、この解説で紹介してきたいくつかの注意点さえクリアすれば、実際の導入はそれほど難しくないことがお分かりいただけたと思う。

 「個人情報保護」という大きなテーマにおいて、SSLによる暗号化通信というのは対策のほんの一部分に過ぎず、「SSLを導入したからそれで安心」というのは本末転倒であろう。ただ、Webサイトを運用する上において「必要最低条件」としてSSLが挙げられているのは間違いないことである。この解説によって、読者諸氏のSSL導入が少しでも推進されることになったならば幸いである。End of Article

筆者略歴
8年間のベンチャーIT企業勤務を経て、フリーのプログラマとして独立。専門はWebアプリケーションの設計・開発。「生涯一プログラマ」を目標に、常に中小事業者を対象とした現場に立ち続けている。
 
 

 INDEX
  [運用]
  個人情報保護法時代のIISセキュリティ対策(前編)
    1.暗号化通信の需要
    2.SSL基礎の基礎
  個人情報保護法時代のIISセキュリティ対策(後編)
    1.サーバ証明書サービスの選択
    2.CSRの生成と証明書の申請
  3.SSLのセットアップ
 
 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間