Windows Server 2008R2でTLS1.0を許可しないようにIISを構成しました。これを行うには、次のregキーを設定して再起動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server\DisabledByDefault set to 1 (as a DWORD)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server\Enabled set to 0 (as a DWORD)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client\DisabledByDefault set to 1 (as a DWORD)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client\Enabled set to 0 (as a DWORD)
クライアント側では、FireFox48.0とIE 9を使用してテストしています(ネットワーク管理者が持っているため、IE設定はロックダウンされています)これは、TLS1.0を強制するためにIEを構成する方法です:
これは、TLS1.0を強制するようにFireFoxを構成する方法です。
使用されているプロトコルを確認するためにWireSharkを使用しています。これは、ブラウザでTLS 1.0を強制するとどのように見えるかです:
また、以下に提案するOpenSSLコマンドを使用して、TLS1.0がまだ使用されていることを確認しました。
openssl s_client -tls1 -connect mysite.com:443
ブラウザでTLS1.1を強制すると、WireSharkは次のようになります。
問題は、サーバーがTLS 1.0を許可しないように構成されていることですが、ブラウザーをTLS 1.0のみを使用するように構成すると、TLS1.0が使用されます。 TLSのどのバージョンも許可しないようにIEを構成すると、エラー "Internet Explorer cannot display the web page
"これは私が期待することです。私の目標はクライアントがTLS1.0のみをサポートしている場合でもサーバーがTLS1.0を使用しないようにすることです。セキュリティの脆弱性があります。TLS1.0の使用を停止するためにIISを取得するにはどうすればよいですか?
次の openssl コマンドで要求された場合、サーバーがTLS1.0を提供するかどうかを確認できます。
openssl s_client -tls1 -brief -connect example.com:443
接続が成功すると、次のように表示されます。
CONNECTION ESTABLISHED
Protocol version: TLSv1
Ciphersuite: DHE-RSA-AES256-SHA
Peer certificate: CN = example.com
Server Temp Key: DH, 8192 bits
接続に失敗した場合は、次のように表示されます。
write:errno=104
以下を発行して、他のプロトコルのサポートをテストできます。
TLS v1.1:openssl s_client -tls1_1 -brief -connect example.com:443
TLS v1.2:openssl s_client -tls1_2 -brief -connect example.com:443
SSL v3:openssl s_client -ssl3 -brief -connect example.com:443
私はこれが古いことを知っていますが、これは他の誰かを助けるかもしれません。 FIPSが有効になっている場合、TLS 1.0設定を上書きし、TLS1.0を有効にします。TLS1.0を無効にするには無効にする必要があります。これが誰かに役立つことを願っています。
問題は、SSLが実際にはサーバーではなくロードバランサーによって処理されていたため、ロードバランサーで無効にする必要があったことでした。