IIS Cryptoを使ってIISでSSLv3を無効化する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWS環境のPOODLE脆弱性対応 (CVE-2014-3566)でお伝えした通り、SSLv3の仕様上の問題に起因するセキュリティ脆弱性が発見されました。この記事ではApacheやNginxでSSLv3を無効化する方法についてご紹介致しました。

ではWindows Server(IIS)で無効化する場合にはどうするのかというと、レジストリを操作する必要があります。が、これを簡単に変更することが出来るIIS Cryptoというツールがありますので、ご紹介します。

ツールのご利用は自己責任でお願いします!

やってみる

NARTAC SOFTWAREIIS Cryptoというページからツールをダウンロードします。今回は「IIS Crypto GUI version 1.4 build 5」をダウンロードしました。

Nartac_Software_-_IIS_Crypto

まずは確認。Windows Server 2012でregeditを実行し、「¥¥HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control¥SecurityProviders¥SCHANNEL¥Protocols」を確認すると、以下のように"SSL 2.0"というキーだけが存在します。というかSSL 2.0が有効なんですね。これはこれでびっくりなんですけど。

Windows_7_x64

さて、ダウンロードした"IISCrypto40.exe"を実行します。

Windows_7_x64 2

すると以下のようにIIS Crypto画面が開きます。左上の[Protocols Enabled]を見ると、PCT1.0、SSL2.0、SSL3.0、TLS1.0、TLS1.1、TLS1.2が有効になっていることが分かります。

Windows_7_x64 3

では、SSL2.0とSSL3.0のチェックを外し、[Apply]ボタンをクリックします。

Windows_7_x64 4

以下のように「リブートしたら有効になりますよ」という画面が表示されます。

Windows_7_x64 5

さて、再度regeditを起動してみると、[SSL 2.0]の下に[Server]-[Enabled]=0というキーが作られていることが分かります。

Windows_7_x64 6

また[SSL 3.0]-[Server]-[Enabled]=0というキーが新規に作成されていることが分かります。

Windows_7_x64 7

後はサーバを再起動すれば、SSL 3.0が(あわせてSSL 2.0が)無効になります!

さいごに

IIS CryptoはProtocolだけでなくChipersの有効無効も簡単に設定することが出来ます。レジストリエディタを触りたくない、という方には便利なツールでは無いでしょうか。もちろん、ご利用は自己責任で!