单个身份validation失败后帐户locking

我有2个独立的服务器(不在任何域/广告) – Windows 2003和Windows 2008。

当连接到他们的共享,使用从Windows 2000专业版或Samba(Linux下)的UNCpath,如果我input密码input有误,这些服务器将首次尝试locking帐户

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

在所有的连接机器上,它会报告validation失败,并将再次要求凭证。 但是从Windows 2000和Samba来看,即使密码正确,第二次尝试仍然会失败。 尝试login到这些机器将报告帐户locking。

策略集是locking10个失败的帐户,当连接尝试从W2008或W2003完成时,它的行为是正确的 – 即,即使第一次尝试失败,下一个将成功。

我已经做了实验来解锁帐户,从W2000盒子我故意尝试用错误的密码login,甚至没有第二次尝试,我可以看到该帐户被locking。

任何想法我可以改变,所以我避免这个问题? 当我匆忙(当然:))时,通常会发生这种情况,所以处理login计算机以解锁帐户是非常令人沮丧的。

    我不确定你对Wireshark有什么样的熟悉程度,所以如果这太冗长或者简洁,我很抱歉。 😉

    本质上你想安装并启动Wireshark的任何一端 – 它应该不重要 – 并开始在适当的接口捕获:

    1. 在Wireshark中,单击Capture菜单,然后Options…
    2. select适当的界面。
    3. 既然你提到你不在一个域,我build议进入Capture Filter来限制捕获的stream量,如下所示:
      host 169.254.255.127
      IP地址应该用于远程主机。
    4. Start捕获,然后尝试浏览共享。
    5. 等到共享出现,或者出现一个无效的用户名/密码框,然后停止捕获。

    我可能会build议你从每个位置进行两次这样的操作。 首先,用正确的用户名和密码; 其次,使用无效的用户名和/或密码。 在每次尝试之间,请务必断开远程共享(以便重新请求身份validation),方法是:

     net use \\remoteserver\SharedFolder /delete 

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

     smb 

    一开始,您应该在Info字段中看到基本上有三种types的传输:

    • Negotiate Protocol Request/Response
      这些显示了客户端支持的协议以及服务器接受的协议。 您可以在“ Packet details部分中展开以查看服务器是否使用NTLM,Kerberos等。
    • Session Setup AndX Request/Response
      这是身份validation,希望在挑战/响应风格中发生。 您将看到来自服务器的几个可能的Response
      • STATUS_MORE_PROCESSING_REQUIRED :身份validation正在进行中。
      • STATUS_LOGON_FAILURE :这是一个login失败 – 你将对这些最感兴趣!
      • (无),在这种情况下,您可以展开“ SMB >“ SMB Header然后查找NT Status: STATUS_SUCCESS ,这表示authentication成功。
    • Tree Connect AndX Request/Response
      这是客户端要求连接到服务器上的特定位置; 您通常会看到访问IPC$以及您真正想要的份额。

    那么你实际上在寻找的是那些表示STATUS_LOGON_FAILURE 。 然后,看上面的一行,看看哪个用户无法validation。

    现在,无论何时浏览共享,都会看到login失败。 这是因为Windows首先尝试使用login的用户帐户进行身份validation。 所以,即使在“现代”操作系统家族(2k3,Vista,2k8)之间,login失败也不要惊讶。

    当我之前运行这个testing时,我甚至在尝试使用REMOTECOMPUTER\remoteuser (在我的情况下,第一次尝试成功)之前,发现了LOCALCOMPUTER\localuser三次login失败。 而当我试图对另一个域上的机器,我得到了十个login失败! 那是甚至在它之前提示replace凭证。

    如果您想过滤除authentication以外的所有内容,请将显示filter更改为:

     smb.cmd == 0x73 

    要查看所有login失败的列表,请将显示filter更改为:

     smb.nt_status == 0xc000006d 

    请记住,这些login失败可能没有任何影响,因为远程计算机上通常不存在帐户(所以没有“负面会计”,可以这么说,要完成)。

    编辑 :您可能想暂停几秒钟,当它提示备用凭据,以便您清楚地知道哪些validation失败属于“自动”尝试,哪些属于您故意迷惑凭据。

    让我们知道你发现什么!

    NTLM和NTLMv2之间的区别很可能是有问题的。 Windows 2000和Samba默认为NTLM,NTLM在Windows 2003和Windows 2008服务器上显示为有效的密码尝试,但在期待NTLMv2时无法正确解释密码。

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

    您可以尝试configuration您的Windows 2000和Samba使用NTLMv2 …

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

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

    这也可能是由于每个连接尝试有几个连续的身份validation挑战。 http://support.microsoft.com/kb/264678上有一篇知识库文章和一个Win2K修补程序

    您可能希望禁用您不使用任何方式的身份validation方法。 🙂