为什么 IIS 匿名身份验证与管理 UNC 驱动器访问一起使用?

为什么 IIS 匿名身份验证与管理 UNC 驱动器访问一起使用?

我的帐户是我的计算机上的本地管理员。

如果我尝试使用 UNC 路径名浏览我自己的机器上不存在的驱动器号:

\我的机器\x$

我的账户会被锁定。我还会在事件查看器中的“系统”组下收到以下警告(事件 ID 100,类型“警告”)5 次:

由于以下错误,服务器无法登录 Windows NT 帐户“ourdomain\myaccount”:登录失败:未知的用户名或密码错误。

我还会收到以下警告三次:

由于以下错误,服务器无法登录 Windows NT 帐户“ourdomain\myaccount”:引用的帐户当前已被锁定,可能无法登录。

在域控制器上,事件查看器中的“安全”组下会出现 4 次类型为“失败审核”的事件 ID 680:

登录尝试者:
MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 登录帐户:myaccount

接下来是事件 ID 644:

用户帐户已锁定:目标帐户名称:myaccount 目标帐户 ID:OURDOMAIN\myaccount 呼叫者机器名称:MYMACHINE 呼叫者用户名:STAN$ 呼叫者域:OURDOMAIN 呼叫者登录 ID:(0x0,0x3E7)

随后又出现 4 个错误,事件 ID 为 680。

奇怪的是,每次我尝试浏览 UNC 路径时,系统都会提示我输入用户名和密码,上述错误会写入日志,并且我的帐户会被锁定。

当我点击“取消”来响应用户名/密码提示时,将显示以下消息框:

Windows 找不到 \mymachine\x$。请检查拼写并重试,或者尝试单击“开始”按钮然后单击“搜索”来搜索该项目。

我与使用 XP 的小组中的其他人核实过,他们只有在浏览到机器上的“坏”驱动器号时才会出现上述消息框。没有其他人被提示输入用户名/密码然后被锁定。

因此,每次我尝试浏览“坏”驱动器号时,后台 XP 都会尝试使用错误凭据(或者至少是错误密码,因为登录信息正确)登录 8 次,导致我的帐户在第 4 次尝试时被锁定。有趣的是,如果我尝试浏览“好”驱动器(例如“c$”),它会正常工作。

作为测试,我尝试以不同的登录名登录我的机器并浏览“错误的”UNC 路径。奇怪的是,我的“ourdomain\myaccount”帐户被锁定了——而不是我登录的那个帐户!我完全搞不懂为什么要传递其他登录名的凭据。

经过大量的 Google 搜索,我找到了一个链接,其中提到了一些我过去熟悉的 IIS 设置,但看不出它们会如何影响这个问题。它与位于以下位置的 IIS 目录安全设置“匿名访问和身份验证控制”有关:

控制面板/管理工具/计算机管​​理/服务和应用程序/Internet 信息服务/网站/默认网站/属性/目录安全/匿名访问和身份验证控制/编辑/密码

我在互联网上搜索时没有发现任何迹象表明此属性与我的 UNC 问题有关。但我确实注意到此属性设置为我的域用户名和密码。而且,我的密码做过最近我访问了该属性,但我没有为此属性重置密码。果然,输入新密码后问题就解决了。浏览 UNC 路径时不再提示我输入用户名/密码,帐户锁定也停止了。

现在,有几个问题:

  • 为什么 IIS 设置会影响本地机器上 UNC 路径的浏览?
  • 为什么我以前没有遇到过这个问题?我的密码已经过期好几次了,我从来没有遇到过这个问题。而且,我已经记不清上次更新“匿名访问”IIS 密码是什么时候了,已经过去很久了。我以前在密码重置后运行过脚本,从来没有因为 UNC 问题(脚本访问 UNC 路径是其处理的正常部分)而导致我的帐户被锁定。
  • Windows Update 确实在 2009 年 7 月 29 日在我的电脑上安装了“适用于 Windows XP 的 Internet Explorer 7 累积安全更新 (KB972260)”。我不知道这是否是导致这种情况的原因。

答案1

因为您连接了一个 WebDAV 重定向器 - 我忘了它在 XP 中是什么样子,但我怀疑您可以从网络适配器的绑定接口中取消绑定它(可能在高级视图中)。

如果您对安装了 IIS 的服务器上的另一个驱动器进行同一客户端的网络跟踪,则会看到它或多或少同时进行了两次(呃,三次 - 请参阅 SMB)连接尝试:

  • 到 445 的 SMB 连接(和 139,响应速度最快的获胜)
  • 与端口 80/443 建立 HTTP 连接,尝试使用 WebDAV 访问同一共享

因此,当您使用启用了 DAV 的重定向器连接到本地计算机时,您会触发 IIS 实例的发现,并且这可能会触发帐户锁定(出于您给出的原因)。您的 IIS 日志可用于确认/否认这一点。

答案2

删除客户端机器上所有缓存的密码并重试,或者留意可能的 Conficker 痕迹:)

答案3

我实际上在 IIS 空间中收到了一些有关我的映射驱动器的错误。

http://server.domain.com.au/index.php?q=s$

显然,它的共享形式为:s$,因此它对于常规浏览器来说是隐藏的,但是,该请求实际上正在发送到 Web 服务器,该服务器正在将请求重写为上述内容。(了解 drupal)

因此,如果您有类似的设置(IIS),您应该会看到对任何非实际共享的请求,并且可能也会看到这些请求最终出现在您的 IIS 日志文件中。

相关内容