安全地授予本地管理权限

信息安全 视窗 活动目录 行政
2021-09-10 05:44:49

我一直在研究安全地授予本地管理权限的最佳方法,但我真的很难协调安全、运营和成本影响。

我设计了几个选项:

  1. 创建域安全组(PC Admins),添加所需的域用户帐户,并使用组策略将域安全组添加到本地安全组Administrators
    • 优点:
      • 集中管理。
      • 可审计。
      • 自由。
    • 缺点:
      • 容易受到凭证盗窃和横向移动攻击。
  2. 选项 #1,但使用单独的域用户帐户 ( <original username>.admin):
    • 优点:与#1相同
    • 缺点:与#1 相同。对 UAC 提示进行身份验证会创建一个可被利用的登录缓存。
  3. 选项 #1 但禁用缓存登录:
    • 优点:
      • 集中管理。
      • 可审计。
      • 自由。
      • 不易受到凭据盗窃和横向移动攻击,因为没有可利用的登录缓存,但仍可以通过其他方式(键盘记录器等)捕获凭据。
    • 缺点:
      • 如果域出现问题、网络连接出现问题、他们的 PC 不在现场等,用户将无法登录。
  4. 部署 Microsoft LAPS 并向用户颁发唯一的本地管理员凭据:
    • 优点:
      • 集中管理。
      • 不易受到凭证盗窃和横向移动攻击。
      • 自由。
    • 缺点:
      • 不可审计。
      • 默认管理用户帐户是一个简单的目标。
  5. 将所需的域用户帐户添加到本地安全组Administrators
    • 优点:
      • 可审计的(在一定程度上)。
      • 不太容易受到凭证盗窃和横向移动攻击。
      • 自由。
    • 缺点:
      • 不是集中管理的。
  6. 实施 MFA:
  7. 实施使用 TOTP 和/或仅在需要时临时授予管理权限的系统:
    • 优点:
      • 集中管理。
      • 可审计。
      • 不容易受到凭证盗窃和横向移动攻击?
    • 缺点:
      • 不是免费的。

有一般的最佳实践吗?

我不禁有一种感觉,没有一个正确的技术答案,并且这些风险可以通过简单地确保没有人能够或不会(1)在日常基础上使用管理用户帐户来减轻或 (2) 运行恶意软件。

2个回答

使用受保护的用户

当用户使用 NTLM 协议登录到 Windows 机器时,他的哈希值存储在 LSASS 进程的内存中。攻击者可以转储此内存以窃取这些凭据。

为了克服这个问题,一个好的解决方案是强制管理员进行 Kerberos 身份验证并禁止明文凭据。您可以使用一种称为受保护用户的机制来做到这一点。

/!\ 您将需要 Windows Server 2012 R2 来创建受保护用户安全组,并且主机必须运行 Windows 8.1 或更高版本才能为受保护用户提供客户端限制。

当帐户是受保护用户的成员时:

  • 即使启用了允许委派默认凭据策略,默认凭据委派和 Windows Digest(明文凭据)也不会被缓存
  • NTLM 哈希未缓存
  • Kerberos 配置得到改进
  • 未创建脱机登录(缓存的登录验证程序)

你的第一个选择是好的

创建域安全组(PC Admins),添加需要的域用户账号,使用组策略将域安全组添加到本地安全组Administrators中。

这正是你必须做的。您的 PC 管理员组将成为受保护用户组的成员。

糟糕的选择

部署 Microsoft LAPS

LAPS 自动管理加入域的计算机上的 rid 500(本地管理员)密码,因此密码为:

  • 在每台受管计算机上唯一
  • 随机生成
  • 存储在现有的 AD 基础架构中

但是,不应使用本地管理员帐户通过网络管理计算机。在 Active Directory 中,这些帐户必须被视为备份帐户,以防网络连接丢失。所以 LAPS 不适合您的需求。

此外,它容易受到凭证盗窃,但不会受到横向移动攻击。

实施使用 TOTP 和/或仅在需要时临时授予管理权限的系统

出于与 MFA 相同的原因,它仍然容易受到凭证盗窃和横向移动攻击。

  1. 据我所知,域帐户的缓存登录不易受到凭据盗窃和横向移动攻击。

缓存域凭据的安全性 术语缓存凭据不能准确描述 Windows 如何缓存域登录的登录信息。在 Windows 2000 和更高版本的 Windows 中,用户名和密码不会被缓存。相反,系统存储密码的加密验证器。这个验证器是一个加盐的 MD4 哈希,计算了两次。双重计算有效地使验证者成为用户密码哈希的哈希。此行为不同于 Microsoft Windows NT 4.0 和早期版本的 Windows NT 的行为。

http://support.microsoft.com/kb/913485

  1. 但是您仍然需要一种方法来管理本地管理员帐户。您可以禁用它们或使用 LAPS。在所有计算机上使用相同的本地管理员密码容易受到凭证盗窃和横向移动攻击。

  2. 从我的角度来看 - 您的域用户不应该拥有本地管理员权限。IT 人员应具有本地管理员组中的特殊帐户。本地管理员帐户应该有不同的密码。