|
IISでhttps(SSL)を設定する方法

|
IISでセキュアサーバ(https)を構築する方法としてOpenSSLを使用した方法を実際の手順に沿って記述します。
1.はじめに
IISでSSL(https)を設定する方法を以下の手順で記述します。
(1)必要ソフトのダウンロード/インストールする
(2)CA局を作る
(3)IISでサーバー証明書を作る
(4)CA局でサーバー証明書へ署名する
(5)サーバー証明書をIISにインストールする
(6)CA証明書をブラウザにインポートする
今回はOpenSSLによりCA局を自作しサーバー証明書に署名しますが、本来はベリサイン等のCA局に署名して
頂く事になります。その場合は(1)(2)(4)は不要です。
2.設定手順
(1)必要ソフトのダウンロード/インストールする
・OpenSSLのダウンロードとインストール
今回使用したOpenSSLのファイルは以下の通りです。
Win32OpenSSL_Light-0_9_8g.exe
C:\OpenSSL にインストールします。
・ActivePerlのダウンロードとインストール
今回使用したActivePerlのファイルは以下の通りです。
APi522e.exe
C:\Perl にインストールします。
(2)CA局を作る
OpenSSLのCA.plを実行しCA局を作成します。(C:\OpenSSL\bin\demoCAを作成します)
(3)IISでサーバー証明書を作る
IISの「既定のWebサイト」のプロパティで「ディレクトリセキュリティ」タブを選択し、
サーバー証明書を作成します。(C:\OpenSSL\bin\server\certreq.txtを作成します)
(4)CA局でサーバー証明書へ署名する
OpenSSLを実行しサーバー証明書に署名します。(C:\OpenSSL\bin\server\certreq.cerを作成します)
(5)サーバー証明書をIISにインストールする
IISの「既定のWebサイト」のプロパティで「ディレクトリセキュリティ」タブを選択し、
サーバー証明書をインストールします。
(6)CA証明書をブラウザにインポートする
CA証明書をブラウザにインポートする必要があります。
(C:\OpenSSL\bin\demoCA\cacert.pemをブラウザにインストールします)
IEの「ツール」メニューの「インターネットオプション」でCA証明書をインポートします。
詳細はIISでhttps(SSL)を設定する方法のPDFでご覧ください。
--IIS--SSL--HTTPS--OpenSSL--CA--IIS--SSL--HTTPS--OpenSSL--CA--------------
<用語についての補足>
IIS(アイ・アイ・エス):Internet Information Server
マイクロソフト製のWebサーバ用ソフトウェア
Windowsのシェアが高いためIISへのセキュリティ攻撃が多いですが、使い安いと思います。
IIS以外のWebサーバ用ソフトウェアとしてはApacheが有名だと思います。
SSL(エスエスエル):Secure Socket Layer
インターネット上で情報を暗号化するプロトコル
SSLサイトへの情報送信は暗号化されているので盗聴される心配はありません(信じたい)。
HTTP(エイチティーティーピー):HyperText Transfer Protocol
WebサーバとWebブラウザ(IEやNetscapeなど)がデータを送受信するのに使われるプロトコル
ネットとかWebとか言う場合の殆どは、HTTPしてる時です。
HTTPS(エイチティーティーピーエス):Hypertext Transfer Protocol Security
HTTPにSSL機能を付けたプロトコル
銀行とか証券会社等で取引してる時は、当然HTTPSです。
OpenSSL(オープンエスエスエル):OPEN Secure Socket Layer
オープン・ソースでSSL(CA局作成/認証...)を実装したツール
SSLのテスト用ツールと思っていますが...小規模ではこれで充分とも思います。
CA(シーエー):Certificate Authority
公開鍵を証明する機関(ベリサインが有名、第3者が公開鍵を証明していれば安心と言う論理)
OpenSSLのCA局で実在する国際的CA機関を想像すると、とても偉そうな気分になります。
公開鍵(コウカイカギ):Public key(Public key cryptosystem)
暗号化するために公開されている鍵
公開鍵暗号化(コウカイカギアンゴウカ)と言います。
--IIS--SSL--HTTPS--OpenSSL--CA--IIS--SSL--HTTPS--OpenSSL--CA--------------