【发布时间】:2016-11-21 11:23:07
【问题描述】:
我们最近受到网络团队的质疑,原因是 AD 域控制器捕获的 NTLM 身份验证失败。这些请求是从已加入域的 Windows 2008 Server 上托管的服务之一触发的。 该服务正在使用本地系统帐户登录。这就是为什么捕获失败的 NTLM 登录的原因,因为没有使用域用户登录捕获失败的登录。但是公司政策不允许域用户登录。
使用 Wireshark 工具,我们发现请求来自 X509Chain 对象的 Build 函数。这是.NET框架提供的默认功能,我们找不到任何有用的支持文档:
- 解释触发 NTLM 请求的原因
- 证明请求不存在安全威胁
- 如何在应用层进行配置以避免登录请求失败(不允许更改策略规则或 AD 审计)
部分代码(VB.NET):
Dim chnCerts As X509Chain = New X509Chain()
chnCerts.ChainPolicy.RevocationFlag = X509RevocationFlag.EndCertificateOnly
chnCerts.ChainPolicy.RevocationMode = X509RevocationMode.Online
chnCerts.ChainPolicy.UrlRetrievalTimeout = New TimeSpan(0, 0, 120)
chnCerts.ChainPolicy.VerificationFlags = X509VerificationFlags.NoFlag
If certType = Crypto.CertType.PrivateKeyCert Then
certPrivateValidationStatus = Nothing
chnCerts.Build(certPrivate)
【问题讨论】:
标签: .net security x509certificate ntlm cryptoapi