AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 115863
Accepted
Sunny
Sunny
Asked: 2010-02-24 08:42:03 +0800 CST2010-02-24 08:42:03 +0800 CST 2010-02-24 08:42:03 +0800 CST

单次认证失败后的账户锁定

  • 772

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

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

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

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

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

我已经完成了解锁帐户的实验,从 W2000 盒子我故意尝试使用错误的密码登录,即使没有第二次尝试我也可以看到该帐户已被锁定。

知道我可能会改变什么,所以我避免了这个问题吗?它通常发生在我赶时间的时候(当然:) ),所以处理登录机器以解锁帐户真的很令人沮丧。

windows-server-2008 windows-server-2003 samba accounts
  • 3 3 个回答
  • 5674 Views

3 个回答

  • Voted
  1. Best Answer
    fission
    2010-03-03T22:35:54+08:002010-03-03T22:35:54+08:00

    我不确定您对 Wireshark 的熟悉程度如何,所以如果这太冗长或过于简洁,我深表歉意。;-)

    本质上,您希望在任一端安装和启动 Wireshark - 哪一个都无所谓 - 并开始在适当的界面上捕获:

    1. 在 Wireshark 中,单击Capture菜单,然后Options…
    2. 选择合适的接口。
    3. 由于您提到您不在域上,我建议输入 aCapture 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来自服务器的几个可能的 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(在我的例子中,第一次尝试就成功了)。当我在另一个域上的机器上尝试它时,我有十次登录失败!那是在它甚至提示我提供备用凭据之前。

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

    smb.cmd == 0x73
    

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

    smb.nt_status == 0xc000006d
    

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

    编辑:您可能希望在提示输入备用凭据时暂停几秒钟,以便您清楚地了解哪些身份验证失败属于“自动”尝试,哪些属于您故意输入错误的凭据。

    让我们知道你发现什么!

    • 9
  2. Dscoduc
    2010-02-24T23:03:27+08:002010-02-24T23:03:27+08:00

    您很可能对 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 更安全。

    • 1
  3. dannysauer
    2010-02-27T14:06:39+08:002010-02-27T14:06:39+08:00

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

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

    就此而言,您可能希望禁用您不使用任何一种方式的身份验证方法。:)

    • 0

相关问题

  • 从 2003 年迁移到 2008 年 Microsoft 群集技术

  • 有什么理由使用 Windows Server 2003 而不是 Server 2008?

  • 是否可以在单个 W2008 服务器上安装 Exchange Server?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve