“受保护的用户”是 Active Directory 的全局安全组,旨在防范凭据盗窃攻击。 该组在设备和主机计算机上触发不可配置的保护,以防止在组成员登录时缓存凭据。
Prerequisites
在部署“受保护的用户”组之前,系统必须满足以下先决条件:
主机必须运行下列操作系统之一:
- Windows 10 或 Windows 11
- Windows Server 2012 R2 或更高版本,并安装了最新的安全更新
域功能级别必须为 Windows Server 2012 R2 或更高版本。 有关功能级别的详细信息,请参阅林和域功能级别。
Note
内置域管理员 S-1-5-<domain>-500
始终不受身份验证策略的约束,即使将其分配给身份验证策略接收器也是如此。 有关详细信息,请参阅如何配置受保护的帐户。
- 受保护的用户全局安全组成员身份将成员限制为仅使用 Kerberos 高级加密标准 (AES)。 受保护的用户组的成员必须能够使用 AES 进行身份验证。
Active Directory 应用的保护
成为受保护用户组的成员意味着 Active Directory 自动应用某些预先配置的控件,除非用户不再是组成员,否则用户将无法更改这些控件。
已登录的受保护用户的设备保护
当登录用户是“受保护的用户”组的成员时,该组提供以下保护:
凭据委派 (CredSSP) 不会缓存用户的纯文本凭据,即使用户启用了允许委派默认凭据组策略设置也是如此。
即使已启用 Windows Digest,Windows Digest 也不会缓存用户的纯文本凭据。
NTLM 停止缓存用户的纯文本凭据或 NT 单向函数 (NTOWF)。
Kerberos 停止创建数据加密标准 (DES) 或 RC4 密钥。 Kerberos 也不会在获取初始票证授予票证 (TGT) 后缓存用户的纯文本凭据或长期密钥。
系统不会在用户登录或解锁时创建缓存验证程序,因此成员系统不再支持脱机登录。
将新用户帐户添加到受保护的用户组后,当新的受保护用户登录到其设备时,这些保护将激活。
受保护用户的域控制器保护
对运行 Windows Server 的域进行身份验证的受保护用户帐户无法执行以下作:
使用 NTLM 身份验证进行验证。
在 Kerberos 预身份验证中使用 DES 或 RC4 加密类型。
使用不受约束的或受约束的委派进行委派。
在超出最初的四小时生存期后续订 Kerberos TGT。
受保护的用户组对每个成员帐户的 TGT 过期应用不可配置的设置。 通常,域控制器会根据以下两个域策略设置 TGT 生命周期和续订:
- 用户票证最长寿命
- 用户票证续订最长寿命
对于受保护的用户成员,组会自动将这些生存期限制设置为 240 分钟。 除非用户离开组,否则用户无法更改此限制。
受保护的用户组的工作原理
可以使用以下方法将用户添加到受保护的用户组:
- UI 工具,如 Active Directory 管理中心或 Active Directory 用户和计算机。
- PowerShell, by using the Add-ADGroupMember cmdlet.
Important
切勿将服务和计算机的帐户添加到“受保护的用户”组。 对于这些帐户,成员身份不提供本地保护,因为密码和证书在主机上始终可用。
不要添加已经是高特权组(如企业管理员或域管理员组)成员的帐户,除非可以保证添加这些帐户不会产生负面后果。 受保护的用户中的高特权用户受到与普通用户相同的限制和约束,并且无法解决或更改这些设置。 如果将这些组的所有成员添加到“受保护的用户”组,则可能会意外锁定其帐户。 请务必测试系统,确保强制性设置更改不会干扰这些特权用户组的帐户访问。
受保护的用户组的成员只能通过 AES 使用 Kerberos 进行身份验证。 对于 Active Directory 中的帐户,此方法需要 AES 密钥。 除非运行 Windows Server 2008 或更高版本的域的密码发生更改,否则内置管理员没有 AES 密钥。 由运行较早版本 Windows Server 的域控制器更改了密码的任何帐户都将被锁定,无法进行身份验证。
为了避免锁定和丢失 AES 密钥,建议遵循以下准则:
除非所有域控制器都运行 Windows Server 2008 或更高版本,否则不要在域中运行测试。
如果已从其他域迁移帐户,则需要重置密码,以便帐户具有 AES 哈希。 否则,这些帐户将无法进行身份验证。
切换到 Windows Server 2008 或更高版本的域功能级别后,用户需要更改密码。 这样做可确保他们在成为“受保护的用户”组成员后具有 AES 密码哈希。
受保护的用户组 Active Directory 属性
下表指定受保护的用户组的 Active Directory 属性。
Attribute | Value |
---|---|
Well-known SID/RID | S-1-5-21-<domain>-525 |
类型 | Domain Global |
Default container | CN=Users, DC=<domain>, DC= |
Default members | None |
默认成员 | None |
受 AdminSDHolder 保护吗? | No |
移出默认容器是否安全? | Yes |
将此组的管理委派给非服务管理员是否安全? | No |
默认用户权限 | 没有默认的用户权限 |
Event logs
提供两个操作管理日志,以帮助对受保护用户的相关事件进行疑难解答。 这些新日志位于在事件查看器中,并且在默认情况下处于禁用状态。 它们位于 Applications and Services Logs\Microsoft\Windows\Authentication 下。
要启用捕获这些日志,请执行以下操作:
Right-click Start and then select Event Viewer.
打开 Applications and Services Logs\Microsoft\Windows\Authentication。
For each log that you want to enable, right-click the log name and then select Enable Log.
事件 ID 和日志 | Description |
---|---|
104 ProtectedUser-Client |
原因:客户端上的安全包不包含凭据。 当该帐户是受保护的用户安全组的成员时,将在客户端计算机中记录错误。 此事件指示安全包不会缓存向服务器进行身份验证所需的凭据。 显示程序包名称、用户名、域名和服务器名称。 |
304 ProtectedUser-Client |
原因:安全程序包不会存储受保护用户的凭据。 在客户端中记录信息性事件,以指示安全包不会缓存用户的登录凭据。 预期结果是 Digest (WDigest)、凭据委派 (CredSSP) 和 NTLM 无法具有“受保护的用户”成员的登录凭据。 如果应用程序提示输入凭据,仍然可以成功运行。 显示程序包名称、用户名和域名。 |
100 ProtectedUserFailures-DomainController |
原因:对于在受保护的用户安全组中的帐户,发生 NTLM 登录失败事件。 在域控制器中记录错误,以指示 NTLM 身份验证失败,因为该帐户已是受保护用户安全组的成员。 显示帐户名称和设备名称。 |
104 ProtectedUserFailures-DomainController |
原因:DES 或 RC4 加密类型用于进行 Kerberos 身份验证,以及对于受保护用户安全组中的用户,发生登录失败事件。 Kerberos 预身份验证失败,因为当帐户是受保护用户安全组的成员时,无法使用 DES 和 RC4 加密类型。 (AES 是可接受的。) |
303 ProtectedUserSuccesses-DomainController |
原因:已成功为受保护用户组成员发放 Kerberos TGT。 |