限制域控制器攻击面:为什么更少的服务、更少的软件、更少的代理 = 更少的暴露
在深入探讨之前,让我们先把那些绝对确定的准则说清楚:
- 所有软件都存在某种程度的内在风险。
- 只有必需的、且无法安装在其他系统上的软件,才应安装在域控制器上。
- 域控制器上安装任何软件、服务或代理,都应遵循独立的、详细的审批流程。
- 每个组织的需求和风险承受能力不同,但必须强调,DC上“东西”越少,通过最小化其攻击面来降低这些关键系统安全风险的可能性就越大。
在TrustedSec,我们执行Active Directory安全评估时,已经评估了众多的AD林。我们常常发现DC上运行着可疑的软件,或者组织不愿承认补丁管理团队因其通过补丁代理拥有的提升权限而实际上属于第0层。因此,本文旨在通过提高对潜在问题的认识,并确保组织提出正确的问题,来指导大家做出最佳决策。
确保DC(进而确保AD)的安全至关重要,这一点毋庸置疑。这些Windows服务器承载着AD域服务,并控制着谁可以验证和访问组织内的资源。尽管存在用户权限分配和安全选项等最佳实践配置,但我想强调并说明允许在DC上运行的软件对AD安全的重要性(或危害性!)。
这些安装常常会引入额外的暴露风险,这些风险可能在部署期间被忽视,并且通常在DC的整个生命周期中被遗忘。例如,一个在所有DC上运行的单一代理就可能对AD发起自己的拒绝服务攻击;这种情况以前发生过,未来还会发生。
注意:虽然本文针对DC,但在一定程度上也适用于其他第0层系统(如Entra Connect、AD证书服务等)。
安装在DC上的常见代理/软件类型包括:
- 防病毒软件
- 端点检测与响应/扩展检测与响应/托管检测与响应
- 身份安全代理(如Microsoft Defender for Identity等)
- 资产清点
- 日志记录
- 管理
- 监控
- 补丁管理
- 漏洞扫描
审批流程
让我们首先假设(这总是很危险)已经存在一个审批系统软件安装的流程。该策略必须包含一个专门针对DC和其他第0层系统的独立审批程序。显而易见,这些系统更重要,所有新增内容都应经过彻底审查。同样重要的是,必须记录额外的风险(它确实存在!),并包含任何缓解控制措施。
在审批过程中,应以某种形式提出以下基本问题:
图1 - 关于软件审批需要询问的问题
请使用以下答案要点作为决策指南:
- 问题1:如果它仅仅是“有也不错”,考虑不要安装它。
- 问题2:如果答案是“否”,那么很简单,不要把它放在DC上。东西越少 = 暴露越少。
- 问题3:如果答案是“原生支持”,考虑使用原生选项。
- 问题4:如果答案是“是”,那么我们的“亦敌亦友”——“风险接受”就要登场了。
TrustedSec提示:如果标准服务器模板/镜像包含额外的软件组件,则不应使用它来部署DC。
风险/风险接受
为了在整个审批过程中做出明智和知情的决策,需要理解风险接受。为了简单起见,我们在此将风险接受定义为:所获得的功能超过了增加的暴露风险。(请记住,增加“东西”总是会增加风险/暴露。)
但所有起作用的因素是什么?这是许多组织在审批过程中往往做得不足的地方。他们看着软件供应商说,“我信任这个供应商,因此我信任这个软件”,或者“这个代理提供了X功能”,而从未考虑安装带来的额外暴露风险。
虽然这些都是可信度和功能的有效指标,但仅止于此将远远不足以做出真正的风险接受判定。然而,在深入讨论风险接受之前,让我们回到DC上。在就您的DC做出决策时,请考虑以下几点。
谁拥有控制权?
如果软件、服务或代理对DC拥有提升的权限(参见下面的软件所需权限)……
恭喜!:
- 该软件系统现在被视为第0层。
- 该软件的管理员属于第0层。
- 该系统(你猜对了)的管理员属于第0层。
图2 - 第0层软件“控制圈”
在下面这个太常见的噩梦场景中,我们现在将工作站管理员也加入了第0层账户列表。
图3 - 第0层软件“失控圈”
TrustedSec提示:别忘了为您管理关键资产设置独立的、特定于第0层的系统(包括独立的管理账户)。否则,您的第0层软件“圈”就会变成“噩梦圈”。
软件如何维护?
- 注意,更新可能需要手动过程。
- 考虑不要使用最新/最棒的版本(使用n-1版),除非不安装它会带来安全风险(风险这个词又出现了)。
软件所需权限
以下每一项都涉及额外风险:
- 服务以SYSTEM身份运行
- 服务以AD管理员账户权限运行
- 安装/运行代码
- 涉及内核驱动
- 与LSASS交互(“挂钩”)
恢复过程
如果某个软件程序不再按预期运行,它可能会使DC宕机——破坏环境内的所有功能(假设所有DC都安装了该软件)。
TrustedSec提示:每年扫描并审查所有DC上的软件/服务/代理。确保产品仍然是必需的并且运行的是较新版本。
可接受软件示例(前提是它们满足审批要求):
- AV(Microsoft Defender包含在Windows操作系统中。)
- 备份(Windows Server Backup非常出色且免费。)
- 事件日志收集(别忘了Windows事件转发是一个选项。)
- 身份安全(例如MDI)
- 漏洞扫描
TrustedSec提示:注意到补丁管理不在这个列表中吗?TrustedSec建议对所有第0层系统使用WSUS,以简化更新过程,而无需部署专用的第0层补丁管理。(根据Microsoft弃用WSUS的情况,此建议可能会改变,但它对于Windows Server 2025仍然是一个可行的选项。有关更多信息,请参阅题为《Windows Server Update Services弃用》的文章。)
总结
确保安装在DC上的软件仅限于绝对必需品至关重要。任何超出最低限度的东西都可能使功能与暴露风险的天平向潜在攻击者倾斜。DC只应被视为一种商品——如果出现问题,它们应该很容易被替换,因此绝不应包含任何需要额外维护的“特殊”东西。
因为任何软件安装总是会增加风险,所以将DC上的软件限制在仅必需的范围,是减少对机密性、完整性和可用性产生影响的最佳方式。这引出了纵深防御方法以及经过验证的恢复过程。但这些是另一天,也许是另一篇或两篇博客的话题。
如果您遇到以下情况,请与我们联系…… ☐ 不先登录就无法列出DC上安装的所有软件 ☐ 您的补丁管理团队拥有域管理员权限 ☐ 安装在DC上的一个或多个代理具有执行代码的能力 ☐ 不同的DC有不同的软件配置 ☐ 您已经超过一年没有进行完整的Active Directory安全评估 ☐ 您担心影响AD安全性的其他数百种配置 ☐ 您有任何其他疑虑或问题
本文已从其原始发布版本(2024年10月8日发布于Trimarc网站)更新。