Home > 博客 >

域安全优化与加固白皮书

2024-03-08 23:06:21


版本号

V1.0

更新时间

2023.5.9

编写人员

朱宏志(微软MVP)、王灿


 

一些术语说明

域、AD、活动目录在本文中通指同一个概念。

Domain Admins组简称DA组

Enterprise   Admins组简称EA组

域内置Administrators组简称BA组

Schema   Administrators组简称SA组

注意:本方案主要关注与域本身的安全加固,已假想环境拥有常规的安全防御,如防火墙、上网行为管理设备、日审设备、堡垒机、防病毒系统、备份系统等。

免责声明:本文为建议性方案,在实施其中建议措施时,请保证您已充分理解并测试,我方不对任何结果承担责任。

 


目录


第1章 概述


第2章 管理层面完善与优化


2.1 制定与完善域总体管理规范


2.1.1 去掉随意性,完善并遵守审批流


2.1.2 完整准确的信息填写,对象各就各位


2.1.3 要做好定期巡检,在巡检中纠偏与清理


2.2 构建系统分级分类模型


2.3 构建账户分级分类模型


2.4 构建运维管理模型


第3章 技术-战略层面优化纲要


3.1 优化域架构


3.2 尽量减少站点数量


3.3 不要部署过多的域控制器


3.4 分支尽量都部署只读域控制器


3.5 读写域控制器尽量使用物理机


3.6 域控制器应尽量使用最新操作系统


3.7 合理的组织单元规划与授权


3.8 组策略仅能Domain Admins组增删改


3.9 用户账户自动同步


3.10 实施合适的密码、锁定策略


3.11 优化补丁更新体系


3.11.1 WSUS补丁服务器总体架构


3.11.2 WSUS补丁服务器本身加固


3.11.3 补丁更新的域组策略


3.11.4 补丁管理其他注意说明


3.12 使用第三方备份软件备份AD


3.13 域内老旧系统的处理


3.14 构建服务器标准化模板


3.15 建立客户端标准化系统


3.16 加强AD集成安全管理


3.17 建设预警体系


第4章 技术-战术层面优化与加固措施


4.1 域控加固


4.1.1 检查清理工作


4.1.2 特权检查与加固


4.1.3 优化网络位置


4.1.4 加密到域控的网络通信


4.1.5 域控补丁


4.1.6 其他加固


4.2 服务器通用加固


4.3 客户端通用加固


获取PDF高清版请加微信

wc


第1章 概述

域由于其集中管理的特性而使用广泛,比如限制终端用户权限,统一配置全域密码策略、锁定策略及其他各式各样的策略,另外域还是一个标准的身份认证平台,这些底层功能用普通桌管软件也是无法替代的,且基于它的集中管理特性,在安全方面,也可以实现标准化配置和实现快速响应,从而提升整个网络的安全。

但事物都有其两面性,如果域环境本身不做安全优化与加固,则域控被攻破后也会对整个网络甚至生产造成严重的影响,所以在生产环境中,必须对域环境进行额外加固,以抵御各种攻击,从而充分且安心地利用域的功能。

   域环境安全优化的本质上就是要减少域的漏洞,缩小受攻击面,漏洞越少,就越安全。

这里的漏洞是广义的。

漏洞不仅仅是技术层面的,还包括管理层面与操作层面的,比如用域管理员账户登录普通电脑,这就是典型的非技术层面漏洞。

技术层面的漏洞比如缺少关键补丁、配置错误或不合理、权限分配不合理、特权账号使用不规范或滥用、陈旧对象太多等等。

为了最大幅度减少各种“漏洞”,从下面三大部分讲述域的安全优化与加固。

1,     管理层面的完善与优化

2,     技术:战略层面优化

3,     技术:战术层面优化与加固

 

第2章 管理层面完善与优化

2.1 制定与完善域总体管理规范

技术未动,制度先行。

首先需要一个完善的域管理规范,按规范行事,按流程行事,过程做好了,结果就差不到哪里去。关于管理规范,这里提几个关键点:

2.1.1 去掉随意性,完善并遵守审批流

对于影响域架构、权限相关、可能有重要影响的操作都应该实行变更审批,去掉管理员操作的随意性,即使有些操作管理员本身有权限操作,也应该走流程,限制管理员权限的“扩大化”,“随意化”,权限不受制约,可能产生严重后果,现实世界中是这样,在数字世界也是,管理员的权限要受规范、受流程制约。

下面是一个推荐的审批表。

 

管理对象

操作

最终审批人

操作人员

默认操作

森林及域

新建、撤销

信息部领导及更高层领导

Enterprise   admins

禁止新建与撤销

子域

新建与撤销

信息部领导及更高层领导

Enterprise   admins

禁止新建

架构

扩展

信息部领导

Schema   Admins

禁止扩展

站点

新建、撤销

信息部领导

Domain   admins


域服务器

添加与删除

信息部领导

Domain   admins


域服务器

重启、关机

域管理员直接上级

站点管理员组


一级组织单元

新建、重命名、删除

域管理员直接上级

域控

administrators


现有组织单元架构

变更

域管理员直接上级

域控

administrators


Enterprise   Admins

成员添加

信息部领导

域控

administrators


Domain   Admins

成员添加

域管理员直接上级

域控

administrators  


