导语:在今年夏天的BlackHat USA大会上,我非常专业的提到了AD的安全,并提供了关于如何能够最好程度上保护Active Directory安全的一些提示。
Active Directory的安全始于能确保安全地配置域控制器(DC)。 在今年夏天的BlackHat USA大会上,我非常专业的提到了AD的安全,并提供了关于如何能够最好程度上保护Active Directory安全的一些提示。 这篇文章主要关注域控制器的安全性和一些跨越Active Directory的安全性。毕竟我的博客被称为“ADSecurity” …
本文将会涵盖一些通过保护域控制器(简称“域控”)来保护Active Directory安全性的最佳方法,包括以下几个部分:
默认域和域控制器策略 创建域和域控制器安全基线GPO 修补域控制器 保护域控制器 域控制器推荐的组策略设置 配置域控制器审查模式(事件日志) 需要监控的域控制器事件(事件日志) 关键域控制器安全项
与基础架构的任何重大更改一样,请在部署更改之前进行测试。以免发生意外。
配置域控制器审查模式(事件日志)
保护域控制器只是Active Directory安全性的一部分。 另一个是根据日志记录来检测异常活动。
在Windows Server 2008之前,Windows审查模式仅限于下图中的9个项目。
从Windows Vista和Windows Server 2008开始,Windows审查模式扩展到57个项目。
请注意,在经常需要配置的常规审查设置时,“审查模式:强制审查策略子类别设置”应设置为“已启用”以强制执行这些设置。
使用AuditPol验证审查模式设置:auditpol.exe / get / category:*
Microsoft为审查模式提供了以下指导:
需要监控的域控制器事件(事件日志)
可以在
https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=事件码
查询具体的事件说明。
以下是需要监视的域控制器事件的大列表:
4610 - 本地安全机构加载了身份验证包。 4611 - 已向本地安全机构注册了受信任的登录进程。 4616 - 系统时间已更改。 4624 - 帐户已成功登录。 4625 - 帐户无法登录。 4634 - 帐户已注销。 4648 - 尝试使用显式凭据进行登录 4649 - 检测到重放攻击。 4672 - 分配给新登录的特殊权限。 4673 - 调用了特权服务。 4674 - 尝试对特权对象执行操作。 4688 - 创建了一个新进程。 4689 - 进程已退出。 4692 - 尝试备份数据保护主密钥。 4693 - 尝试恢复数据保护主密钥。 4695 - 尝试取消保护可审查的受保护数据。 4697 - 服务已安装在系统中。 4698 - 创建了计划任务。 4699 - 已调度的任务已删除。 4702 - 已更新计划任务。 4706 - 为域创建了一个新的信任。 4707 - 已删除对域的信任。 4713 - Kerberos策略已更改。 4716 - 已修改受信任的域信息。 4717 - 系统安全访问已授予帐户。 4718 - 系统安全访问已从帐户中删除。 4719 - 系统审查策略已更改。 4720 - 创建了用户帐户。 4722 - 启用了用户帐户。 4723 - 尝试更改帐户的密码。 4724 - 尝试重置帐户的密码。 4725 - 用户帐户已禁用。 4726 - 用户帐户已删除。 4727 - 创建了启用安全功能的全局组。 4728 - 已将一个成员添加到启用了安全功能的全局组。 4729 - 已从启用安全性的全局组中删除了成员。 4730 - 已启用安全性的全局组已删除。 4731 - 已创建启用安全功能的本地组。 4732 - 已将一个成员添加到启用了安全功能的本地组。 4733 - 已从启用安全功能的本地组中删除了成员。 4734 - 已启用安全性的本地组已删除。 4735 - 启用了安全功能的本地组已更改。 4737 - 已启用安全性的全局组已更改。 4738 - 用户帐户已更改。 4739 - 域策略已更改。 4740 - 用户帐户被锁定。 4741 - 创建了计算机帐户。 4742 - 计算机帐户已更改。 4743 - 计算机帐户已删除。 4754 - 创建了启用安全功能的通用组。 4755 - 启用了安全功能的通用组已更改。 4756 - 已将成员添加到启用了安全功能的通用组。 4757 - 已从启用安全功能的通用组中删除了成员。 4758 - 已启用安全性的通用组已删除。 4759 - 创建了一个安全禁用的通用组。 4760 - 一个安全禁用的通用组已更改。 4764 - 组的类型已更改。 4765 - SID历史记录已添加到帐户。 4766 - 尝试向帐户添加SID历史失败。 4767 - 用户帐户已解锁。 4768 - 请求了Kerberos身份验证票证(TGT) 4769 - 请求了Kerberos服务票证 4770 - 更新Kerberos服务票证 4771 - Kerberos预身份验证失败 4772 - Kerberos身份验证票证请求失败 4774 - 映射了用于登录的帐户。 4775 - 无法映射帐户以进行登录。 4776 - 域控制器尝试验证帐户的凭据 4777 - 域控制器无法验证帐户的凭据 4780 - 在作为管理员组成员的帐户上设置ACL。 4782 - 访问了帐户的密码哈希。 4793 - 调用了密码策略检查API。 4794 - 尝试设置目录服务还原模式。 4800 - 工作站被锁定。 4801 - 工作站已解锁。 4816 - RPC在解密传入邮件时检测到完整性冲突。 4817 - 对象的审查设置已更改。 4865 - 添加了受信任的林信息条目。 4866 - 已删除受信任的林信息条目。 4867 - 已修改受信任的林信息条目。 4904 - 尝试注册安全事件源。 4905 - 尝试取消注册安全事件源。 4907 - 对象的审查设置已更改。 4908 - 特殊组登录表修改。 4944 - 以下策略在Windows防火墙启动时处于活动状态。 4964 - 已将特殊组分配给新登录。 5024 - Windows防火墙服务已成功启动。 5025 - Windows防火墙服务已停止。 5030 - Windows防火墙服务无法启动。 5031 - Windows防火墙服务阻止应用程序接受网络上的传入连接。 5033 - Windows防火墙驱动程序已成功启动。 5034 - Windows防火墙驱动程序已停止。 5035 - Windows防火墙驱动程序无法启动。 5038 - 代码完整性确定文件的图像散列无效。该文件可能会由于未经授权的修改而损坏,或者无效的哈希值可能指示潜在的磁盘设备错误。 5148 - Windows筛选平台检测到DoS攻击并进入防御模式;与此攻击相关的数据包将被丢弃。 5149 - DoS攻击已经消退,正在恢复正常处理。 5150 - Windows筛选平台阻止了数据包。 5151 - 更严格的Windows筛选平台筛选器已阻止数据包。 5152 - Windows筛选平台阻止数据包。 5153 - 更严格的Windows筛选平台筛选器已阻止数据包。 5154 - Windows筛选平台已允许应用程序或服务在端口上侦听传入连接。 5155 - Windows筛选平台已阻止应用程序或服务侦听端口上的传入连接。 5168 - SMB / SMB2的SPN检查失败。 5378 - 请求的凭据委派已被策略禁止。 6144 - 已成功应用组策略对象中的安全策略。
有关这些事件的扩展信息可从这里下载(DC-Events.xlsx或DC-Events.csv)。
csv / xlsx文件中的信息包括:
事件ID 已记录的活动 审查类别 审查子类别 操作系统支持 事件卷
注意,其中许多都是高容量,因此在集成到你所选择的SIEM之前最好先进行一次评估。
关键的域控制器安全项配置
1. 成员服务器应该在升级为DC之前完全修补(像MS14-068这样的问题就非常关键)。
2. 你可能会希望将域控制器导出默认的域控制器OU,但最好不要这样做。其他OU中的域控制器可以接收不同的自定义委派和GPO设置。
3. 为域控制器安全性创建新的GPO(并链接到域控制器OU)。
4. 最好每年运行一次Active Directory最佳实践分析器,以确保Doamin和域控制器配置一致。在运行时执行的许多最佳实践检查可以识别出潜在的问题。
5. DC的所有修补和更新应该与工作站和服务器分开进行 – 这意味着要有不同的更新架构。许多组织使用WSUS来对DC和SCCM打补丁并对所有的设置进行补丁。
6. 确保定期并安全地更改相关的管理密码(DSRM密码)。
7. 配置子类别审查并设置为通过GPO强制执行(“审查:强制审查策略子类别设置(Windows Vista或更高版本)以覆盖审查策略类别设置”)。这样做,你就可以拥有跟踪更改和AD活动所需的安全事件。在服务器上运行“auditpol.exe / get / category:*”,确认启用了正确的审查模式。
8. 限制DC代理的使用,最好是没有,因为添加到DC的每个代理都为AD提供了入侵AD的另一个途径。如果代理是必要的,管理该产品的任何人都应被视为域管理员。
9. 如果你部署了虚拟DC,将虚拟管理员视为域管理员。
10. 配置PDC通过GPO自动同步时间
(https://blogs.technet.microsoft.com/nepapfe/2013/03/01/its-simple-time-configuration-in-active-directory/)。
11. 具有DC管理员/登录权限的最小组(&用户)。
12. 将默认域管理员帐户更改为至少1x /年,最好是2x。
13. 更改KRBTGT帐户密码至少1x /年,最好是2x。每次,密码都应该更改一次,等待复制(或第二天)完毕,然后再次更改
(https://blogs.microsoft.com/microsoftsecure/2015/02/11/krbtgt-account-password-reset -scripts-now-available-for-customers /)。
14. 在DC上配置AppLocker仅允许授权的应用程序运行。不应该在DC上运行太多的程序,所以这应该相对容易一些。
15. 将所有管理员帐户设置为“敏感且无法委派”。
16. 使用DC管理员/登录权限最小化组(和用户)。
17. 减少/删除域管理员中的帐户和组,特别是服务帐户。
18. 利用管理工作站和管理员层级保护管理员帐户
(https://technet.microsoft.com/en-us/windows-server-docs/security/securing-privileged-access/securing-privileged-access-reference-material)
19. 只运行软件和服务以支持AD。
20. 验证计划任务和脚本。
21. 将管理员帐户添加到“受保护的用户”组(需要Windows Server 2012 R2域控制器,2012R2 DFL用于域保护)。
22. 默认域管理员和KRBTGT密码应该在每年以及有AD管理员辞职离开时更改一次。
23. 删除不再需要信任的SID并根据需要启用SID筛选。
24. 所有域认证应该设置(如果可能)为:“仅发送NTLMv2响应拒绝LM和NTLM。
25. 阻止DC,服务器和所有管理系统的互联网访问。
26. 监视敏感系统(DC等)上的计划任务。
参考文献:
1. Microsoft安全文档:
https://technet.microsoft.com/en-us/security/dn785092
2. 保护Active Directory的最佳做法:
3. 保护Active Directory:最佳实践概述(Word文档下载)
https://www.microsoft.com/en-us/download/details.aspx?id=38815
4. 从“保护Active Directory的最佳实践”文档,保护域控制器:
5. Microsoft虚拟学院:防御Active Directory免受网络攻击
6. 推荐审查策略:
7. 美国政府花费大量时间为不同的操作系统建立安全基线。我把他们推荐的安全设置作为起点,但他们推荐的有些设置会降低安全性(取决于客户的要求)
https://www.stigviewer.com/stig/windows_server_2012_2012_r2_domain_controller/
8. 还有一个用于Active Directory的STIG(2008只适用于StigViewer.com):