一次身份验证失败后帐户被锁定

一次身份验证失败后帐户被锁定

我有 2 台独立服务器(不在任何域/AD 中)-Windows 2003 和 Windows 2008。

当使用 Windows 2000 pro 或 Samba(在 Linux 下)的 UNC 路径连接到它们上的共享时,如果我输入密码错误,这些服务器将在第一次尝试时锁定该帐户。

从 Windows 2003、Windows 2008 和 Vista 连接时,它可以正常工作。

在所有连接的机器上,它将报告身份验证失败,并再次要求输入凭据。但是从 Windows 2000 和 Samba 开始,即使密码正确,第二次尝试也会失败。尝试登录这些机器将报告帐户被锁定。

策略集是在 10 次失败时锁定帐户,并且当从 W2008 或 W2003 进行连接尝试时,它会正确运行 - 即,即使第一次尝试失败,下一次尝试也会成功。

我已经做过解锁帐户的实验,从 W2000 盒子我故意尝试用错误的密码登录,甚至没有第二次尝试,我就可以看到帐户已被锁定。

知道我可以改变什么来避免这个问题吗?这种情况通常发生在我匆忙的时候(当然 :) ),因此登录机器解锁帐户真的很令人沮丧。

答案1

我不确定您对 Wireshark 的熟悉程度,因此如果这篇文章太冗长或简洁,我深表歉意。;-)

本质上,您需要在任一端安装并启动 Wireshark(无论哪一端),然后开始在适当的界面上捕获:

  1. 在 Wireshark 中,点击Capture菜单,然后Options…
  2. 选择适当的接口。
  3. 由于您提到您不在域中,我建议输入一个Capture Filter来限制捕获的流量,例如:
    host 169.254.255.127
    IP 地址应该是偏僻的主持人。
  4. Start捕获,然后尝试浏览共享。
  5. 等到共享出现,或者出现无效的用户名/密码框,然后停止捕获。

我建议您在每个位置执行两次此操作;第一次,使用正确的用户名和密码;第二次,使用无效的用户名和/或密码。在每次尝试之间,请务必断开与远程共享​​的连接(以便它重新请求身份验证),方法是:

net use \\remoteserver\SharedFolder /delete

我们在这里寻找的是SMB数据,因此删除所有不相关的内容的第一种方法是应用一个简单的显示过滤器Filter:工具栏中的字段中:

smb

一开始,你应该看到现场主要有三种类型的传输Info

  • Negotiate Protocol Request/Response
    这些显示了客户端支持的协议以及服务器接受的协议。您可以在此Packet details部分展开它以查看服务器是否正在使用 NTLM、Kerberos 等。
  • Session Setup AndX Request/Response
    这是身份验证,希望以质询/响应方式进行。您将看到Response来自服务器的几种可能:
    • STATUS_MORE_PROCESSING_REQUIRED:身份验证正在进行中。
    • STATUS_LOGON_FAILURE:这是登录失败——您会对这些最感兴趣!
    • (无),在这种情况下,您可以展开SMB>SMB Header并查找NT Status: STATUS_SUCCESS,这表示身份验证成功。
  • Tree Connect AndX Request/Response
    这是客户端要求连接到服务器上的特定位置;您通常会看到访问IPC$以及您真正想要的共享。

因此,您实际上要查找的是显示以下内容的行STATUS_LOGON_FAILURE。然后,查看该行上方的一行以查看哪个用户身份验证失败。

现在,每次浏览共享时,登录失败都是很常见的情况;这是因为 Windows 首先尝试使用已登录的用户帐户进行身份验证。因此,即使是在“现代”操作系统系列(2k3、Vista、2k8)之间,登录失败也不足为奇。

LOCALCOMPUTER\localuser当我之前运行此测试时,在尝试使用之前,我看到了三次登录失败REMOTECOMPUTER\remoteuser(在我的情况下,第一次尝试就成功了)。当我在另一个域上的机器上尝试时,我遇到了十次登录失败!这还是在它提示我输入备用凭据之前。

如果您想要过滤掉除身份验证之外的所有内容,请将显示过滤器更改为:

smb.cmd == 0x73

要查看所有登录失败的列表,请将显示过滤器更改为:

smb.nt_status == 0xc000006d

请记住,这些登录失败可能不会产生任何影响,因为通常该帐户不会存在于远程计算机上(因此不存在所谓的“负面会计”)。

编辑:当提示输入备用凭证时,您可能需要暂停几秒钟,这样您就能清楚地知道哪些身份验证失败属于“自动”尝试,哪些属于您故意输入错误的凭证。

让我们知道你发现什么!

答案2

您很可能遇到了 NTLM 和 NTLMv2 之间的差异问题。Windows 2000 和 Samba 默认使用 NTLM,这对 Windows 2003 和 Windows 2008 服务器来说似乎是有效的密码尝试,但在需要 NTLMv2 时无法正确解释密码。

我相信 Windows 2000 现在可以支持 NTLMv2 以及最新的 Samba 位...

您可以尝试配置您的 Windows 2000 和 Samba 以使用 NTLMv2...

您可以尝试的另一个策略是降级 Windows 2003/2008 服务器上的 NTLM 版本,以查看是否仍然存在问题。我不会将其保留在 NTLM,因为 NTLMv2 更安全。

答案3

如果您的用户在两个域中的用户名相同(但密码不同),并且他们尝试从一个域中的机器连接到另一个域中的机器,就会发生这种情况。

这也可能是由于每次连接尝试都要进行多次连续身份验证挑战。这里有一篇 KB 文章和一个 Win2K 修复程序http://support.microsoft.com/kb/264678

您可能想要禁用那些您不使用的身份验证方法。:)

相关内容