域控

Administrators

成员添加

域管理员直接上级

Domain   admins


站点管理员组

成员添加

域管理员直接上级

域控

administrators

成员删除无需要审批

站点客户端管理员组成员

成员添加

域管理员直接上级

域控

administrators

成员删除无需要审批

站点加域组

成员增减

域管理员直接上级

相应站点管理员组


全局服务账户

创建、禁用、删除

域管理员直接上级

域控

administrators


站点级服务账户

站点管理员


站点级测试账户

站点管理员


公司外用户

创建

域管理员直接上级

站点管理员


DNS

配置更改

域管理员直接上级

域控

administrators


DNS

记录增减

域管理员直接上级


全局组策略

新建、变更

域管理员直接上级


站点组策略

新建

域管理员直接上级


站点组策略

编辑

域管理员直接上级

相应站点管理员;

建议由总部域管理员处理最佳。


与AD集成

新增

变更

域管理员直接上级

域管理员


域控上安装软件

新增

域管理员直接上级

域管理员


 

2.1.2 完整准确的信息填写,对象各就各位

要制定对象命名规范(如用户、计算机、安全组),所有对象必须遵循命名规范创建。

管理员在进行对象创建或编辑时,需要完整、规范地填写相关信息。

新建的对象要放置于的相应的组织单元下,不能随意放置。

2.1.3 要做好定期巡检,在巡检中纠偏与清理

天长日久,任何事物都会产生偏差,这时就需要检查来发现问题以便纠偏。

检查主要是通过巡检实现,比如日检、周检、月检、年检。

检查可以通过自动化工具并结合手工完成。

还建议每年进行一次域渗透测试,以验证防御措施的有效性。

1

 

2.2 构建系统分级分类模型

      构建系统分级分类模型,主要是为下一节的账户分级分类打基础,不同级别的系统有不同级别的账户。同时,系统分级分类在补丁策略中也可以参考。

2

加域的系统总体可以分成服务器与客户端两大类,如上图所示,把服务器系统分成6级,重要性从上至下依次降低。

第1级为域基础系统,如域控制器,对于域来说,它是最重要的系统;

第2级为加域的核心应用系统或者微软系列应用,比如加域的ERP服务器,以及微软系列的Exchange服务器、LYNC服务器,这些微软系列服务器,由于与AD集成度非常高,用户群体广泛,也常是黑客的攻击目标,很多黑客把它们作为最终拿下域控的跳板,所以从域安全角度,重要性很高,也把他们列为第2级。

第3级的系统可能没有加域,但他们用户登录与AD做了LDAP集成,如果LDAP认证选用了简单认证,用户密码则为明文传输,这些系统被攻击后,用户密码很容易被嗅探到,从而被黑客用来作为进一步攻击域控的跳板。

第4级的为其他重要的加域的业务系统,比如OA,这种一般是使用人数较多的应用;

第5级为加域的边缘业务应用,这种一般是使用人数较少,非核心应用。

第6级为拥有过时操作系统的业务应用,由于这种系统的漏洞厂商一般不再提供安全补丁,导致这些系统安全风险很高。

 

当然上面的划分只是参考,每个企业可以根据自己的情况微调。

 

2.3 构建账户分级分类模型

3

我们把域内账户进行了分级分类,包括4个级别:

A级:域级别管理员账户,主要是位于域DA组/EA组/DC本地管理员组的账户。

B级:操作系统本地管理员组账户,包括服务器的本地管理员组中账户,客户端本地管理员组账户。

C级:应用程序本身管理员账户。

D级:客户端登录的普通账户。

 

这些不同级别的账户位于不同级别系统的管理员组中,比如A级账户位于1级系统。总体来说,这些账户要有严格的使用范围,相应的账户登录相应的系统,上级账户不能用来登录下级系统,如果确需登录,也最好使用一次性密码,即使用注销后即修改密码,以免缓存凭据被利用。

一个特殊点是,当一个系统过了厂商支持周期,漏洞无法修复时,需要考虑创建对应专用的管理员账户登录,不能再用原来的管理员账户登录,以免其凭据被窃取。

对于一个具体的管理员来说,他会拥有多个账户,每个账户适用于不同的系统或场景,为更容易理解,现举例来说明此账户体系,比如针对IT管理人员张三,他应当具有多个账户,而不是仅一个账户在各个级别系统使用。

首先张三作为一个用户,与其他员工一样,拥有一个域账户(D级),比如叫zhangsan,用来登录自己的电脑;

然后张三也是一个桌面运维人员,他要维护其他员工的电脑,比如安装软件,这时他需要一个客户端的B级账户如pc-zhangsan;

如果张三还是Exchange系统管理员,这时他需要一个服务器B级账户如adm-zhangsan,如果张三是Exchange收件人管理员,则有个C级账户,但这个账户一般可与D级账户zhangsan共用,因为它不用登录系统,只是在应用里面使用。

如果张三还是域控管理员,他还需要一个A级账户dc-zhangsan(关于域管理员的具体建议参照4.1节域控加固的具体描述,这里是通用举例)。

 

