TLS 1.0 在禁用后仍在 IIS 中使用

Dwa*_*ill 2 iis ssl tls

我已在 Windows Server 2008 R2 上配置 IIS 以不允许使用 TLS 1.0。我通过设置这些 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)
Run Code Online (Sandbox Code Playgroud)

在客户端,我使用 FireFox 48.0 和 IE 9 进行测试。(我无法使用更高版本的 IE,因为网络管理员已锁定设置)。这就是我配置 IE 以强制使用 TLS 1.0 的方式:

工具-Internet 选项-高级

这是我配置 FireFox 以强制使用 TLS 1.0 的方式:

在此处输入图片说明

我正在使用 WireShark 来确认正在使用的协议。这是我在浏览器中强制使用 TLS 1.0 时的样子: 在此处输入图片说明

我还使用了下面建议的 OpenSSL 命令来确认仍在使用 TLS 1.0:

openssl s_client -tls1 -connect mysite.com:443
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中强制使用 TLS 1.1,这就是 WireShark 的样子: 在此处输入图片说明

问题是服务器配置为不允许使用 TLS 1.0,但是当我将浏览器配置为仅使用 TLS 1.0 时,正在使用 TLS 1.0。如果我将 IE 配置为不允许任何版本的 TLS,那么它会返回一个错误“ Internet Explorer cannot display the web page”,这正是我所期望的。我的目标是防止服务器使用 TLS 1.0,即使客户端只支持 TLS 1.0,因为 TLS 1.0 存在安全漏洞。如何让 IIS 停止使用 TLS 1.0?

Anu*_*ioz 5

如果使用以下openssl命令请求,您可以验证服务器是否将提供 TLS 1.0 。

openssl s_client -tls1  -brief -connect example.com:443
Run Code Online (Sandbox Code Playgroud)

如果连接成功,您将看到如下内容:

CONNECTION ESTABLISHED
Protocol version: TLSv1
Ciphersuite: DHE-RSA-AES256-SHA
Peer certificate: CN = example.com
Server Temp Key: DH, 8192 bits
Run Code Online (Sandbox Code Playgroud)

如果连接失败,您将看到:

write:errno=104
Run Code Online (Sandbox Code Playgroud)

您可以通过发出以下命令来测试对其他协议的支持:

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