近日,微软向企业 IT 管理员发布技术提醒,企业网络中防火墙、代理服务器的 TLS 流量检测功能,会造成 Windows 更新连接中断,设备无法正常接收系统补丁。这份提示于 8 月 31 日出现在 Windows 消息中心,完整技术文档最早在 5 月 11 日发布于 Windows IT Pro 博客。
Windows 更新服务全程基于 TLS 协议工作,会严格校验微软官方服务器证书。该机制承担三重作用:加密设备与服务器之间传输流量、校验传输数据完整性、确认通信对象是微软官方更新服务器,抵御中间人攻击。
但企业环境中防火墙、代理开启 TLS 检测时,设备网络流量会被中间设备劫持,替换为设备自身生成的证书。Windows 更新服务识别证书并非微软可信根证书颁发机构签发,直接主动断开合法连接,更新流程就此失败。除此之外部分 VPN 服务商也会拦截 DNS 查询,导致终端无法访问更新服务器,开启 VPN 后出现更新故障,建议向 VPN 服务商确认相关限制。
微软建议管理员通过 PowerShell 导出 Windows 更新审计日志,以此判断网络层面是否拦截更新流量。
导出日志脚本:
$output = "$env:TEMP\WindowsUpdate.log"
Get-WindowsUpdateLog -LogPath $output
Write-Host "Windows Update log written to $output"
生成日志文件后,重点查找以下 4 个故障代码,前两个代表网络连通异常,后两个指向证书校验失败:
微软特别提示,单台设备成功连接某一个更新节点,不能代表整套更新服务工作正常。Windows 更新协议涉及大量后端节点,必须依靠日志与 API 返回码判断真实运行状态。
解决思路是为 Windows 更新流量设置豁免,跳过 TLS 解密检测,基于域名 FQDN 配置排除规则,不要仅填写 IP 地址。
推荐使用通配符域名 *.update.microsoft.com,该规则会递归匹配主域名以及全部子域名,自动覆盖 update.microsoft.com、sls.update.microsoft.com、tas02.sls.update.microsoft.com 等子站点。
企业内部部署 WSUS(Windows 服务器更新服务),终端设备从内网服务器获取补丁,不需要配置微软公网域名豁免。终端不会直连微软外部更新服务器。
如果 WSUS 服务器强制启用 TLS 加密、部署自有证书,则需要在防火墙、代理上为 WSUS 服务器地址配置豁免规则,保障内网终端访问 WSUS 链路正常。
很多企业 Windows 更新失败,并非系统文件损坏,根源来自网络安全设备的 TLS 检测策略。运维人员排查更新故障,优先查看更新日志的错误码,使用域名通配符添加代理防火墙豁免,可大幅减少这类疑难更新报错。