Windows系统启用TLS1.2和TLS1.3详解(TLS漏洞修复)
前言
公司使用的服务器版本是win server 2022。在公司的安全扫描中,发现TLS漏洞,漏洞描述是说服务器中使用低版本的TLS协议(服务器中默认使用TLS1.0和TLS1.1版本)。经过检索后,发现没有能解决问题的,什么改浏览器设置都是扯淡。因此,总结出TLS协议升级的流程以供参考。
1.脚本法
启用TLS协议1.2和1.3需要修改注册表,如果不熟悉注册表,可能会修改错误。先给出通过bat脚本启用高本版TLS协议的方法,只需要一个简单的脚本就可以完成设置。亲测有效。
1.1创建bat脚本
创建一个txt文档,输入以下内容:
::65001 代表使用UTF-8编码,避免中文提示乱码
chcp 65001
@echo 正在添加TLS1.2和1.3键(项)......
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server"
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client"
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server"
@echo 正在添加TLS1.2和1.3值(DWORD)......
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v DisabledByDefault /t REG_DWORD /d 0 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v Enabled /t REG_DWORD /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" /v DisabledByDefault /t REG_DWORD /d 0 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" /v Enabled /t REG_DWORD /d 1 /f
@echo 正在添加TLS1.0和1.1键(项)......
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client"
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server"
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client"
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server"
@echo 正在禁用1.0和1.1低版本TLS协议......
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v Enabled /t REG_DWORD /d 0 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 0 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v Enabled /t REG_DWORD /d 0 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 0 /f
@echo TLS配置已完成,请重启电脑,使TLS协议配置生效!!!
pause
说明:该脚本的作用是修改注册表。可以理解为启用TLS1.2和TLS1.3高版本的协议,并设置为默认协议;禁用TLS1.0和TLS1.1版本,不作为默认版本的协议使用。
1.2运行脚本
在txt中添加以上文本后,修改txt文件的后缀。将.txt修改为.bat后缀,然后以管理员身份运行即可。
1.3重启服务器
修改了TLS协议之后,需要重启服务器才能适用新的修改。运行脚本后,需要重启服务器即可完成修改。
2.分步法步骤详解
本次修复TLS漏洞的方法是通过“通义千问”解答后,经过本人检索bat脚本的用法,然后整理出来的。手动修复TLS协议漏洞,详细解决方法的步骤如下:
2.1通义千问答复
2.2打开注册表
在windows菜单下,输入“regedit”打开注册表编辑器:
2.3创建TLS1.2和TLS1.3注册表
注册表路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
需要进入到注册表\Protocols路径下,创建两个“项”,分别命名为“TLS 1.2”和“TLS 1.3”。
2.4配置TLS1.2和TLS1.3服务端、客户端
升级TLS协议,需要在TLS1.2和TLS1.3两个项中配置客户端和服务端都启用TLS1.2和TLS1.3。
在新建的两个项"TLS 1.2"和"TLS1.3"中,再新建两个项"Client"和"Server",表示客户端和服务端通讯都启用"TLS 1.2"和"TLS1.3"协议。
2.5启用TLS1.2和TLS1.3版本协议
新建两个项"Client"和"Server"后,需要设置客户端和服务端默认都启用TLS1.2和TLS1.3协议通讯。
在"Client"和"Server"两个项中,分别新建一个DWORD(32位)值,名字为"Enabled",值设置为1。
说明:Enabled值设置为1,表示默认启用该协议。
2.6禁用1.0和1.1版本的协议
1.在注册表\Protocols路径下,分别新建两个项,名字为"TLS 1.0"和"TLS 1.1"
2.在"TLS 1.0"和"TLS 1.1"下,再分别新建两个项,名为"Client"和"Server"
3.在"Client"和"Server"两个项中,新建一个DWORD( 32 位)值,名字设置为"Enabled",值设置为“0”。
说明:Enabled值设置为0,表示默认不启用(禁用)该版本TLS协议。
2.7重启服务器
修改了TLS协议之后,需要重启服务器才能适用新的修改。运行脚本后,需要重启服务器即可完成修改。
经过测试之后,TLS漏洞已修复,不再报TLS低版本的漏洞威胁。