ホームページサーバーではhttps化が進んでいますね。
そして、httpsの中でもセキュリティが高いとか低いとかあるSSLとTLSの話です。
今回、今現在セキュリティレベルを向上させるために、SSLを無効化し、TLSを有効かさせるWinodws IISの方法を紹介します。
レジュメ
環境・前提条件
- Windows Server 2008 R2 のIIS7.5
環境です。
デフォルトで、
- SSL2.0有効
- SSL3.0有効
- TLS1.0有効
- TLS1.1無効
- TLS1.2無効
- TLS1.3無効
でした。
自分のホームページ環境がSSL/TLSのどのバージョンが有効になっているか確認する方法
まず自分のブラウザ環境からサーバーがどうなっているかわかり易く確認する方法としまして、
IEのインターネットオプションの詳細設定から、SSLやTLSを実際に無効にして、ホームページサーバーが正常に表示されるか確認するという方法があります。
例えば、IEの設定でTLS1.2だけ有効にして(チェック)、ホームページサーバーにアクセスしてみた所、上記のような画面が出たら、
これはサーバーがTLS1.2に対応していないということになります。
ただ、一個一個IEのSSLとTLSのチェックボックスを付けたり外したりしながら確認するのが面倒な方は、以下のサイトを利用すると便利です。
SSL Server Test (Powered by Qualys SSL Labs)
ホームページサーバーのスキャン結果が上記のように表示されます。
Windows IISでSSLを無効にする方法。Enabled=0
WindowsのIISでSSLを無効にするには、レジストリで設定します。
例えば、SSL2.0を無効にしたい場合は
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server
の下で、[編集] メニューの[値の追加]をクリックします。
[データ タイプ] 一覧で、[DWORD] をクリックします。
[値の名前] ボックスに「Enabled」と入力し、[OK] をクリックします。
新しいキーの値が 0 になるように設定します。
[OK] をクリックします。 コンピューターを再起動します。
インターネット インフォメーション サービスで PCT 1.0、SSL 2.0、SSL 3.0、または TLS 1.0 を無効にする方法
Windows IISでTLSを有効にする方法
。Enabled=1
WindowsのIISでTLSを有効にするには、レジストリで設定します。
例えば、TLS1.2を有効にしたい場合は
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
の下で、[編集] メニューの[値の追加]をクリックします。
[データ タイプ] 一覧で、[DWORD] をクリックします。
[値の名前] ボックスに「Enabled」と入力し、[OK] をクリックします。
新しいキーの値が 1 になるように設定します。
[データ タイプ] 一覧で、[DWORD] をクリックします。
[値の名前] ボックスに「DisabledByDefault」と入力し、[OK] をクリックします。
新しいキーの値が 0 になるように設定します。
[OK] をクリックします。 コンピューターを再起動します。
TLS-SSL Settings | Microsoft Docs
そもそもSSLとTLSとは?
以下の順番でセキュリティが高められたhttpsの規格と認識すればOKです。
- SSL1.0 リリース前に脆弱性が発見され公開されず
- SSL2.0 1994年リリース
- SSL3.0 1995年リリース
- TLS1.0 1999年リリース
- TLS1.1 2006年リリース
- TLS1.2 2008年リリース
- TLS1.3 2018年リリース
そして、リリースが古い規格ほどセキュリティレベルが低く脆弱性があるので、無効にしたいですが、
古い規格ほど普及されていてクライアントが何を使っているか分からない分、表示できないリスクとのトレードオフになります。しかし、PCも5年から10年で買い替えているだろうことを考えると、TLS1.2のみでも良いかもしれません。
SSLとTLSの違いについて|GMOグローバルサイン【公式】
ちなみに、SSL/TLSは正式名称で以下です。
- TLS (Transport Layer Security)
- SSL(Secure Sockets Layer)