在Active Directory域上启用Windows集成身份验证
本指南提供了在Web门户上使用组托管服务帐户(gMSA)配置Windows集成身份验证(Kerberos/NTLM)的说明。
由于每个公司的网络和架构具有独特性,我们无法对因遵循此文档而产生的问题提供支持。它满足使用Windows集成身份验证的Web门户的技术要求,但实施由您自行负责。
域名配置
活动目录环境必须支持 Kerberos 或 NTLM 身份验证。
设置托管服务帐户 (gMSA)
安装Web门户服务并使用它运行一个 域名托管服务账户 而不是域管理员帐户。
先决条件
- 活动目录架构级别: Windows Server 2012 或更晚(gMSA所需)
- 至少需要一个域控制器运行 Windows Server 2012 或更晚
- KDS根密钥已创建(一次性设置)
- 会员资格 域管理员 或 账户操作员 创建账户
创建KDS根密钥(如果尚未创建)
在提升的 PowerShell 会话中运行于域控制器上:
Add-KdsRootKey -EffectiveTime ((Get-Date).AddHours(-10))
这使得根密钥立即可用。
创建 gMSA
使用
New-ADServiceAccount
:
New-ADServiceAccount ` -Name "WebPortalSvc" ` -DNSHostName "WebPortalSvc.domain.local" ` -PrincipalsAllowedToRetrieveManagedPassword "YourServerGroup" ` -Enabled $true
-
姓名gMSA 账户名称 -
DNS主机名账户的 FQDN -
允许检索管理密码的主要负责人计算机/组被允许使用此 gMSA
授予管理权限(可选/根据需要)
默认情况下,gMSA没有特殊权限。
授予域级访问权限(可选):
Add-ADGroupMember -Identity "Domain Admins" -Members "WebPortalSvc$"
授予本地管理员/登录权限(如有需要):
Add-ADGroupMember -Identity "Administrateurs" -Members "WebPortalSvc$"
重要:尾部
$在AD中需要gMSA帐户引用。
重启要求
在继续和安装/使用服务帐户之前,需要重启。还要刷新策略。
在目标服务器上安装 gMSA
在每个将使用 gMSA 的服务器上运行:
Install-ADServiceAccount -Identity "WebPortalSvc"
测试安装:
Test-ADServiceAccount -Identity "WebPortalSvc"
配置服务以使用 gMSA
-
授予 作为服务登录 到账户:
- 打开组策略编辑器
-
前往:
计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 用户权限分配 -
打开
作为服务登录 -
添加
DOMAIN\WebPortalSvc$
-
确保Web门户文件/文件夹上的NTFS权限:
- 右键单击应用程序文件夹/可执行文件 > 属性 > 安全性
-
添加
DOMAIN\WebPortalSvc$ - 至少授予 读取和执行 或 完全控制 如果您的部署需要的话
-
配置服务身份:
-
账户:
DOMAIN\WebPortalSvc$ - 密码: 留空
-
账户:
配置服务主体名称 (SPN)
该网络服务必须在Kerberos中注册。
在域控制器上运行:
setspn -A HTTP/webserver.domain.com DOMAIN\WebPortalSvc
用您的服务器 FQDN 和帐户替换。
如果Web门户托管服务器使用HTTP.sys,请针对计算机帐户注册SPN:
setspn -S HTTP/portal.hiyoko.com:8008 WIN-HLBO0AGABB7setspn -S HTTP/portal.hiyoko.com:8009 WIN-HLBO0AGABB7
在客户端机器上配置网络
将域加入的客户端放入正确的子网:
- 识别正确的网络接口
- 删除现有静态IP(如果不正确)
- 分配静态IP、子网掩码和与DNS/DC子网匹配的默认网关
- 设置 DNS 服务器地址
重要:为域控制器和客户端分配静态IP地址。在此上下文中,安全策略同步要求机器处于同一子网。
允许所需的客户端连接
UDP/TCP 53
可能会被阻止,从而阻止 DNS 查询。
故障排除步骤
检查DNS服务器状态
在域控制器上:
net start DNS
验证DNS服务是否正在运行。
验证DNS服务器IP
在客户端:
ipconfig /all
确认DNS服务器IP与域控制器IP匹配。
测试基本连接性
在客户端:
ping <DC_IP_Address>
如果 ping 失败,请排查网络/防火墙路由。
检查防火墙规则
确保客户端和服务器允许入站/出站的UDP/TCP 53。
使用 nslookup 进行测试
nslookup domain.com <DC_IP_Address>
如果这有效,默认 DNS 服务器可能配置错误或无法访问。
查看事件查看器
在域控制器上检查与DNS相关的错误。
配置Mozilla Firefox以进行Windows集成身份验证
Firefox 默认不使用 WIA。
步骤 1:受信任的协商 URI
- 打开Firefox
-
前往
关于:配置 - 接受警告
-
设置
network.negotiate-auth.trusted-uris到您的域名,例如:-
intranet.domain.com, domain.com
-
步骤 2:受信任的 NTLM URIs
设置
网络.自动-ntlm-认证.受信任的-uris
到相同域名列表。
步骤 3:Kerberos 委派 URI(如有必要)
设置
network.negotiate-auth.delegation-uris
例如:
-
domain.com
步骤 4:重启浏览器
重启Firefox以应用更改。
为Windows集成身份验证配置Google Chrome
Chrome使用Windows/系统认证设置。
通过组策略(推荐)
- 下载 Chrome ADMX 模板:
-
复制
chrome.admx和chrome.adml到:-
C:\Windows\PolicyDefinitions -
C:\Windows\PolicyDefinitions\zh-CN
-
-
打开
gpedit.msc -
前往:
-
计算机配置 > 管理模板 > Google > Google Chrome
-
-
启用内部网站点的集成身份验证并配置受信任站点:
-
intranet.domain.com, domain.com
-
- 应用政策:
gpupdate /force
其他方法
在这种情况下,其他方法(Chrome命令行开关和标志)没有成功。
配置 Microsoft Edge 以进行 Windows 集成身份验证
Edge使用Microsoft Edge策略和Windows安全区域设置。
在内网区域启用自动登录
- 打开 Internet 选项
-
安全标签 >本地内联网>自定义级别 -
在
用户认证,设置:-
仅在内部网区域自动登录
-
通过 GPO 配置 Edge 策略
步骤 1:安装 Edge ADMX 模板
- 下载:
-
复制
msedge.admx和msedge.adml到:-
C:\Windows\PolicyDefinitions -
C:\Windows\PolicyDefinitions\zh-CN
-
步骤 2:编辑策略设置
-
打开
gpedit.msc -
前往:
-
计算机配置 > 管理模板 > Microsoft Edge
-
-
启用:
-
配置 Microsoft Edge 可以委托凭据的服务器列表
-
-
配置受信任的服务器:
-
intranet.domain.com, domain.com
-
步骤 3:应用策略
gpupdate /force
其他方法
在这种情况下,其他方法(Edge 命令行开关和标志)没有成功。
集成身份验证故障排除
检查 Kerberos 票证
在Windows客户端上:
klist
您应该看到一个票据用于
HTTP/webserver.domain.com
.
清除缓存的凭据/票证
klist purge
验证 SPN 注册
在域控制器上:
setspn -L serviceaccount
确保
HTTP/webserver.domain.com
被列出。
在Firefox中调试Kerberos
以日志模式启动Firefox:
set NSPR_LOG_MODULES=negotiateauth:5set NSPR_LOG_FILE=%USERPROFILE%\Desktop\firefox.logstart firefox.exe
评论
firefox.log
用于身份验证错误。
检查 Chrome 策略
在 Chrome 中,打开:
chrome://policy
确保
AuthServerWhitelist
和
AuthNegotiateDelegateWhitelist
被应用。
检查边缘策略
在 Edge 中,打开:
edge://policy
确保
AuthServerWhitelist
和
AuthNegotiateDelegateWhitelist
被应用。