在我的 Windows Server 2012 R2(即将升级)上,我的事件记录器已充满
- 事件 ID
36887
A fatal alert was received from the remote endpoint. The TLS protocol defined fatal alert code is 40.
及来源Schannel
它大约每小时发生一次(+/- 几十秒),首次登录时间为 2022 年 11 月 10 日下午 1 点。最后一次 Windows 更新发生在 2022 年 11 月 9 日。
它在 Windows 日志 > 系统下弹出。
我也在 2022 年 11 月 8 日注意到了类似的错误
36882
The certificate received from the remote server was issued by an untrusted certificate authority. Because of this, none of the data contained in the certificate can be validated. The SSL connection request has failed. The attached data contains the server certificate.
带来源的事件Schannel
36888
A fatal alert was generated and sent to the remote endpoint. This may result in termination of the connection. The TLS protocol defined fatal error code is 48. The Windows SChannel error state is 552.
带来源的事件Schannel
在每个事件 ID 发生前几秒的另一个值得注意的模式36887
是
- 事件
7036
The WinHTTP Web Proxy Auto-Discovery Service service entered the running state.
来源Service Control Manager
我尝试停止并启动 WinHTTP 和任何相关服务,看看是否可以重现该错误,但无济于事。我还使用 Wireshark 监控故障期间的连接。我发现最接近的匹配是 20.121.85.115(Microsoft IP),并出现致命警报(握手失败)。
我相信一些每小时运行一次的 Windows 服务正在使用无效的 SSL 证书调用一些 Microsoft IP。我只是不知道是什么。
有什么想法如何解决此错误吗?
答案1
您可以通过启用 CAPI 日志获取有关不受信任证书的更多信息。默认情况下,该日志处于禁用状态,您可以右键单击它以启用日志。
应用程序和服务/Microsoft/Windows/CAPI2/操作
它通常会包含证书主体名称和指纹。示例如下。
可能使用了由较新的 Microsoft CA 颁发的证书,而您的主机没有安装更新的根 CA 或中间 CA 证书。
Windows 会尝试自动下载新的或更新的证书。如果禁用该功能(关闭自动根证书更新)或阻止访问,则可能需要下载证书并将其放在共享位置以进行自动更新。
配置受信任的根和不允许的证书
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn265983(v=ws.11)
Certutil 可用于下载证书以填充网络共享,以供组策略分发。
Certutil -syncWithWU \\Server1\CTL
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-CAPI2" Guid="{5bbca4a8-b209-48dc-a8c7-b23d3e5216fb}" />
<EventID>30</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>30</Task>
<Opcode>0</Opcode>
<Keywords>0x4000000000000001</Keywords>
<TimeCreated SystemTime="2022-11-18T14:15:15.4126330Z" />
<EventRecordID>26</EventRecordID>
<Correlation ActivityID="{bfcbf0f2-f4ee-0002-66f1-cbbfeef4d801}" />
<Execution ProcessID="636" ThreadID="14532" />
<Channel>Microsoft-Windows-CAPI2/Operational</Channel>
<Computer>XXX</Computer>
<Security UserID="S-1-5-18" />
</System>
<UserData>
<CertVerifyCertificateChainPolicy>
<Policy type="CERT_CHAIN_POLICY_MICROSOFT_ROOT" constant="7" />
<Certificate fileRef="AD81722A9E0E6394748343D025887D9285AE95D9.cer" subjectName="cxcs.microsoft.net" />
<CertificateChain chainRef="{73D8FB26-4CD0-4E8D-BBCE-1095FA7EC749}" />
<Flags value="0" />
<Status chainIndex="0" elementIndex="2" />
<EventAuxInfo ProcessName="lsass.exe" />
<CorrelationAuxInfo TaskId="{D6FE4576-970E-4588-B77A-718E2027EFF0}" SeqNumber="1" />
<Result value="800B0109">A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.</Result>
</CertVerifyCertificateChainPolicy>
</UserData>
</Event>