上面的A级和B级账户有两种设计思路,仍然以张三举例,如果他的B级账户是adm-zhangsan,他管理邮件、OA系统,通常要把他的这个账户加入邮件和OA系统的本地管理员组,那如果OA系统中毒后,则极可能横向感染到邮件服务器(凭据传递)。所以这种以用户为维度创建的B级账户适合于每个管理员只管一套系统,如果一个用户要管理多套系统,则还可以以系统维度创建B级账户,比如邮件系统一个管理员mailadmin,OA系统一个管理员oaadmin,这样任何一个系统中毒,感染只局限于本系统,不会横向扩散。

当然也可以用户与系统维度相结合规划B级账户,如mail-zhangsan,oa-zhangsan,但这样管理员拥有的账户就非常多,东西多了又容易造成管理上的漏洞,所以如何规划还要结合具体情况来定,也可参考下一节2.4的描述,针对如何防范这种横向攻击在运维管理方式的选择也很重要。

 

针对B级客户端管理员账户,如上面例子中的pc-zhangsan,需要加入域的站点客户端管理员组,并把此组加入客户端本地administrators组,且禁止其网络访问权限,防止有毒电脑横向传播。

 

针对B级本地管理员administrator,服务器的改名为srvadmin,客户端改名为pcadmin,采用LAPS解决方案,实现密码随机化且可查。当然,LAPS的密码在AD是以明文方式保存的,所以这也是一个可能的漏洞点,针对客户端,可以考虑下面的解决方案:pcadmin可以统一密码,但禁用其网络访问权限,所以当此账户的凭据被获取后,也只能交互式登录,并不能通过网络横向扩展到其他电脑,影响范围很小。即使使用LAPS方案,也要禁用pcadmin的网络访问权限。

2.4 构建运维管理模型

4

对于域控的日常运维,建议不用登录域控本身,而是通过管理机进行。

日常运维路径是:管理账户>堡垒机>管理机>域控。

从“管理机>域控”使用远程管理,现在系统提供的远程管理方式有很多种,不同的远程管理方式适用不同的场景,到底选择哪种远程管理方式既关系到运维的方便性,也关系到域控的安全,下面是相关建议:

 

序号

远程管理方式

服务名

 使用的端口

默认使用者

是否可禁用

 备注

1

远程桌面

Remote Desktop   Services

TCP 3389

 N/A

不建议禁用 ;

通过专用管理机使用RestrictedAdmin模式进行远程桌面

禁用管理机凭据缓存;

必须限定RDP只能从管理机进行,不然受限模式有PTH的高危风险

2

MMC 的远程管理

 

这些管理工具通常使用远程过程调用 (RPC) 和分布式组件对象模型 (DCOM)

 很多服务

静态端口 TCP 端口 135 和 445 以及为 RPC   和 DCOM 通信打开的动态端口范围

如Active Directory用户与计算机,还有很多工具

有用户访问

端口不能禁;

可用火绒的杀毒软件,开横向渗透防护,但此工具也无法禁掉远程使用AD用户与计算机,要禁AD用户与计算机,可通过组策略。

见下面。

 

除了管理机和PDC一台的MMC管理工具单元,都禁了

3

Active Directory Web服务

Active Directory Web   Services

TCP 9389

Windows PowerShell 的   Active Directory 模块或 Active Directory 管理中心

禁用除PDC的服务,PDC上面限制只能本机IP连接,要使用时通过RDP到PDC修改。

 也就是要禁止直接远程调用ADWEB服务。

4

Windows 远程管理

WinRM

HTTP 5985

HTTPS 5986

服务器管理器或powershell远程管理

建议禁用服务


5

管理共享

Server

TCP 445

\\ip\c$

\\ip\admin$

 

可禁管理共享


6

LDAP工具


TCP 389


有用户访问

端口不能禁

 


 

从上表总结看出,日常运维和用户管理等,可以在管理机上运行AD用户与计算机工具进行操作,这些操作账户为授权的站点管理员即可,不必是BA组管理员。

其他需要BA组管理员进行的维护操作,可以以受限模式RDP登录域控,受限模式有个好处,管理员提交的凭据不会保存在目标服务器上,且此会话中是以目标服务器system身份运行,这样就杜绝了横向攻击的可能。正是基于此,针对其他服务器的RDP也建议以此方式管理,这样,那种一个管理员如adm-zhangsan要管理多个系统的,由于这种方式杜绝了横向攻击的可能,也就可以放心使用这种账户模型了。

但受限模式必须限定能够RDP连接的IP,不然目标服务器会有被PTH进行RDP连接的高危风险,这也是前面建议要用专用的管理机远程域控的原因之一。

对于非总部站点,如果是只读DC,参考后面针对RODC的建议。针对读写域控,建议每台设置一个专用的域账户(非域administrators组),且只能登录这台DC,授权此用户能开关机维护。

 

在紧急状态或无法通过管理机访问的情况下,域管理员可以通过控制台(物理机接鼠标键盘显示器、虚拟机通过虚拟化管理平台进入)访问系统。

 

关于管理机,可部署两台或多台域相关管理的专用管理机,所有相关管理员都可以登录到此管理机上进行相应的管理操作。

如果要多人并发登录(超过2个),需要部署windows server系统,并部署会话桌面模式, 2小时未动会话自动注销。

如果最多2人登录,可以部署windows 10企业版,企业版具有更好的安全功能。

 

管理机基础配置与加固如下:

禁用密码缓存

