我的情况是,我有一个网站通过Windows Server 2012 R2标准中的IIS设置使用Windows身份validation已被检测为易受到NTLMv1攻击,所以我期待禁用此function,只允许NTLMv2。
从我对这个话题的研究中,发现了很多有用的信息,比如“匿名login”和“NTLM V1”什么的禁用? 和https://markgamache.blogspot.co.nz/2013/01/ntlm-challenge-response-is-100-broken.html
从这些链接和像他们一样,通常给出的唯一答案是在名为LmCompatibilityLevel的HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa下具有registry值并对其进行调整。 我已经尝试将其设置为值5,即客户端只使用NTLMv2身份validation,如果服务器支持它们,则使用NTLMv2会话安全性。 域控制器拒绝LM和NTLM身份validation响应,但它接受NTLMv2。
但是,当我这样做时,似乎我仍然能够成功地连接到网站使用我的Windows凭据从另一台服务器,我已经设置LmCompatibilityLevel设置为0,应该只使用/允许LM / NTLM。
我检测到使用NTLMv1身份validation的方式是通过Windows安全日志。
Detailed Authentication Information: Logon Process: NtLmSsp Authentication Package: NTLM Transited Services: - Package Name (NTLM only): NTLM V1 Key Length: 128
当在连接之前在客户端服务器上将registry值设置为3或更高时,“包名称”值将变为NTLM V2。
我也将本地和组安全策略networking安全:LAN Manager身份validation级别更改为仅发送NTLMv2响应。 拒绝LM和NTLM,但我从我的testing中了解到,对于相同的设置,这些实质上是不同的接口。
有没有人经历过这个或知道是否有一个不同的设置我错过了,我需要改变?
根据我的经验,当configurationNTLMv2(在2008 R2中configuration身份validation)时,由于设置ntlm.auth.domain的域名不正确,我遇到了这个问题。
在@Silvio Meier中发现了解决scheme(2.陷阱),它更好地描述了一个问题: https ://web.liferay.com/community/forums//message_boards/message/57355858
3只发送NTLMv2, 但它接受 LM,NTLMv1和NTLMv2。 https://technet.microsoft.com/en-us/library/2006.08.securitywatch.aspx
如果以后有人遇到同样的问题,看起来这个设置被域控制器的设置覆盖了,而这个设置是低的。 将域控制器设置为级别5时(仅发送NTLMv2响应,拒绝LM和NTLM),则拒绝NTLM v1连接。
如果我们编辑registry并重新启动计算机,设置也被重新启动覆盖,所以只有编辑域控制器设置才能达到拒绝NTLMv1连接所需的结果。