Windows 服务器禁用 SSL 2 和 SSL 3 协议

[TOCM]

一、前言


首先说明一下,SSL 2 和 SSL 3 协议是两种过时的协议,原因是它们存在很严重的漏洞,所以我们要在服务端禁用 SSL 2 和 SSL 3 协议,以避免一些安全问题。

  • SSL 2 协议:漏洞名为 DROWN(溺水攻击 / 溺亡攻击)。DROWN 漏洞可以利用过时的 SSL 2 协议来解密与之共享相同 RSA 私钥的 TLS 协议所保护的流量。

  • SSL 3 协议:漏洞名为 POODLE(卷毛狗攻击)。POODLE 漏洞只对 CBC 模式的明文进行了身份验证,但是没有对填充字节进行完整性验证,攻击者窃取采用 SSL 3 版加密通信过程中的内容,对填充字节修改并且利用预置填充来恢复加密内容,以达到攻击目的。

关于更多基于 SSL/TLS 协议的漏洞,请查看这篇文章《常见的几种 SSL/TLS 漏洞及攻击方式》。

在 Windows 系统中,服务器如果使用 Windows Server 2016 版本系统,那么恭喜你了,你可以省去禁用 SSL 2 和 SSL 3 协议的工作了,因为在此版本系统以后,微软已经默认禁用这两种协议了。如果你还不放心,下面有 SSL 服务器测试能帮你检测。其它版本系统,可参照下文介绍的 2 种设置方法来禁用协议。

二、禁用 SSL 2 和 SSL 3 协议


1、通过修改注册表禁用协议
  1. Win + R 键,打开运行,输入 regedit ,打开“注册表编辑器”。

  2. 在注册表编辑器,找到以下注册表项/文件夹:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

  3. 在“SSL 2.0”文件夹,右键单击并选择“新建”,然后单击“项(K)”。然后重命名文件夹为“Server”。

  4. 右键点击“Sever”文件夹,选择“新建”,然后单击“DWORD(32-bit)值”。

  5. 将新建的 DWORD 重命名为“Enabled”,并按下回车键或者双击查看。

  6. 请确保它显示 0x00000000(0)。如果没有,请右键单击并选择修改,输入 0 作为数值数据。

  7. 现在,禁用 SSL 3,对“SSL 3.0”文件夹,右键单击并选择“新建”,然后单击“项(K)”。命名新的文件夹为“Server”。

  8. 右键点击“Sever”文件夹,选择“新建”,然后单击 DWORD(32-bit)值。

  9. 将新建的 DWORD 重命名为“Enabled”,并按下回车键或者双击查看。

  10. 请确保它显示 0x00000000(0)的数据列下。如果没有,请右键单击并选择修改,输入 0 作为数值数据。

    通过修改注册表禁用协议

  11. 重新启动计算机。

2、使用 IIS Crypto 工具

IIS Crypto 是一个免费工具,使管理员能够在 Windows Server 2008,2012,2016 和 2019 上启用或禁用协议,密码,哈希和密钥交换算法。它还允许您重新排序 IIS 提供的 SSL / TLS 密码套件,更改高级设置,只需单击即可实施最佳实践,创建自定义模板并测试您的网站。

IIS Crypto 工具

使用这个工具,设置简单方便,功能也多,懒人必备啊。这个工具需要安装到服务器,并且需要管理员权限。

IIS Crypto 工具网址:https://www.nartac.com/Products/IISCrypto/

三、SSL 服务器测试


使用下面两个测试网站,可以查看你的网站的安全状态。

四、参考文献


微软文档:Protocols in TLS/SSL (Schannel SSP) - Windows applications

(完)