IIS NTLM 身份验证提示在备用 DNS 名称上输入密码

IIS NTLM 身份验证提示在备用 DNS 名称上输入密码

我们有一个已设置 HTTPS 的现有服务器,并且有一个由内部自定义 CA 证书签名的证书。
它运行一个使用 Windows 身份验证的应用程序

例如https://内部服务器

我们使用 IE/Edge/Chrome/Firefox 从 Windows 框中浏览此内容,它们都只会加载页面而不会提示输入凭据 - 使用您登录的 Windows 域凭据。 Web 服务器和所有 Windows 客户端都在同一个域中。到目前为止一切顺利

我们已经使用从真实 CA 购买的 SSL 证书启用了新的 DNS 别名,并使用内部 DNS - 这基本上是为了避免必须在各处安装我们的内部自定义 CA(linux、mac、android)

例如https://internalserver.local.company.io

我已经在 IIS 中配置了此证书,并且可以浏览它,但当我这样做时,所有浏览器都会提示我输入用户名/密码。我输入了我的域凭据,它可以正常工作,但是为什么会出现这个提示??IIS 中是否有某些功能使 NTLM 身份验证仅适用于某些特定主机名?我该如何改变这种情况?

我不确定 HTTPS 或证书是否与此有关,但是为了以防万一,还是提到了这一点

谢谢

答案1

向 Web 服务器发送凭据是有风险的。每个浏览器都有一个策略设置或文件,用于确定浏览器是否在未提示的情况下发送凭据。此处为 Chrome 和 FF。https://specopssoft.com/blog/configuring-chrome-and-firefox-for-windows-integrated-authentication/

答案2

我已经追踪到这个了。

Internet Explorer(以及共享其安全设置的 Edge 和 Chrome)认为旧 DNS 记录位于“Intranet”区域。“自动登录”对 Intranet 区域的站点启用,但对其他站点禁用。

新的 DNS 记录具有不同的后缀,因此不被视为“Intranet”的一部分,而是“Internet”,因而不会进行自动 NTLM 登录。

我要求我们的域管理员将新后缀 (local.mycompany.io) 添加到“Intranet”域的组策略列表中。刷新组策略后,IE、Edge 和 Chrome 都允许自动 NTLM 登录,而无需提示输入用户名和密码,这解决了该问题。

network.automatic-ntlm-auth.trusted-urisFirefox 要求在 about:config 中添加 local.mycompany.io ,但这对于 Firefox 来说始终是必需的步骤,因此无需进行更改

答案3

在出现问题的站点的 IIS Admin 中,转到Sites<the website>IIS>Authentication并确保Anonymous AuthenticationEnabled。如果是,请转到Application Pools<the application pool for the website>Advanced Settings并确保已为 分配具有 Web 根目录相应物理目录权限的帐户的用户名(和密码)Identity

以前这并不是必需的,因为您的用户都在同一个 LAN 上,并且 URL 中的“。”会阻止用户与本地服务器进行自动协商/身份验证。

请注意,这意味着如果您之前要求用户登录才能访问特定信息或用户级数据,那么您应该知道这将允许任何拥有该 URL(如果它是公开路由的)的人访问该内容。

相关内容