我们尝试通过设置相应的注册表项来禁用 Windows 2016 服务器上的弱 SSL/TLS 协议,如下所示: https://docs.microsoft.com/en-us/windows-server/security/tls/tls-registry-settings#tls-10
我们创建了以下 DWORD:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
重新启动服务器后,进行如下扫描https://www.ssllabs.com/ssltest/index.html仍然报告服务器支持 TLS 1.0 和 1.1。我们在更改后清除了扫描缓存,因此它不应该是缓存结果。我还通过
Invoke-WebRequest https://MyServer -SslProtocol Tls
如果我使用 IISCrypto 之类的工具,它会报告协议已被禁用。
欢迎提出任何关于为什么这些协议没有被上述注册表项禁用的想法!
答案1
您的服务器是否直接暴露在互联网上?这不再是一种常见的做法。如今,通常在服务器前面有一个负载平衡器或反向代理。如果有,那么这就是 SSL 实验室扫描所针对的对象,您需要禁用 TLS 1.0 和 1.1。