微软域控提供了入域机器的统一策略管理、ldap认证、DNS、NTP、Kerberos认证、Net-NTLM、PKI证书等多项围绕微软生态的服务。一旦域控被拿下,可通过域控下发策略控制所有入域机器以及使用域账号的服务,在诸多红蓝演练中,域控向来都是“兵家必争之地”。
一年一度的大型攻防演练在即,域控是办公网防守领域中分数项占比较多的项目,如何保护才能最大化减少攻击面,是本篇接下来要讲的内容。
开启window主机防火墙。针对域网络、专用网络、公用网络启用服务器
来源IP | 来源port | 域控本机IP | 域控本机监听port | 对应的服务 |
办公网所有IP | 49152-65535/UDP | 本机通信的网卡IP | 123/UDP | W32Time |
入域机器IP | 49152-65535/TCP | 135/TCP | RPC 终结点映射程序 | |
49152-65535/TCP | 464/TCP/UDP | Kerberos 密码更改 | ||
49152-65535/TCP | 49152-65535/TCP | RPC for LSA、SAM、NetLogon (*) | ||
49152-65535/TCP/UDP | 389/TCP/UDP | LDAP | ||
49152-65535/TCP | 636/TCP | LDAP SSL | ||
49152-65535/TCP | 3268/TCP | LDAP GC | ||
49152-65535/TCP | 3269/TCP | LDAP GC SSL | ||
办公网所有IP | 53,49152-65535/TCP/UDP | 53/TCP/UDP | DNS | |
入域机器IP | 49152-65535/TCP | 49152-65535/TCP | FRS RPC (*) | |
49152-65535/TCP/UDP | 88/TCP/UDP | Kerberos | ||
49152-65535/TCP/UDP | 445/TCP | SMB (**) | ||
49152-65535/TCP | 49152-65535/TCP | DFSR RPC (*) | ||
跳板机IP | 1024~65535/TCP | 3389/TCP | RDP | |
入站方向,其他服务禁止 |
本地服务 | 出站目标IP | 出站目标Port |
日志采集服务 | 日志采集的服务IP | 日志采集的服务端口 |
WSUS | WSUS服务IP | 80、443 |
杀毒软件更新服务 | 杀毒软件后台IP | 443 |
DNS | 递归解析的外网DNS IP | 53 |
运维工具 | 运维后台服务IP | 运维后台服务端口 |
出站方向,其他服务禁止 |
通过系统自带的AppLocker限制软件为运维需要配置的脚本、工具和应用程序,并定期更新白名单软件 。
从【本地计算机策略】==>【计算机配置】==>【Windows设置】==>【安全设置】==>【应用程序控制策略】==>【Applocker】进行设置。Applocker设置需要不断调试,建议优先在测试环境进行。设置思路如下:
操作系统启动后,经过15分钟后,看下任务管理器,看当前系统依赖的进程名单和路径,将其加到Applocker名单中;
cmd、powershell命令仅允许域控管理员指定帐号可以运行;
添加运维人员经常使用的工具,加入到Applocker名单中;
在域控上对加入域的机器 OU,应用以下策略:
【默认域控策略】==>【计算机配置】==>【Windows设置】==>【安全设置】==>【本地策略】==>【用户权限分配】中配置
拒绝从网络访问这台计算机 | TEST.COM\Administrator,TEST.COM\Administrators,TEST.COM\Enterprise Admins,TEST.COM\Domain Admins |
拒绝作为批处理作业登录 | TEST.COM\Administrator,TEST.COM\Administrators,TEST.COM\Enterprise Admins,TEST.COM\Domain Admins |
拒绝以服务身份登录 | TEST.COM\Administrator,TEST.COM\Administrators,TEST.COM\Enterprise Admins,TEST.COM\Domain Admins |
拒绝本地登录 | TEST.COM\Enterprise Admins,TEST.COM\Domain Admins |
拒绝通过远程桌面服务登录 | TEST.COM\Administrator,TEST.COM\Enterprise Admins,TEST.COM\Domain Admins |
在域控对应的父域中,即林中针对域控制器的OU,应用以下策略,在保障安全权限最小化的情况下,也便于管理员组的成员可以执行林范围内的灾难恢复。
从网络访问此计算机 | Administrators,ENTERPRISE DOMAIN CONTROLLERS,Parent.COM\Enterprise Admins |
允许本地登录 | Administrators,ENTERPRISE DOMAIN CONTROLLERS,Parent.COM\Enterprise Admins |
允许通过远程桌面服务登录 | Administrators,Parent.COM\Enterprise Admins |
在本地组策略以及GPO策略中,设置路径【计算机配置】==>【Windows设置】==>【安全设置】==>【本地策略】==>【安全选项】,配置如下
“帐户来宾账户状态"设置为: 已禁用;
"账户:使用空密码的本地账户只允许控制台登陆"设置为:已启用。
"Microsoft 网络服务器:暂停会话前所需的空闲时间数量" 设置为:15分钟;
"登陆时间过期后断开与客户端的连接"设置为:已启用;
"交互式登录: 提示用户在密码过期之前更改密码" 设置为5天;
网络访问中“Everyone权限应用于匿名用户“设置为:已禁用;
“不允许SAM帐户的匿名枚举“设置为:已启用;
“不允许SAM帐户和共享的匿名枚举”设置为:已启用;
”允许匿名SID/名称转换“设置为:已禁用;
隶属于以下组中的帐号 Enterprise Admins Domain Admins Schema Admins Key Admins Enterprise Key Admins Administrators krbtgt |
1) 运维域控的帐号独立命名。如a_zhangsan、a_lisi, 禁止使用administrator帐号进行运维;
2) 运维入域的服务器(如sharepoint、sqlserver或是exchange服务),单独设置命名帐号,如s_wangwu、s_zhaoliu等,且避免将该类帐号加入到上述4.5中列举的高敏感帐号组中;
一旦获取到有SeEnableDelegationPrivilege权限的用户,即意味着整个域控被拿下。
【默认域控策略】==>【计算机配置】==>【Windows设置】==>【安全设置】==>【本地策略】==>【用户权限分配】中配置如下
1) 基本配置:对安全日志、sysmon日志, 设置日志大小至少1048576KB(即1GB);
设置路径:【管理工具】==>【事件查看器】 分别在安全日志、Sysmon日志上右键–>属性
2)基本配置:配置高级审核策略,以下9个审核策略全部启用,并勾选成功和失败;
1) 企业安全审计人员定期审计上述配置的有效性;
2) 谈到域控方面的安全审计,这里不得不提下国外Trimarc公司的创始人Sean Metcalf撰写的审计脚本Invoke-TrimarcADChecks.ps1(详情见其官网https://www.hub.trimarcsecurity.com/post/securing-active-directory-performing-an-active-directory-security-review),拜读下代码内容,结合自己企业环境做些定制化修改,相信会对域控的审计有很大的帮助。
攻是术,防是道。愿和大家一起探讨攻防之道。