使用IIS进行集成Windows身份验证时,我们遇到了一些非常奇怪的问题,我不确定是否可以看到模式。
我们有一个名为Fred的DNS-Cname记录。我们有一个IIS网站,Fred设置为主机头。当我连接到此站点时,我会收到凭据质询提示。我希望我的证书能够通过。如果我输入我的凭证,我将被授予访问权限。
然后我创建一个名为Betty的本地主机条目,并将主机文件指向与Fred相同的IP地址,并将主机头更改为Betty。任何地方都没有关联的CName记录。当我访问Betty时,我会自动进行身份验证,一切都很好。
如果我试图绕过CName记录并在名为Fred的本地主机文件中创建一个条目,并将主机头更改回Fred。我仍然收到身份验证质询。
我认为它有两个问题。这个CName记录如何影响这里的分辨率,还是一个红色的鲱鱼。其次,这一挑战正在发生什么?我们在其他地方也有类似的症状,我们担心的是我们的身份验证令牌会在某处受到抨击。有人可以通过身份验证进行订单,即将数据包发送到哪些计算机。有没有办法可以追踪这个? (我在想WireShark或类似的东西)。如何证明我的身份验证令牌已通过且有效?
答案 0 :(得分:6)
身份验证框的原因很简单:仅当Internet Explorer认为主机位于“本地Intranet”区域(假定为默认配置)时,Internet Explorer才会发送您的凭据。如果IE认为“本地”之外的主机要求提供NTLM凭证,则会出现一个认证框,您必须手动进行身份验证。
如果您希望自动发送您的凭据,请确保IE在“本地Intranet”中认为它。检查状态栏最右侧的区域信息,以查看当前活动的区域。
IE会考虑多种因素来决定是否将主机视为“本地Intranet”:
我怀疑你的主人“fred”不满足条件#2到#4,但你的测试用例“Betty”不知何故。
解析名称的方式(CName记录,A记录,hosts文件,其他)没有区别,因为名称解析方法对调用应用程序是不透明的。 IE只询问名称“XYZ”并获取IP地址。
但是,最近的配置更改可能需要您清除本地DNS缓存。偶尔ipconfig /flushdns
会对此有所帮助,或者您可以停止DNS客户端服务一段时间。
所描述的内部逻辑应用于主机名,安全设置会根据结果发生变化。
答案 1 :(得分:0)
CName将是一个红鲱鱼。对Windows Auth没有影响。 追踪它的最简单方法是使用提琴手。您应该看到您的请求后跟401响应(它包含服务器支持的身份验证),然后再次发送您的请求并附带身份验证详细信息(或者提示您,然后发送)