禁止网络凭据缓存

即时更新最新补丁

开启系统防火墙

安装杀毒软件,设置退出与卸载密码,添加排除。

禁用server服务

禁用WINRM服务。

远程桌面客户端以受限模式运行

远程桌面服务禁用掉客户端磁盘映射,开启剪贴板文字粘贴

远程桌面2小时不活动自动注销。

远程桌面2小时断开自动注销。

禁止读取U盘等移动介质

关闭自动播放(所有驱动器)

禁止访问因特网

禁止浏览器保存密码(建议最多IE/EDGE/Chrome三种浏览器)

不要禁用UAC

不安装不必要的软件,多一个软件就多一个漏洞点

administrators:成员仅administrator,清理掉domain admins

remote desktop users:成员仅管理员工作账户

 

第3章 技术-战略层面优化纲要

域整体架构设计要科学,不然基础出现了问题,上层无论如何修补,都风险依旧,就像地基不牢,房子怎么加固也无济于事。

从全局层面,主要有以下几点:

3.1 优化域架构

从安全角度,这个措施就是要缩小受攻击面。

最佳建议是单林单域架构,不要有子域,原因如下:

1,最重要的理由,也就是安全性考虑

子域本质是一个独立的域,如果子域被攻陷,那从子域横向攻击进父域就极有可能,在不能有效保障子域安全性的情况下,设置子域将置父域于危险境地。也就是说增加子域并不能提高安全性,反而还增加了一倍的管理量,同时也增加了一倍的安全风险。

2,从管理角度

子域的管理员能够全面管理其子域,有较高的权限,如果管理不善,将导致子域管理上的混乱,不如一个域,所有管理可以“一杆子插到底”,更具集中性和简单性。

从管理的难易程度来看,管理一个域会比管理多个域简单很多,也容易很多。比如内部人员流动频繁,在一个域中OU(组织单元)之间移动是容易的,但在域之间移动却要麻烦得多。

从管理的成本来看,管理多个域会有更多的安全配置,甚至更多的硬件、软件资源消耗。

3,从安全与管理结合角度

针对子域部分,可以在单域中创建相应的组织单元,并对此组织单元进行合理授权,实现授权管理,既方便了管理者,又有效地控制了权限,实现了管理与安全的“双赢”。

3.2 尽量减少站点数量

这个措施本质上也是要缩小受攻击面。

不是说每个分支都有必要部署一个AD站点。

如果分支用户不多(如不到100)且分支到总部带宽足够(10M或以上),则一般不必要新增一个站点,此分支可以直接到总部登录验证。就算出现偶发性专线中断,由于客户端有登录缓存,也并不影响用户登录桌面使用电脑。

3.3 不要部署过多的域控制器

这个措施本质上也是要缩小受攻击面。

因为多一台域控就多一台暴露点。

当然也不是说整个域就一台域控制器,考虑到冗余,总部至少两台域控制,根据负载情况,可以增加到3至4台。其他分支建议部署一台域控制器即可。

3.4 分支尽量都部署只读域控制器

除了总部部署两至三台读写域控制器外,分支能够部署只读域控制器的都部署只读域控制器。

注意:如果分支站点部署了Exchange服务器的,所在站点必须具有读写域控制器。

只读域控将大大提高域安全的可控性缩小防御面,主要表现在以下几点:

1, 每台只读域控可以授权一个普通用户管理(主要管理场景也就是打补丁、重启、关机等,对象管理(如用户管理)与组策略管理可以不用登录此服务器,当然也可以登录此服务器),这样即使此台服务器被黑客攻下,也无法横向攻击到读写域控,且由于只读域控为只读副本无法修改,黑客也无法通过修改AD数据同步到其他域控的方法进行攻击。

2, 默认只读域控甚至不会缓存用户和计算机密码信息,只是为了加速本地用户和计算机登录,通常会配置策略把本站点的用户和计算机密码信息复制过去,也就是AD数据库里面最多也只有本站点的账号密码信息,大大降低了风险。

3, 只读域控还可以配置复制筛选,比如一些比较敏感的信息可以不复制到分支只读域控(比如PKI信息)。

4, 从复制角度,所有属性都是读写域控单向复制到只读域控,不会有信息从只读域控制复制到读写域控。

从某种角度来说,部署只读域控就相当于减少了域控数量,也就是缩小了受攻击面。

3.5 读写域控制器尽量使用物理机

虽然虚拟机带来了很大的方便性,但从安全性角度物理机更好,主要原因:

1,        虚拟机所在的物理机如果被攻破,则虚拟机也相当于被攻破,相当于要保护好虚拟机,首先得保护好相关物理机,而现在又经常爆出某某虚拟化平台的漏洞消息,更加剧了这种不安。

2,        虚拟机可能被黑客或内部人员拷贝出去,导致严重的信息泄露和安全隐患。

3,        减少一些管理员的误操作带来的影响。部分管理员在打补丁前习惯做一个快照,甚至用此快照来恢复域控,这将带来域控的复制问题,影响域功能。

如果是物理域控制器,应为所有服务器卷配置 TPM 芯片和 BitLocker 驱动器加密。

如果是虚拟机,应在虚拟机平台启用相关虚拟机加密技术。

3.6 域控制器应尽量使用最新操作系统

