我有 2 台独立服务器(不在任何域/AD 中)——Windows 2003 和 Windows 2008。
当使用 Windows 2000 pro 或 Samba(在 linux 下)的 UNC 路径连接到它们上的共享时,如果我输入错误密码,这些服务器将在第一次尝试时锁定帐户。
从 Windows 2003、Windows 2008 和 Vista 连接时,它工作正常。
在所有连接的机器上,它会报告身份验证失败,并会再次要求提供凭据。但从 Windows 2000 和 Samba 开始,即使密码正确,第二次尝试也会继续失败。尝试登录这些机器会报告帐户被锁定。
策略集是在 10 次失败时锁定帐户,并且当从 W2008 或 W2003 进行连接尝试时,它的行为正确 - 即即使第一次尝试失败,下一次尝试也会成功。
我已经完成了解锁帐户的实验,从 W2000 盒子我故意尝试使用错误的密码登录,即使没有第二次尝试我也可以看到该帐户已被锁定。
知道我可能会改变什么,所以我避免了这个问题吗?它通常发生在我赶时间的时候(当然:) ),所以处理登录机器以解锁帐户真的很令人沮丧。
我不确定您对 Wireshark 的熟悉程度如何,所以如果这太冗长或过于简洁,我深表歉意。;-)
本质上,您希望在任一端安装和启动 Wireshark - 哪一个都无所谓 - 并开始在适当的界面上捕获:
Capture
菜单,然后Options…
Capture Filter
以限制捕获的流量,例如:host 169.254.255.127
IP 地址应该用于远程主机。
Start
捕获,然后尝试浏览共享。我可能会建议您从每个位置执行两次;首先,使用正确的用户名和密码;其次,使用无效的用户名和/或密码。在每次尝试之间,请务必断开与远程共享的连接(以便它重新请求身份验证),方法是:
我们在这里寻找的是
SMB
数据,因此删除所有无关内容的第一种方法是在工具栏的字段中应用一个简单的显示过滤器:Filter:
一开始,您应该在现场看到基本上三种类型的传输
Info
:Negotiate Protocol Request/Response
这些显示客户端支持的协议,以及服务器接受的协议。您可以在该部分中展开它
Packet details
以查看服务器是否使用 NTLM、Kerberos 等。Session Setup AndX Request/Response
这是身份验证,希望以质询/响应方式发生。您将看到
Response
来自服务器的几个可能的 s: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
(在我的例子中,第一次尝试就成功了)。当我在另一个域上的机器上尝试它时,我有十次登录失败!那是在它甚至提示我提供备用凭据之前。如果要过滤除身份验证之外的所有内容,请将显示过滤器更改为:
要查看所有登录失败的列表,请将显示过滤器更改为:
请记住,这些登录失败可能不会产生任何影响,因为通常该帐户不会在远程计算机上存在(因此没有“负会计”,可以这么说)。
编辑:您可能希望在提示输入备用凭据时暂停几秒钟,以便您清楚地了解哪些身份验证失败属于“自动”尝试,哪些属于您故意输入错误的凭据。
让我们知道你发现什么!
您很可能对 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 更安全。
如果您有一个用户在两个域中的用户名相同(但密码不同),并且他们尝试从一个域中的计算机连接到另一个域中的计算机,则可能会发生这种情况。
这也可能是由于每次连接尝试都有几个连续的身份验证挑战。在http://support.microsoft.com/kb/264678上有一篇知识库文章和一个 Win2K 修复程序
就此而言,您可能希望禁用您不使用任何一种方式的身份验证方法。:)