我是一名开发人员,被要求维护我们正在构建的 Web 应用程序的 IIS 配置,所以请耐心等待。
我们有一个内部网站,员工登录 Windows LAN 后即可访问。服务器是 Windows Server 2008 R2,由外部服务提供商远程管理,并安装了 Symantec Endpoint Protection。
我重新启动了我们的测试服务器,现在网站要求用户提供凭据才能查看页面。不幸的是,当我输入公司域的有效用户名和密码时,它不被接受。服务器仍然可以使用用户帐户和公司域通过 Citrix Jumpservers 进行远程连接,因此它似乎是 IIS 特有的。
该网站的IIS权限设置为:
Anonymous Authentication - disabled
ASP.NET Impersonation - enabled
Forms Authentication - disabled
Windows Authentication - enabled
由于系统中流向 Hummingbird 的 DM webservice 的要求,我需要禁用匿名身份验证。
在重启之前,这个功能是可以正常工作的,当时公司还存在其他问题(互联网代理自发拒绝所有互联网网页,并且 Samba 共享未为服务帐户用户重新安装)。代码没有更改,IIS 配置也没有更改(据我所知),因此看起来网络上的某些东西发生了变化,或者可能是服务帐户发生了变化。
这个问题很可能会转移到公司 IT,但我需要某种证据表明这是网络或安全问题。否则,他们会简单地驳回它,说这是我们的 Web 应用程序或我们的 IIS 设置的问题。也许是,但我不确定还要检查什么,除了重新启动机器之外什么也没有改变。
是否有任何测试或工具可以用于测试身份验证配置并隔离潜在原因?鉴于服务器上安装了 Symantect Endpoint Protection,是否有可能更改的设置会导致此行为?服务器管理控制台中是否有其他设置可能导致此行为?
答案1
检查 IIS 框中的管理(适用于 Vista 和更高版本)或系统和应用程序事件日志(开始、运行、EventVwr(如果之前没有查看过))是否存在域连接问题的迹象。
Netlogon 或 UserEnv 事件可能表示联系域控制器时出现问题,域控制器通常用于验证身份验证凭据(简化,但在这种情况下,如果 DC 的计算机帐户出现问题,则适用于 NTLM 和 Kerberos)。不要将您的调查限制在这些项目上 - 全面了解正在发生的事情。
安全事件日志也可能显示该用户登录失败的原因,查找这些错误可能会有所帮助(需要注意的是,可能有多个与实际问题无关的失败,因此请找到一个与您尝试时正在测试的用户帐户相关的失败)。