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