最新的操作系统具有更好的安全性与功能性,所以建议域控优先使用。

切忌DC使用支持周期之外没有新补丁的操作系统。

3.7 合理的组织单元规划与授权

组织单元应合理规划,且按最小权限进行授权,不要随意扩大授权人员和权限集,比如给everyone完全控制权限。

组织单元(OU)是各种活动目录对像的容器,它的设计将根据以下原则:

l  第一原则:便于进行授权委派;

l  便于通过组策略进行细化的终端管理。

建议如下:

l  以站点为单位授权,每个站点创建一个站点管理员组站点客户端管理员组,授权此站点管理员组进行此站点内的用户、计算机、安全组的创建、修改、禁用、删除等操作。站点客户端管理员组通过组策略加入此站点计算机的本地管理员组,进行日常需要管理员权限的维护。

l  授权基于安全组,不授予单独用户,方便调整。

l  站点之间有用户和计算机对像要移动先移到一个中间地“中转站“组织单元,目标站点去取。

l  用户OU初步设计独立出来,便于后期有应用要同步AD用户。

l  有一个独立的全局资源OU,里面放全局的计算机、服务器、安全组等对象。此全局资源OU由域管理员/企业管理员管理。

前述的站点管理员组和站点客户端管理员组建议放在此OU下,也就是这些组成员的变更由集团负责,以免分支不按规范填加账户。

l  管理机为一个独立的OU,方便实施特殊组策略。

3.8 组策略仅能Domain Admins组增删改

      由于组策略可能被用于分发恶意设置或程序,所以建议要控制GPO增删改权限,且要监控GPO的委派权限是否变动,监控GPO是否有变动,特别是默认的Default domain Policy和Default Domain Controller Policy。

5

系统默认Domain Admins与Group Policy Creator Owners组内的用户有权限新建GPO,建议清空Group Policy Creator Owners安全组,并用受限制的组策略保证其成员为空。后续也会讲述Domain Admins成员默认也会为空,需要时才填加成员,并以“运行为”的方式编辑组策略。

3.9 用户账户自动同步

此建议安全方面的主要目的也是缩小攻击面,因为过期账户越多攻击面就越大。

建议部署AD用户同步程序,从其他权威源(如HR、OA)同步用户信息,包括用户的新建、信息变更、用户部门调动、用户的禁用、用户的删除等,这样做至少有下面的几大好处:

1, 大副度降低管理员AD日常运维所花的时间,管理员不必再在用户账户创建与变更、禁用、删除等整个身份生命周期的管理上浪费时间,这些操作可以自动实现。

2, 降低管理过程中处理不及时导致的安全隐患,比如一个员工离职后,应该及时禁用该用户账户,手工处理常出现延迟甚至遗忘处理,而自动同步则不会。

总的来说,自动同步可以更有效保证用户数据的及时性、准确性、完整性。

3.10 实施合适的密码、锁定策略

不同级别的账户应该有不同的密码与锁定策略。

在域级别实现一般用户(D级)的密码与锁定策略。

针对A级、B级账户应该有更严格的密码与锁定策略,这通过PSO实现。

这里建议的是合适,而不是严格。

合适代表有可行性,比如有些企业实施了严格的密码策略,要求复杂性、密码长度,且要求60天一改,且有多次密码历史,结果某些用户记不住密码,直接把密码写在纸条贴在电脑上,反而降低了安全。所以针对用户的密码策略一定要综合考虑,通常来说,用户密码长度在8位及以上,要求强密码(四选3)、半年更改一次密码,一次密码历史是可接受的。

有条件的情况下最好是开发密码黑名单功能,因为默认的密码策略,只能单纯的检测密码的长度与复杂度要求,采用默认的这种密码策略设置出来的密码在大多数情况下仍属于容易破解的字典经典弱密码,比如设置密码时使用了多个连续的数字或字母,使用弱密码P@ssw0rd字样,使用了带公司字母简写的英文等等。

但对于管理员则要更苛刻的密码策略,密码至少13位以上。

对于锁定策略的实施,通常建议先要有配套的用户自助解锁系统,不然让管理员来处理解锁,工作量可能很大,还要查找锁定的原因,不具有可执行性。

 

3.11 优化补丁更新体系

全网补丁优化是整个域安全优化中的重要一环,可以说是最基础最重要的一环。建议通过微软的WSUS来实现全网补丁优化。

3.11.1 WSUS补丁服务器总体架构

综合考虑管理、专线带宽、补丁磁盘占用、接入负载等各因素,设计如下:

6

l  总部部署两台WSUS服务器,从减少磁盘占用量,也减少并发接入压力角度,一台专放windows server类补丁,一台专放客户端操作系统类补丁。

l  总部的服务器专用WSUS供总部和分支服务器用,总部的客户端专用WSUS供总部客户端用。

l  分支也部署一台客户端专用WSUS服务器,作为总部客户端WSUS服务器的下级服务器,接受统一管理。分支的客户端从分支这台获取补丁更新。

3.11.2 WSUS补丁服务器本身加固

1,WSUS补丁服务器为一个独立的网段(/30掩码),网关配置在数据中心硬件防火墙中,使进出补丁服务器的流量都通过IPS的防护过滤。

l  入站策略仅允许访问8530端口,拒绝访问其它任何端口。

