Windows 2003 Active Directory:记录失败的登录尝试和所用的密码?我不仅想记录用户名,还想记录用于调试的密码。有办法吗?其中一个应用程序无法使用少于 9 个字符的密码进行连接,所以我想查看 Windows 2003 系统收到的用户名和密码是什么。
答案1
不可以。你不能这么做。无论如何,这样做都是非常糟糕的安全做法,因为你会收集用户可能用于其他服务的一长串用户名和密码。
你能要做的是在组策略中强制执行 9 个字符的最小密码长度,考虑到当前的问题,这似乎是明智的做法。
答案2
从技术上来说,记录明文密码也是不可能的,因为服务器根本就收不到密码——Windows 目前使用的所有身份验证协议都使用所谓的“NT 哈希”(UTF-16LE 密码表示的 MD4 哈希)来代替密码,而且 NT 哈希也不会直接传递给服务器(即使是加密形式),而是用作 HMAC 密钥(在NTLMv2) 或作为 Kerberos TGT 的加密密钥。因此,服务器只能检查密码是否正确,但无法确定连续几次输入错误密码是否使用了同一个密码。
答案3
由于无法记录明文密码失败,您可以从另一个角度调试问题,并查看您的应用程序以确定为什么它无法使用少于 9 个字符的密码?听起来应用程序本身可能有一些密码要求,人们会认为这些要求应该是可配置的。
不过,我认为 MDMarra 强制用户使用长度 >= 9 的密码的建议是好的。即使是台式机(或台式机 GPU)也拥有强大的计算能力,因此认为 8 个字符和 4 个字符集中的 3 个足以抵御暴力破解和彩虹表攻击已不再安全。