見出し画像

IIS7.5のSSL化

Windows Server 2008 R2 Stdで稼働しているIIS 7.5をSSL化して、httpsでアクセスできるようにします。
グローバルには、IPマスカレードでTCP443を公開して、ルーターに振り出されているグローバルIPでインターネットからアクセスさせます。

まずはSSLサーバー証明書を取得します。いろいろな認証局がサービスしていますので、そちらで取得します。
取得に際しては、証明書をインストールするサーバーでCSRを取得し、それを使って証明書を申請します。

「サーバー証明書」をダブルクリックします
右がわの「証明書の要求の作成」を実行します

一般名:サーバーへのアクセスURL(例:www.abcd.co.jp)
組織:会社名など(例:Alquimista Inc.)
組織単位:部署名(例:System)
市区町村:市町村名(例:Sagamihara-shi)
都道府県:都道府県名(例:Kanagawa)
国/地域:JP
このように設定します。

ビット長は、証明書の発行元の指示に従います(通常2048bit)
CSRを保存するファイル名を指定します

ここで作成されたCSRでSSLサーバー証明書を申請し、証明書を取得します。
証明書は、
-----BEGIN CERTIFICATE-----
で始まるテキストデータで、これをxxx.crtとして保存します。

先ほどの「サーバー証明書」のメニューから「証明書の要求の完了」を実行します。

取得した証明書ファイルを指定し、任意の「フレンドリ名」を設定します

証明書が登録されると「サーバー証明書」に証明書が追加されます。

「バインド」を実行してhttpsを追加します。
SSL証明書には先ほど設定したフレンドリ名がリストに表示されますので、そちらを選択します。

これでhttpsでこのサーバーにアクセスできるようになります。
アクセスURLが一般名と同じであれば、サーバー証明書が有効となり、ブラウザーに鍵のマークが正しく表示されます。

ところが、この状態でアクセスしたところ、ブラウザーが以下のエラーを表示し、アクセスできませんでした。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH

TLSのバージョンが古く、セキュリティが確保されないために、アクセスさせてくれないようです。

TLSのバージョンは、任意のページを表示してコンテキストメニューの「プロパティ」から確認することができます。

TLS1.2を有効化します。レジストリの変更だけで有効になります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProvider\SCHANNEL\Protocolsに移動します。
Protocolsを右クリックでKeyを作成しフォルダ名を “TLS 1.2”とします。
TLS 1.2で右クリックし、ClientとServerの2つのKeyを作成します。
作成した ClientとServerそれぞれにDWORD32で DisabledByDefault 値0 と Enabled 値1を作成して、再起動します。

TLSが1.2になりました

いいなと思ったら応援しよう!