l  出站策略为仅允许补丁服务器主动访问微软更新服务器https协议与内网DNS协议。

2,补丁服务器可从自身、MU、其他WSUS更新补丁,注意策略配置,并自动下载并应用最新补丁。

3.11.3 补丁更新的域组策略

加域的计算机可以通过组策略自动得到补丁服务器地址,更新时间等参数。没有加域的计算机可以通过导入一个注册表指向补丁服务器。

注意配置补丁服务器协议时使用HTTPS加密协议,防止攻击者使用 wsuxploit 或 WSuspicious等工具在网络上拦截 HTTP 协议,并传递恶意更新。

考虑到网络压力,补丁更新时间可以选在中午。

服务器补丁更新策略

可以把服务器划分几类,比如自动下载手动打、自动下载自动打。

针对域控制器,建议自动下载手动打补丁,最新补丁出来后,总部第三台DC可以立即更新补丁,如无问题,两周后更新其他服务器。

针对WSUS服务器自身,可第一时间更新补丁。

针对其他重要服务器,也可以这样处理。

针对一般服务器,边缘应用的,可以自动下载自动打补丁。

客户端补丁更新策略

      客户端的补丁需要在有大量的测试后才进行大面积更新,以防出现新补丁导致的大面积兼容性问题。

7

l  补丁管理员每个月第二周星期三检查最新补丁元数据是否同步到一级补丁服务器。

l  补丁只批准安全更新和关键更新。

l  第三周周三手动批准下载补丁并分发到测试组计算机。

l  第四周周三如测试组计算机无问题,可批准其他客户端安装补丁。

3.11.4 补丁管理其他注意说明

l  不要使用第三方工具更新补丁,但可使用第三方工具检查补丁缺项。

l  补丁管理员应关注互联网热点安全信息,检查补丁漏洞,临时导入安全补丁。

l  补丁更新后一周内检查补丁更新报告,检查补丁更新失败率,并通知桌面运维人员进行相关处理。

l  每季度补丁管理员清理过期补丁,并检查补丁所在盘的空间是否充足。

3.12 使用第三方备份软件备份AD

      首先启用AD回收站,恢复短期内识删除的对象。

其次还要进行域服务器的常规备份,以实现极端情况下的灾难恢复。备份建议通过现有的第三方备份平台集中备份,因为内置的系统备份可能被病毒感染或删除。

   定期对第三方备份平台中的AD备份做异机非授权还原恢复测试,以验证AD备份的有效性。

      做好备份系统的安全防护加固,防止备份系统同时被破坏而失去最后一根救命稻草。

3.13 域内老旧系统的处理

比如win7或以前的客户端系统,win server 2008R2或以前的服务器系统,这些系统存在大量安全漏洞,且微软已不在提供安全补丁,这类系统的存在是极大的安全风险,他们是黑客进一步攻击的跳板,所以该淘汰的淘汰,该升级的升级

 

3.14 构建服务器标准化模板

现在服务器大多数都是虚拟机,建议在虚拟机里面创建好相关模板,做好基础的安全加固:

1模板的操作系统建议使用windows server 2019/2022,最低不能低于windows server 2012 r2(2023.10.10支持到期),不能使用win2008R2或以下版本,因为这些版本微软已经停止补丁更新,漏洞威胁严重,如果确实需要补丁,可购买正版扩展许可。

2 操作系统模板必须标准封装,不安装不必要的软件,多一个软件就多一个漏洞点,封装前打上最新补丁,如果不加入域,请启用下面的配置,如果加域,则通过域组策略统一实现:

l  更新到最新的补丁

l  开启系统防火墙,禁用所有入站访问,后期再根据需求开启相应端口(有条件的企业建议是通过硬件防火墙实现)。

l  安装杀毒软件,设置退出与卸载密码,添加排除。

l    禁止访问因特网(通过上网行为管理设备)

l  开启安全审计

l  开启锁定策略,如5次错误锁,锁3分钟,3分钟解锁。

l  修改Windows安全日志大小,默认仅保留2M日志。

l  禁用server服务,如果server服务无法禁用,则至少禁用C$及管理共享。

l  禁用Print Spooler服务。

l  禁用WINRM服务。

l  远程桌面服务禁用掉客户端磁盘映射,开启剪贴板文字粘贴

l  远程桌面2小时不活动自动注销。

l  远程桌面2小时断开自动注销。

l  禁用密码缓存,或保留一次密码缓存

l  禁止网络凭据缓存

l  有条件禁止浏览器保存密码(IE/EDGE/CHROME)

l  拒绝本地administrator通过网络访问该计算机

l  从本地administrators组清除掉domain admins组

l  禁止读取U盘等移动介质

l  关闭自动播放(所有驱动器)

l  不要禁用UAC

 

3.15 建立客户端标准化系统

客户端标准化系统不仅仅让终端电脑更稳定,降低管理员运维量,也是保证全网安全的重要一环。

关于客户端标准化,有以下建议:

1,        保证源安装介质的干净,不要使用网上的所谓定制、纯净版安装系统,这种所谓的纯净版通常都有木马或恶意软件在里面,这是引狼入室。

2,        在企业IT规划时,建议使用最新的Win10企业长期服务版,这种系统更加适合于企业使用,因为微软支持的年限较长且系统比较精简。

