Active Directory域环境的安全核心在于域控制器,而组策略是加固域控最直接、最有效的武器。很多企业部署了AD域,但域控的安全配置往往停留在默认状态,这相当于把整个企业内网的钥匙挂在门口。攻击者一旦突破边界,第一目标就是寻找域控,通过提权、横向移动获取域管理员权限。我们直接从最关键的几个组策略配置入手,把域控的安全防线建立起来。
域控安全基线:从默认域控制器策略开始
安装AD DS角色后,系统会自动创建一个名为“Default Domain Controllers Policy”的组策略对象,并链接到Domain Controllers组织单位。这个策略包含了域控最基本的安全设置,但远远不够。我们首先要做的是基于这个默认策略进行强化,而不是另起炉灶。打开组策略管理控制台,找到这个策略进行编辑。在计算机配置中,有几个核心节点必须逐一检查:安全设置下的账户策略、本地策略、事件日志、系统服务等。很多管理员习惯直接修改默认域策略,这是一个常见误区。域控的安全设置应该集中在Domain Controllers OU上,与普通域成员计算机的策略分开管理,这样职责更清晰,排查问题也更方便。
账户锁定策略:抵御暴力破解的第一道门
在“计算机配置\Windows设置\安全设置\账户策略\账户锁定策略”中,设置账户锁定阈值、锁定时间和重置计数器的时间。建议将账户锁定阈值设置为5次无效登录,锁定时间至少30分钟,计数器重置时间同样设为30分钟。这样配置后,任何针对域控的暴力破解尝试都会在5次失败后被暂时锁定。需要注意的是,这个策略应用在域控上,锁定的是域用户账户在整个域内的登录行为,而不是单台机器。配合安全日志的审核,可以及时发现异常登录行为。有些管理员担心正常用户被误锁,实际上配合合理的密码复杂度策略,5次尝试足够正常用户纠正输入错误。
密码策略:长度比复杂度更重要
在同样的账户策略路径下,密码策略是域安全的基础。传统观念强调密码复杂度,要求大小写字母、数字和特殊符号混用,但实践证明,密码长度远比字符组合类型重要。建议将最小密码长度设置为14位以上,启用“密码必须符合复杂性要求”,密码最长使用期限根据企业合规要求设置在42到90天之间。更重要的是,在Windows Server 2016及更高版本中,可以利用“密码保护”功能,通过安装Azure AD密码保护代理或使用本地密码保护,阻止使用弱密码和自定义禁止词汇。这个功能在域控上配置后,会覆盖整个域的用户密码设置行为,从源头减少弱口令风险。
用户权限分配:收紧敏感权限
进入“计算机配置\Windows设置\安全设置\本地策略\用户权限分配”,这里有多项权限直接关系到域控安全。重点关注以下几个权限:“从网络访问此计算机”只保留Administrators、Authenticated Users、ENTERPRISE DOMAIN CONTROLLERS组;“允许通过远程桌面服务登录”只授予Domain Admins和指定的管理组;“拒绝通过远程桌面服务登录”中加入 Guests 组和所有不需要远程管理的账户。最关键的是“作为批处理作业登录”和“作为服务登录”权限,必须严格审查,只授予必要的服务账户。另外,“取得文件或其他对象的所有权”权限默认只有Administrators,这个配置要保持不变。每一项权限的收紧,都是在减少攻击面。
安全选项:修改默认的危险配置
安全选项是本地策略中配置项最多的部分,也是默认配置最容易被利用的地方。有几个关键设置必须修改:将“网络安全:LAN管理器身份验证级别”设置为“仅发送NTLMv2响应,拒绝LM和NTLM”,这能防止老旧的哈希传递攻击。将“网络访问:不允许SAM账户和共享的匿名枚举”启用,防止攻击者匿名获取账户列表。将“账户:来宾账户状态”设为已禁用,“账户:使用空密码的本地账户只允许控制台登录”启用。针对域控特有的配置,“域控制器:允许服务器操作者计划任务”必须禁用,这个组默认权限过大。“域控制器:LDAP服务器签名要求”设置为“要求签名”,防止LDAP中间人攻击。这些配置看似琐碎,但每一项都是实际攻防对抗中总结出来的薄弱点。
Windows Defender防火墙:域控的流量过滤
域控的网络通信必须严格控制。通过组策略配置防火墙规则,路径在“计算机配置\Windows设置\安全设置\高级安全Windows Defender防火墙”。创建入站规则,只放行域控必须的端口:TCP 53(DNS)、TCP/UDP 88(Kerberos)、TCP 135(RPC端点映射器)、TCP 389(LDAP)、TCP 636(LDAPS)、TCP 3268/3269(全局编录)、TCP 445(SMB)、TCP 9389(AD DS Web服务)等。特别要注意的是,RPC动态端口范围默认很广,可以通过注册表或组策略将其限制在一个较小范围,然后在防火墙中只开放这个范围。另外,必须阻止从互联网IP地址发起的入站连接,域控绝对不应该直接暴露在公网上。出站规则同样重要,限制域控主动发起不必要的对外连接,可以阻止恶意软件的反向连接。
服务与进程控制:禁用不必要的服务
通过组策略的系统服务控制,路径在“计算机配置\Windows设置\安全设置\系统服务”,可以统一管理域控上运行的服务。Print Spooler服务在域控上必须禁用,这是近两年多个高危漏洞的入口,域控不需要打印服务。Server服务虽然需要保持运行以提供文件共享,但要确保相关的协议安全配置到位。Remote Registry服务必须禁用,防止远程修改注册表。如果域控不承担Web服务角色,World Wide Web Publishing Service也要禁用。每个不必要的服务都是一个潜在的攻击向量。配置服务启动模式时,选择“定义此策略设置”并设为“已禁用”,确保服务无法被手动或自动启动。
审核策略:记录关键事件用于追溯
安全事件日志是发现攻击行为和安全审计的基础。在“计算机配置\Windows设置\安全设置\高级审核策略配置\审核策略”中,启用以下关键审核项:审核登录事件的成功和失败、审核账户管理事件的成功和失败、审核目录服务访问的成功和失败、审核特权使用的成功和失败、审核系统事件的成败、审核进程创建的成功。特别要启用“审核Kerberos身份验证服务”和“审核Kerberos服务票证操作”,这能记录票据授予和使用的详细信息,对检测黄金票据、白银票据攻击至关重要。日志大小也需要通过组策略调整,在“事件日志”设置中,将安全日志最大大小至少设为1GB,并配置日志达到最大值时自动归档,避免日志被覆盖而丢失关键证据。
管理模板:强化系统底层安全配置
管理模板提供了大量基于注册表的安全配置项。在“计算机配置\管理模板\系统”中,有几个关键设置:启用“在用户登录时显示有关以前登录的信息”,这样管理员登录域控时能看到上次登录时间和是否成功,有助于发现未授权登录。在“凭据分配”中,限制向远程服务器分配凭据,防止凭据被窃取后横向移动。在“Kerberos”设置中,配置票据最大生存期和续订时间,建议将用户票据生存期设为10小时,服务票据生存期设为10分钟,减少票据被盗用的时间窗口。在“Windows组件\远程桌面服务\远程桌面会话主机\安全”中,设置加密级别为“高”,并要求使用特定的安全层进行远程连接。这些管理模板的配置深入到系统底层,能弥补基础安全策略的不足。
LAPS:解决本地管理员密码管理难题
虽然本地管理员密码管理似乎与域控不直接相关,但域控本身也有本地管理员账户。更重要的是,域内所有服务器的本地管理员密码如果相同,一旦一台被攻破,攻击者就能横向移动到包括域控在内的所有服务器。微软提供的Local Administrator Password Solution(LAPS)通过组策略部署,能为每台域成员计算机设置不同的本地管理员密码,并将密码安全存储在AD中,只有授权用户可以读取。在域控上部署LAPS同样重要,通过组策略将LAPS客户端配置推送到Domain Controllers OU,确保域控的本地管理员密码也被统一管理和定期轮换。这需要先在AD中扩展架构,然后通过组策略配置LAPS设置,路径在“计算机配置\管理模板\LAPS”。
定期备份与恢复演练:安全的最后一道防线
组策略配置得再完善,也需要应对极端情况。域控的系统状态备份是必须的,包含AD数据库、SYSVOL文件夹、注册表等关键组件。通过Windows Server Backup或第三方备份方案,定期执行系统状态备份,并将备份文件存储在离线或隔离的网络位置。更重要的是,必须定期进行恢复演练,验证备份文件的有效性。很多企业有备份但从没测试过恢复,真到用的时候发现备份损坏或不完整。恢复演练可以在隔离的测试环境中进行,使用备份文件重建域控,验证AD数据完整性和服务可用性。这个过程虽然不直接通过组策略配置,但应该通过管理流程制度化,成为域控安全运维的固定环节。
域控安全加固是一个持续的过程,组策略提供了强大的集中管理能力,但关键在于落实和持续监控。每一条策略配置都有其安全意义,需要根据企业实际环境进行调整,避免一刀切导致业务中断。安全与易用性之间的平衡,需要在实践中不断磨合。定期审查组策略配置,结合安全日志分析和渗透测试,才能确保域控始终处于可防御状态。
