跳转到内容

Windows TLS 加固:Schannel、密码套件与可回滚

核验于 1 分钟阅读

用 TLS 1.2/1.3、克制的密码套件、注册表备份和客户端测试加固 IIS/Nginx,再禁用旧协议。

测试环境Standard / Datacenter · 版本号 26100.33650 · x64
E1
版本号
26100.33650
版本
Standard / Datacenter
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
任务

Windows TLS 是 Schannel;IIS/HTTP.sys 和许多服务都用它。加固要克制:

  1. 盘点客户端和协议。
  2. 开 TLS 1.2/1.3;客户端测试后再关 1.0/1.1。
  3. 去掉已知弱套件;优先 ECDHE + AES-GCM/ChaCha20。
  4. 改前备份注册表。
  5. 用 openssl s_client 和真实客户端矩阵测。

不要把网上的“完美 TLS”注册表直接粘到生产。

终端窗口
Get-TlsCipherSuite | Select-Object Name,Protocol
openssl s_client -connect lab.example:443 -servername lab.example -tls1_2
openssl s_client -connect lab.example:443 -servername lab.example -tls1_3

openssl 显示协商协议/套件。外部视角用 TLS 扫描器;不要只看浏览器小锁。

注册表路径(机器策略):

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server

典型加固:旧协议 Enabled=0、DisabledByDefault=1;1.2/1.3 Enabled=1、DisabledByDefault=0。Schannel 改动通常要重启。

先备份:

终端窗口
reg export "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" C:\backup\schannel.reg
终端窗口
Get-TlsCipherSuite | Sort-Object Name
Disable-TlsCipherSuite -Name 'TLS_RSA_WITH_3DES_EDE_CBC_SHA'

优先 ECDHE + AES-GCM/ChaCha20。旧客户端还需要某 CBC 套件时不要全禁;记录例外。旧客户端可能受套件顺序影响。

  • IIS 用 Schannel;站点绑定只选证书。
  • Nginx 用 OpenSSL,不走 Schannel。Windows Nginx TLS 由 ssl_protocols/ssl_ciphers 决定,不是注册表。
  • 同一台机器两者都有,分开加固。
终端窗口
# before
openssl s_client -connect lab.example:443 -servername lab.example -tls1_2 </dev/null
# after
curl.exe -I https://lab.example/

至少测:当前 Chrome/Edge、移动端、API 客户端、必须支持的旧设备。

E1。实验室 WAC 用自签名证书,没有改 Schannel。注册表/套件步骤是 Server 2025 上待验证的加固计划。

来源