3,        可以通过微软SCCM等终端管理平台制作、部署适合于企业标准化的操作系统(更新最新的安全补丁,并在模板中安装免费的通用软件与购买的正版软件),实现系统安装、驱动安装、加域、终端安全标准配置一条龙。

4,        不要随意给终端用户管理员权限,对于某些特殊软件需要管理员权限的可以通过组策略或特权管理软件实现。

特权管理软件可以定义一个白名单列表,在这个白名单里的软件以system身份运行,相对于通过组策略调整权限更简单。

3.16 加强AD集成安全管理

现在与AD集成的应用越来越多,从安全性角度来说,主要关注:

1,        集成账户专用,只赋予最小权限,不要随意给域控管理员或域管理员权限,通常普通域账户即可,且密码大于20位,有条件定期修改。

2,        认证过程一定要是加密,像LDAP简单认证,密码为明文,容易被嗅探。

3.17 建设预警体系

必须建立好预警体系,以便在域控受到攻击时及时提醒管理员。

预警的数据来源一是网络流量,一是事件日志,网络流量常通过企业内部的态势感知类系统进行检测与报警,而域本身提供了丰富的审计日志,结合第三方日志平台实现相应告警。

微软的高级威胁分析ATA(Advanced Threat Analytics)既能从网络流量也能够从日志实现告警。ATA是一个很好的域安全威胁感知平台,强烈推荐。

域的审计日志要开启审核策略,审核策略包括传统和高级两块,需要开启高级审核,传统审核已经不能满足预警的需要。

由于审计日志分散在每台DC上,且可读性较差,容量有限,建议通过集中的日志审计设备实现日志的集中存储、检索与报警。

下面列出建议要监视并告警的重要日志,特别是“潜在严重程度”标记为高的是必须监视的。

当前 Windows 事件 ID

旧版 Windows 事件 ID

潜在严重程度

事件摘要

4618

空值

已发生受监视的安全事件模式。

4649

不适用

检测到重播攻击。 由于配置错误,可能是无害误报。

4719

612

系统审核策略已更改。

4765

空值

SID 历史记录已添加到帐户。

4766

空值

尝试将 SID 历史记录添加到帐户失败。

4769

空值

Kerberoasting

4794

空值

尝试设置目录服务还原模式。

4897

801

已启用角色分离:

4964

空值

已将特殊组分配到新的登录。

5124

空值

OCSP 响应程序服务上更新了安全设置

空值

550

中到高

可能的拒绝服务 (DoS) 攻击

1102

517

中到高

已清除审核日志

第4章 技术-战术层面优化与加固措施

在满足前面管理层面与技术战略层面的要求下,本节再就战术层面讲述更细节更针对性的优化与加固措施。

4.1 域控加固

4.1.1 检查清理工作

4.1.1.1 老旧对象的检查清理

老旧对象的存在对域是一个重要风险因素,相关检查与清理主要包括:

废弃账户与不活动账户清理

首先要进行废弃或过期对象的清理工作,这些过期账户的存在对整个域环境是个潜在威胁,账户越多,密码爆破和密码喷洒的攻击面就越大,某个账户被成功爆破的几率就越高,而黑客攻破域控的第一步通常就是先获取一个普通域账户的密码信息,而老旧账号由于无人使用,即使爆破攻击时被锁定也难以被发现,更容易助长攻击成功。

l  清理思路:专门建立一个临时OU如<清理中的资源>,把下面时间段的用户和计算机移动到它下面。

用户:半年未登录的用户,但要排除一些特殊账户。

计算机:半年未登录的计算机。

l  操作:先禁用,三个月后再删除。

l  剩下的用户、计算机、服务器要分别归入相应的组织单元之下。

l  其他要清理的资源:无用的组织单元和组策略对象。

空密码账户,密码永不过期账户检查清理
DES加密账户、SID历史账户检查清理

4.1.1.2  其他异常检查与处理

包括但不限于以下项:

1  DC上是否安装有sniffer嗅探工具

2“PRE-WINDOWS 2000 COMPATIBLE ACCESS”组成员检查,应该为空。

3是否有DNS区域配置成了非安全更新,应为安全更新。

4针对服务账户是否有专用密码策略(大于20位)

5是否有GPO禁止了LLMNR和WPAD(应禁用)

6是否有组策略首选项密码保存在GPO中。

7重复SPN检查

8万能钥匙攻击检查

9是否存在允许请求者指定subjectAltName的证书模板

4.1.2 特权检查与加固

4.1.2.1内置管理员组加固

8

l  默认域administrator、EA组、DA组、BA组、客户端本地administrators组的保护措施总体参见上图。

l  从域本地管理员组administrators里面清空除administrator的成员,administrator仅能本地录RW域控,一般情况并不会使用。新增一个dcadmin,加入BA组,绑定到域控,不能登录其他。建议dcadmin由一个管理员掌握,相关高级任务由它完成,因为其他管理任务可通过站点管理员完成,这样可以不用创建多个BA组成员。

l  从Domain admins\Enterprise Admins\Schema admins中删除掉所有用户。新建一个rootadmin备用,在使用时才加入DA/EA/SA组。

为防止忘记清除,通过受限制组功能额外保障。

l  域控上清空account operators/backup operators/remote desktop users/server operators/print operators组中的用户。

l  使用Protected Users组保护管理员

位于Protected Users组中的用户将不会缓存用户凭据(所以服务和计算机的帐户不应是此组的成员),可以把rootadmin放在此组中,此组也有些副作用,所以不要一下子把所有特权账户都放在里面,主要限制是:

如果域功能级别Windows Server 2012 R2,则组的成员:

不能使用 NTLM进行身份验证(比如直接通过非域电脑或直接IP连接是通过不了验证的)

不能在 Kerberos 预身份验证中使用数据加密标准 (DES) 或 RC4 密码套件

不能使用不受约束或约束委派进行委派

不能在超出最初的 4 小时生存期后续订用户票证 (TGT)

l  清空Allowed RODC Password Replication Group group,每个站点应创建独立需要缓存密码的组,而不是把所有站点的用户和计算机都放在这个组。

4.1.2.2 管理员加固

包括但不限于:

1检查管理员帐户是否配置了SPN(不应配置)

2是否有不活动的管理员账户(有则删或禁用)

3管理员是否已标记为“此帐户是敏感的,不能被委派”(应标记)

4检查服务帐户是否是域管理员(不应是域管理员)

5管理员可以命名为中文,可能会增加攻击难度

4.1.2.3其他特权检查

1 检查 DNS 服务器上是否存在不规范的显式委派

2 DSRM后门检查

如果注册表HKLM\System\CurrentControlSet\Control\Lsa下面有DsrmAdminLogonBehavior,且值为2,则很可能被“黑”。

3 具有DCSync权限用户检查

所谓DCSync权限一般指下面两个权限:

目录复制同步(Replicating Directory Changes)

目录复制同步所有项(Replicating Directory Changes All)

此功能常被黑客利用来模仿一个域控制器,以从真实的域控制器中请求数据,例如用户的哈希。该功能最大的特点就是可以实现不登录到域控而获取域控上的数据。

为了维持攻击权限,黑客常会填加一个普通用户拥有DCSync权限,以便后续隐蔽攻击。所以需要检查域的DCSync权限是否被特殊账户拥有。

9

4 AdminSDHolder对象的ACL检查

AdminSDHolder让受保护的特权组权限保持一致,要对这个对象本身的权限进行检查,看是否有特殊的用户具有控制权限。

10

下面为受AdminSDHolder保护的安全组列表。

11

 

5 清空默认“将工作站添加到域”授权

默认所有域用户都有权将10台计算机加入域,这对攻击者来说是个很大的利用点,需要回收此权限,清空授权。在实际使用中,都在OU级进行加域授权,且无加域数量限制,更适合生产环境。

4.1.3 优化网络位置

从网络分区分域以便实施访问控制的角度,把域控放在一个独立VLAN总是一个好的主意,并在核心交换机为域控绑定静态ARP表项,可防止域控被ARP欺骗。

4.1.4 加密到域控的网络通信

对于某些与AD集成的应用,比如第三方应用程序提交用户名和密码到AD认证,密码从用户到第三方应用、第三应用到域控这两个过程中可能是明文未加密的,比如OA与AD集成了,OA是通过HTTP访问,则用户提交的用户与密码则是明文。这种情况下密码有被嗅探的可能,所以建议到域控的通信,特别是涉及到身份认证,一定要是加密通信,如采用LDAPS、HTTP换成HTTPS。

4.1.5 域控补丁

手工检测域控是否更新ms14-068、ms17-010、CVE-2019-1040、CVE-2020-1472、CVE-2020-17049、CVE-2021-1675 、CVE-2021-34527、CVE-2021-42287、CVE-2021-42278、CVE-2022-20963等高危补丁,并更新补丁到最新,避免被已知CVE漏洞直接攻破。

4.1.6 其他加固

除了遵从3.14节描述的服务器通用加固外,DC还可以启用LSA 保护、禁用SMBv1、禁用Print Spooler服务、停用域控的C$、ADMIN$管理共享,使用硬件防火墙的IPS防护 。

4.2 服务器通用加固

服务器的通用加固措施可参考3.14节的描述,还有下面几点:

l  从服务器本地管理员组删除domain admins,填加专用的管理员账户。

l  实施LAPS本地管理员密码管理。

4.3 客户端通用加固

虽然域安全优化最重要的是域控本身的安全优化与加固,

但也不能忽略域的其他部分,千里之堤,溃于蚁穴,域中每一个工作站的安全都不应该忽视,很多案例说明域控被攻破都是以内网某台工作站作跳板的。

除了上面已经描述的措施,还建议:

1建议禁用客户端的server服务,如果有打印机共享的可以单独配置组策略开启server服务。

2     禁用WINRM服务  

3 组策略从本地管理员组删除掉domain admins组。

4 组策略在客户端管理员组添加站点客户端管理员组以方便运维(禁止此组网络共享访问以防病毒传播)。

5 拒绝从网络访问此计算机:本地administrators组,站点客户端管理员组,域管理员组。

6,部署客户端网络准入系统,只允许加入域的计算机接入网络,此方式对用户来说是透明和无感的。

7,禁止浏览器密码保存

8,禁止U盘或其他设备自动播放

9,不要禁用UAC

10,开启系统防火墙,

11,可实施LAPS本地管理员密码方案。