Active Directory 域服务—域控架构详解(1)

2018-11-30 39,577

本人最近研究域控,安全行业对于域控的介绍大多只是在内网域渗透以及运维的AD域部署。将运维AD域以及安全域渗透结合起来的文章少之又少,特将这段时间的研究总结成文。本文介绍会分两个部分,介绍篇幅较长,涉及到安全运维偏多,较适用于甲方安全运维的同学~

第一部分详细叙述域和林的基本认识、域林中主机角色以及集中域控制器的作用等、第二部分会简述到组策略的配置,账号密码的管理、域共享文件的管理以及相关域渗透等。

不管是单纯的甲方安全运维,还是乙方业务涉及到的对客户域环境的加固,又或者是安全渗透涉及到的内网域渗透。以上所有的点归结到最终都需要对域控有所了解。本篇详细叙述域林架构,涉及点较多,较为啰嗦,但是收集比较全面,参考了大量文章去收集,只是对域控的架构有个简单的罗列~

 

windows server2012 AD DS域服务,其实质仍然是身份验证系统 ,企业管理使用的组策略是基于身份验证系统(域用户和计算机账户)的上层应用。学些域过程中,部署域环境比较简单,难的是管理依赖于域的应用。微软网络级产品基本都和域绑定得比较紧密。

 

首先是对于域控制器的安装以及额外控制器的安装,可参考以及链接:

https://www.cnblogs.com/tuyile006/p/4514335.html

https://www.cnblogs.com/airoot/p/7774977.html

https://blog.csdn.net/xiezuoyong/article/details/9452753

http://www.mamicode.com/info-detail-1927408.html

......

更多请百度~


 

一 域控制器

windows server2012中域控制器包括3中类型:额外域控制器、域控制器以及只读域控制器。

如果网络中安装的是第一台域控制器,该服务器默认为林根服务器,也是根域服务器,FSMO(操作主机)角色默认安装到第一台域控制器。(FSMO角色 文章下面会有详细介绍)

如果是额外域控制器,FSMO(操作主机)角色转移到额外控制器后,额外控制器将提升为域控制器。域控制器和额外域控制器之间是平行关系,他们之间的区别在于是否存在FSMO角色。

域控制器中运行AD DS域服务,该服务和普通服务应用相同,可以通过“服务”控制台管理AD DS域服务,完成“启动”、“停止”、“暂停”等操作。域控制器添加到“Domain Controllers”组织单位中。

2 额外域控制器

成员服务器使用“添加角色和功能”向导添加“AD DS域服务”角色后,将被提升为额外域控制器,成员服务器添加到域内“Domain Controllers”组织单位中。该服务器上运行“AD DS域服务”,提供管理任务,存储Active Directory数据库。

3 只读域控制器

只读域控制器(只读域控制器 文章下面会有详细介绍)服务与AD DS域服务相同,同样以服务的方式存在,但是Active Directory数据库只能读取不能写入,Active Directory数据库是AD DS域服务器数据库的一部分,非完整Active Directory数据库副本。只读域控制器加入到域内“Domain Controllers”组织单位中。

只读域控制器只能将可读写域控制器Active Directory数据库设置的缓存账号同步到只读域控制器中,无法对只读控制器中的Active Directory数据库进行更改,如果只读域控制器需要更改Active Directory数据库的数据,更改的数据首先在可读写域控制器上更改完成,然后复制到只读写域控制器中。

 

二 常用域概念

 1、域的实质

 域是一套统一身份验证系统,是企业应用的基础,用身份验证系统完成企业级别的业务系统应用,例如Exchange Server、Forefront Threat Management Gateway、SharePoint Server、File Server、SQL Server、打印机共享等。

 2、域应用

 域是一个有安全边界的集合,同一个域中的计算机彼此之间建立信任关系,计算机之间允许互相访问。

 域应用中,难的不是域环境部署而是依赖域环境的应用。例如组策略(Windows Server 2012中提供数千个相关策略),首先确认用户身份,然后组策略根据用户身份(计算机账户或者域用户账户)进行限制。虽然谈到域就谈到组策略,但是组策略属于上层应用,组策略通过用户身份验证和域绑定得比较紧密,大部分企业管理都是通过组策略完成。

单域环境中只使用一个DNS名字空间,例如book.com。域中的所有计算机账户和用户账户都是用同一个域后缀(DNS名称后缀)。

3、规划域

 域的规划本身存在多样性。每个企业都有不同的需求。

  • 考虑到集团下的各个公司一般都是独立运行管理,集团多公司使用单林多域。

  • 中型企业交叉业务比较多,一般情况是一个总部+多个分公司。建议使用父子域或者集中地管理一个域,然后划分站点。

小型企业使用单域。

根据个人实践经验,如果没有特殊需求,域规划越简单越好,能用单域多站点解决的应用尽量不使用父子域,能用父子域解决的应用尽量不使用单林多域环境。

根域

网络中创建第一个域就是根域,一个域林中只能有一个根域,根域在整个域林中处于重要地位,对其他域具备最高管理权限。通过“Get-ADForest”命令,验证根域所在的服务器,通常架构主机角色和域命名主机角色所在的域控制器。

域树

域树由多个域组成,这些域共享同一存储结构和配置,形成一个连续的名字空间(相同的DNS后缀)。树中的域通过信任关系连接,林包含一个或多个域树。域树中的域层次越深级别越低,一个“.”代表一个层次,如域bj.book.com比book.com这个域级别低,因为它有两个层次关系,而book.com只有一个层次,而域hdq.bj.book.com又比bj.book.com级别低,道理一样,它们都属于同一个域树,bj.book.com就属于book.com的子域。父子域之间的关系是双向信任关系。

域林

创建根域时默认建立一个域林,同时也是整个林的根域,同时其域名也是林的名称。例如book.com是网络中第一个域的根域,也是整个林的根域,林的名称就是book.com。通过Powershell命令“Get-ADForest”查看林的相关参数。

域树必须建立在域林下,一个域林可以有多棵域树。已经存在的域不能加入一棵树中,也不能将一个已经存在的域树加入到一个域林中,如果一定要把一个域加入到一棵域树中,或者要把一个域树加入到一个域林中,唯一可行的方法就是从零开始建立新域。


图片1.png

域林结构

如何区别域林和域树

  • 域林是由一个或多个没有形成连续名字空间(非相同的DNS后缀)的域树组成,域域树最明显的区别在于构成域林的域树之间没有形成连续的名字空间,而域树则是由一些具有连续名字空间的域所组成的。域林都有根域,即域林中创建的第一个域,域林中所有域树的根域与域林的根域建立可传递的信任关系。

  • 域树由多个域组成,这些域共享同一存储结构和配置,形成一个连续的名字空间(相同的DNS后缀)。树中的域通过信任关系连接,林中包含一个或多个域树。域树中可以立即与域树或树林中每个其他的域建立信任关系。这些信任关系允许单一的登录过程,在域树或树林中的所有域上对用户进行身份验证,单着不一定意味着经过身份验证的用户在域树中的所有域上对用户进行身份验证,单着不一定意味着经过身份验证的用户在域树的所有域中都拥有相同的权利和权限。因为域是安全界限,所以必须在每个域的基础上为用户指派相应的权利和权限。

 

三 管理域控服务器需要注意的问题

一、没有安装DNS

犯这种错误的大多数新手。因为一般在安装活动目录时,如果没有安装DNS,系统会给出相应的警告。也有朋友做过尝试,不装DNS,而用WINS是可以的,但是用户会发现登陆的时候速度相当慢。虽然还是可以用Netbios名访问网上邻居中的计算机,但其实是无法使用域资源的。这是因为在域环境网络中,DNS起到的不仅仅是一个域名解析的作用,更主要的是DNS服务器起到一个资源定位的作用,大家对于DNS的A记录应该有很深的了解,实际上,在A记录之外,还有很多其它的如SRV之类的记录。而这些资源没办法用IP直接访问,也不是WINS服务器能够做到的。所以部署活动目录请一定要安装DNS。

二、随意安装了软件

由于域控制器在域构架网络中的作用是举足轻重的,所以一台域控制器的高可能性是必须的,但是太多的管理员朋友忽视了这一点。所以建议域控制器上除了活动目录和DNS,其他基础服务不要安装在域控制器上。网络上至少部署2台或者以上的域控制器,域控制器之间自动完成Active Directory数据库同步。

三、操作方法不正确

网络管理员往往都是技术爱好者,所以对于自己机器的设置往往更加“个性化”。比如,有的网管一时兴起,增加一台额外域控制器,然后再增加一个子域,而哪天因为系统问题或者心情不爽,往往也不降级,直接把那些子域域控制器,额外域控制器等统统格式化, 然后重装。这样反复操作,往往会导致活动目录出错,直到无法添加为止。

四、FSMO角色的任意分配(FSMO角色 文章下面会有详细介绍)

一般来说,FSMO一般是不需要去管理的。正常情况下如果需要对FSMO的角色进行转移的话,那么无非就是两种情况:一是服务器的正常维护;二是原来的FSMO角色所在的域控制器由于硬件或其它的原因导致无法联机。

但是目前很多网管碰到上述两种情况,会采取很极端的作法,就是只要原来的FSMO角色所在的域控制器一旦离线,就一定要把FSMO角色转移到其它的域控制器上,能传送就传送,不能传送就夺取。在这建议大家一个字:等!除了PDC仿真器这个角色以外,其它角色所在的域控制器如果离线的话,都建议大家等,等着这台域控制器的重新归来,一般也就是几天的时间,因为在FSMO的角色中,除了PDC仿真器是经常用到的以外,其它的角色是不会常用到的。

五、GHOST

GHOST是很优秀的软件。但是正是因为太多的人将他看成“救命稻草”,但是服务器和PC、NB不一样。系统装好后,用GHOST作备份,对于单机和对等网上是无可厚非的,但是在域环境下却不能这么用。

因为部署过活动目录的人都知道,所有的域用户都是有一个帐号和密码的,但有没有人知道其实在域内的计算机和域控制器的通讯也是要用密码的?当然这个密码是随机的,而且是定期修改的,所以当恢复一个很久以前的GHOST备份的时候,你会发现系统无法和域控制器联系,因为密码换过了,当然这种情况的解决办法还是很简单的,退出域,再重新加入就可以了。所以在域网络中对客户端使用GHOST还是可以忍受的,因为一个企业在同一时间大面积的进行GHOST还原的情况还没有见过。当然有一种情况是要避免的,就是当硬件配置一样,然后用GHOST进行盘对盘复制的,这样的话会有安全隐患,因为GHOST会导致SID 重复。虽然可以借助一些工具来清除,但还是觉得不放心。

如果说GHOST用在域控制器上,除非你每天做个GHOST备份,在活动目录上,有一个Tombstone lifetime,中文一般翻译成墓碑时间,这个时间系统默认是60天,如果一台域控制器离线的时间超过60天,那么这台域控制器就算重新接到网络中来,其它的域控制器也不会把信息复制给它,可以说,它已经脱离这个网络了。

而且,这个备份恢复回来的GHOST是有可能把它上面的过时的信息复制给其它的域控制器的,你可能会发些很早以前删除的帐号居然又回来了,组策略还原了等莫明其妙的问题,而且这种复制对于企业而言,是有灾难性损坏的可能性的,要避免这种情况网管要修改注册表来控制它的出站复制,不过能避免,又何必去修改?由此可见,用GHOST恢复以前的域控制器的备份,就好比这台域控制器从备份那天就开始离线一样,很多情况下,这种备份恢复的操作等于没有,甚至有时候还不如不备份,灾难恢复都要比它好。因此,GHOST能不用就别用。

 

四 管理域功能级别

域和林功能级别是一种标志,该标志提示语管理员域和林中所有域控制器存在一定差异,不同级别对应不同操作系统。当功能级别被提升之后,一些依赖于操作系统的新功能将被启用。之前的功能仍然支持,以便使用那些功能的任何应用程序或服务奖继续像以前那样工作。因此建议,尽量使用高的功能级别。

 

功能级别在域中的作用

域环境中,林功能级别和域功能级别提供启用林范围和域范围的新功能、新特性和功能。通过提升林和域功能级别,可以启用那些暂时收到限制的新特性。如果在林中或者域中,所有的域控制器都运行最新的服务器版本,然后林功能级别和域功能级别都已经升到最高级别,那么所有的林范围和域范围的新特性都是可用的。相反的,如果存在运行在先前版本服务器系统的域控制器,AD DS域服务的特性的使用将受到限制。

每一个新版本的Windows服务器在操作系统上的AD DS域服务(Active Directory服务)中都有新的功能和特性的引进,但是只有当域或者林中的所有的域控制器都升级到同一版本的服务器系统时,这些新的特性才可以被启用。例如Windows Server 2012支持“Active Directory回收站”功能,允许管理员从Active Directory中恢复已删除的对象。为了支持者一新功能,只有让所有的域控制器都运行在Windows Server 2012域控制器域早起版本Windows系统域控制器共存时,如果根据删除动作判断删除的对象是否可以存放在Active Directory回收站,以及是否可以从回收站中被恢复,很明显会造成活动目录数据库的不一致性,为了防止这种情况,需要一种机制,使得混合环境中这些新特性保持禁用状态,知道所有域或森林的域控制器已经升级到支持它们所需的操作系统最低水平。这个机制就是林和域的功能级别。

创建新域或新林时,管理员可以选择使用的功能级别,建立尽量设置为高级别的功能级别,尽可能充分利用AD DS域服务器功能。安装新林时,Active Directory部署向导将提示设置林功能级别,然后设置域功能级别。不能将域功能级别设置为低于林功能级别的值。

 

功能级别的限制

1.第一个限制

如果功能级别被提升,运行在低级版本的Windows Server上的域控制器就不能被添加到域或目录林中。如果非要安装的话,就会产生一些问题,例如改变对象的复制方式。为了防止这些问题的出现,一个新的域控制器必须运行在同一水平,或者是比域或目录林功能级别更高的服务器系统上。

2.第二个限制

提升功能级别后,不能回滚到原级别或者说更低级别,只有下面两个特例。

·当升级域功能级别到Windows Server 2008 R2或者Windows Server 2012时,如果林功能级别是Windows Server 2008或者更低,域功能级别可以回滚到Windows Server 2008或者Windows Server 2008 R2。只有在这种情况下,才有回滚可以发生,只能讲域功能级别从Windows Server 2012降到Windows Server 2008或者Windows Server 2008 R2,或者从Windows Server 2008 R2降到Windows Server 2008。

·当升级林功能级别到Windows Server 2012时,林功能级别可以回滚到WIndows Server 2008 R2.如果Active Directory回收站没有被启用的话,林功能级别还可以从Windows Server 2012降到Windows Server 2008或者Windows Server 2008 R2,或者是从WIndows Server 2008 R2降到Windows Server 2008。

 

注意事项

功能级别操作时,需要注意以下事项。

  • 验证域内所有的域控制器,确保都运行在与将要提升到的功能级别一样或者更高的操作系统上。如果降级一个运行在低版本服务器上的域控制器,单没有执行元数据清除,这种情况下提升功能级别时可能出现问题。

  • “Lost and Found”容器中,如果存在低版本系统NTDS设置对象,不能提升域功能级别。

  • ·确保活动目录数据库可以复制到所有的域控制器。域和目录林功能级别本质上只是活动目录中的一个属性。功能级别的更改通过Acitve Directory复制传播给域中或者林中所有域控制器。提高林功能级别前,所有域的域功能级别必须已经正确复制。提升完所有林中域的域功能级别后,域控制器之间的复制依赖于域环境、站点规划、网络速度等。

 

域功能级别支持的域控制器


域功能级别对应的操作系统

image.png


林功能级别支持的域控制器

 

 林功能级别对应的操作系统

image.png


功能级别的管理任务

提升功能级别取决于网络中域控制器运行的操作系统版本,使用Windows Server 2012部署Active Directory域服务过程中,管理员将第一次决定采用何种类型的域和林功能级别,默认情况下采用的是Windows Server 2003模式,如果网络中运行的操作系统版本全部是Windows Server 2008,则可以直接设置为Windows Server 2008模式,在以后的管理中不需要提升林和域的功能级别。提升的过程只能由低向高,不能将高版本的功能级别降级(实质上部分允许,但是不建议降级操作)。

 

查看域功能级别

1、Active Directory域和信任关系

打开“Active Directory域和信任关系”控制台,右击域名,在弹出的快捷菜单中选择“属性”命令,命令执行后,打开域属性对话框。该对话框显示当前林和域的功能级别。

2、PowerShell命令组

Get-ADDomain

3、Active Directory管理中心

打开“Active Directory管理中心”,左侧面板中选择“域(本地)”,“任务”列表中选择“提升域功能级别”选项。

命令执行后,显示“提升域功能级别”对话框。显示当前域的功能级别。

 

查看林功能级别

1.Active Directory域和信任关系

通过“Active Directory域和信任关系”查看林功能级别,操作方法和查看域的功能级别相同。

2.PowerShell命令组

Get-ADForst

3.Active Directory管理中心

 打开“Active Directory管理中心”,左侧面板中选择“域(本地)”,“任务”列表中选择“提升林功能级别”选项。

命令执行后,打开“提升林功能级别”对话框。显示当前林的功能级别

 

以上针对域和林做了简单介绍。之后将针对域控制器角色以及域中策略进行简述。

 

五 操作系统主机角色

1 概述

Active Directory 域服务 (AD DS) 的逻辑结构主要可分为Active Directory林、Active Directory域;通过林树和域树之间的组合可以满足各种规模的企业的各种需求;但是无论怎么进行设置都必须要考虑到以下5个FSMO操作主机角色的放置问题。FSMO是Flexible single master operation的缩写,意思就是灵活单主机操作。营运主机(Operation Masters,又称为Flexible Single Master Operation,即FSMO)是被设置为担任提供特定角色信息的网域控制站,在活动目录中有五种FSMO角色,并且分为两大类:

林级别(在整个林中只能有一台DC拥有访主机角色)

架构主机 (Schema Master)

域命名主机 (Domain Naming Master)

林中上述角色必须是唯一的,意味着在整个林中,只能有一个架构主机角色和一个域命名主机角色。

 

域级别(在域中只有一台DC拥有该角色)

PDC模拟器(PDC Emulator)

RID主机 (RID Master)

基础架构主机 (Infrastructure Master)

每个域中上述角色都必须是唯一的,即林中的每个域都只能有一个RID主机角色、PDC仿真主机角色以及基础结构主机角色。

 

2 FSMO角色功能

2.1 架构主机

控制活动目录整个林中所有对象和属性的定义,具有架构主机角色的DC是可以更新目录架构的唯一DC。这些架构更新会从架构主机复制到目录林中的所有其它域控制器中。 架构主机是基于目录林的,整个目录林中只有一个架构主机。

 

2.2 域命令主机

向目录林中添加新域。

从目录林中删除现有的域。

添加或删除描述外部目录的交叉引用对象。

 

2.3 PDC模拟器

向后兼容低级客户端和服务器,担任NT系统中PDC角色

时间同步服务源,作为本域权威时间服务器,为本域中其它DC以及客户机提供时间同步服务,林中根域的PDC模拟器又为其它域PDC模拟器提供时间同步!

密码最终验证服务器,当一用户在本地DC登录,而本地DC验证本地用户输入密码无效时,本地DC会查询PDC模拟器,询问密码是否正确。

首选的组策略存放位置,组策略对象(GPO)由两部分构成:GPT和GPC,其中GPC存放在AD数据库中,GPT默认存放PDC模拟器的[url=file://windows/sysvol/sysvol/%3Cdomain]\\windows\sysvol\sysvol\目录下,然后通过DFS复制到本域其它DC中。

域主机浏览器,提供通过网上邻居查看域环境中所有主机的功能

 

2.4:主机角色:RID主机

Win2003环境中,所有的安全主体都有SID,SID由域SID+序列号组合而成,后者称为“相对ID”(Relative ID,RID),在Win2003环境中,由于任何DC都可以创建安全主体,为保证整个域中每个DC所创建的安全主体对应的SID在整个域范围唯一性,设立该主机角色,负责向其它DC分配RID池(默认一次性分配512个),所有非RID在创建安全实体时,都从分配给的RID池中分配RID,以保证SID不会发生冲突!

 

2.5:基础架构主机

基础结构主机的作用是负责对跨域对象引用进行更新,以确保所有域间操作对象的一致性。基础架构主机工作机制是定期会对没有保存在本机的引用对象信息,而对于GC来说,会保存当前林中所有对象信息。如果基础架构主机与GC在同一台机,基础架构主机就不会更新到任何对象。所以在多域情况下,强烈建议不要将基础架构主机设为GC。

将承载这些操作主机角色的域控制器放置在具有高网络可靠性的区域,并确保 PDC 模拟器和 RID 主机始终可用。

 

3 查询主机角色

在域控制器的命令行控制台中通过命令netdom query fsmo来查询,可以看到这五种操作主机角色全部在第一台域控制器中

图片2.png

也可以通过使用Dsquery工具单独查看操作主机角色

Dsquery Server –Hasfsmo Schema //查看架构主机

Dsquery Server –Hasfsmo Name //查看域 主机

Dsquery Server –Hasfsmo PDC //查看PDC模拟器主机

Dsquery Server –Hasfsmo RID //查看RID主机

Dsquery Server –Hasfsmo Infr //查看基础结构主机

图片3.png


4 操作主机故障影响

操作主机在Active Directory环境中,肩负着重要的作用,如果操作主机出现问题,将会出现以下问题:

当架构主机不可用时,不能对架构进行更改。在大多数网络环境中,对架构更改的频率很低,并且应提前进行规划,以便使架构主机的故障不至于产生任何直接的问题。

当域命名主机不可用时,不能通过运行DCPROMO向Active Directory中添加域,同时也不能从目录林中删除域,如果在域命名主机不可用时试图通过运行DCPROMO来删除域,那么就会收到一条"RPC 服务器不可用"的消息。

当RID主机不可用时,所遇到的主要问题是不能向域中添加任何新的安全对象,例如用户、组和计算机;如果试图添加,则会出现如下的错误消息:"Windows 不能创建对象,因为:目录服务已经用完了相对标识号池"。

当PDC主机不可用时,在本机模式环境中用户登录失败的可能性增大。如果重新设置用户密码,例如用户忘记密码,然后管理员在一台DC(不是验证DC)上重新设置密码,那么该用户就必须等到密码复制到验证DC之后才能登录。试图编辑组策略对象时出错。

当基础架构主机不可用时,结构主机故障对环境的影响是有限的。最终用户并不能感觉到它的影响,只对管理员执行大量组操作产生影响。这些组操作通常是添加用户和/或重新命名用户。在此情况下,结构主机故障只是会延迟通过Active Directory管理单元引用这些更改的时间。

 

5 操作主机角色放置优化配置建议

默认情况下,架构主机和域命名主机角色是在根域的第一台DC上,而PDC模拟器,RID主机和基础结构主机默认放置在当前域的第一台DC上。特别是在单域环境中,按默认安装,第一台DC会同时拥有这五种FSMO操作主机角色。万一这台DC损坏,会对域环境造成极大风险!

常见的操作主机角色放置建议如下:

架构主机:拥有架构主机角色的DC不需要高性能,因为在实际环境中不会经常对Schema进行操作的,除非是经常会对Schema进行扩展,不过这种情况非常的少。但要保证可用性,否则在安装Exchange等会扩展AD架构的软件时会出错。

域命名主机:对占有域命名主机的DC也不需要高性能,在实际环境中也不会经常在森林里添加或者删除域的。但要保证高可用性是有必要的,以保证在添加删除当前林中域时可以使用。 一般建议由同一台DC承担架构主机与域域命名主机角色,并由GC放置在同一台DC中。

PDC模拟器:从上述PDC功能中可以看出,PDC模拟器是FSMO五种角色里任务最重的,必须保持拥有PDC的DC有高性能和高可用性。

RID主机:对于占有RID Master的域控制器,没有必要一定要求高性能,因为给其它DC分配RID池的操作不是经常性发生,但要求高可用性,否则在添加用户时出错。

基础架构主机:对于单域环境,基础架构主机实际上不起作用,因为基础架构主机主要作用是对跨域对象引用进行更新,对于单域,不存在跨域对象的更新。基础架构主机对性能和可用性方面的要求较低。基础架构主机的数据主要来自全局编录服务器(GC),全局编录服务器存储其他域的数据。由于基础架构主机和全局编录服务器不兼容,不要将这2个角色放同一台域控制器中。除非:域中只有一个域控制器,否则不应该将基础架构主机角色指派给全局编录服务器。 又或者域中所有的域控制器都存在全局编录,则无论哪个域控制器均可承担基础结构主机角色。

建议将PDC模拟器,RID主机以及基础结构主机放置在一台性能较好的DC中,且尽量不要配置成GC。

对以上FSMO规划总结如下:

1、占有Domain Naming Master角色的域控制器必须同时也是GC;

2、不能把Infrastructure Master和GC放在同一台DC上;

3、建议将Schema Master和Domain Naming Master放在森林根域的GC服务器上;

4、建议将Schema Master和Domain Naming Master放在同一台域控制器上;

5、建议将PDC Emulator、RID Master及Infrastructure Master放在同一台性能较好的域控制器上;

6、尽量不要把PDC Emulator、RID Master及Infrastructure Master放置在GC服务器上;

 

在上面对操作主机角色的介绍中,多次提到了全局编录服务器,下面对全局编录服务器详细介绍。

 

六 全局编录服务器(GC)

GC是一台DC,它是一台特殊的DC,它存储森林中所有对象部分只读信息的特殊DC。在森林可以有多台GC,全局编录是一库,它包含了在活动目录中所有对象连续请求信息的子集,例如用户登录的ID等。

GC的作用

1 存储对象信息副本,提高搜索性能

全局编录服务器中除了保存本域中所有对象的所有属性外,还保存林中其它域所有对象的部分属性,这样就允许用户通过全局编录信息搜索林中所有域中对象的信息,而不用考虑数据存储的位置。通过GC执行林中搜索时可获得最大的速度并产生最小的网络通信量。

2 存储通用组成员身份信息,帮助用户构建访问令牌

全局组成员身份存储在每个域中,但通用组成员身份只存储在全局编录服务器中。

我们知道,用户在登陆过程中需要由登录的DC构建一个安全的访问令牌,而要构建成功一个安全的访问令牌由三方面信息组成:用户SID,组SID,权力。其中用户SID和用户权力可以由登录DC获得,但对于获取组SID信息时,需要确定该用户属不属于通用组,而通用组信息只保存在GC中。所以当GC故障,负责构建安全访问令牌的DC就无法联系GC来确认该用户组的SID,也就无法构建一个安全的访问令牌。

注:在Win2003中,可以通过通用组缓存功能解决GC不在线无法登录情况,具体操作本文略过。

3:提供用户UPN名称登录身份验证。

当执行身份验证的域控制器没有用户UPN帐号信息时,将由GC解析用户主机名称(UPN)进行身份验证,以完成登录过程

4:验证林中其他域对象的参考

当域控制器的某个对象的属性包含有另一个域某个对象的参考时,将由全局编录服务器来完成验证。

 

GC在AD中十分重要,如果GC出现了问题,会造成用户不能登录到域访问资源。但由于GC存储的是林中所有域的副本,如果域的数据很多,AD对象很多情况下,GC数据库会很大。在规划GC时,需遵循以下原则:

每个站点是否拥有GC。提升GC可能带来影响。DC提升为GC,会对GC服务器的性能、网络带宽、安全性、数据库的大小都提出更高要求,所以一般来说,每个站放置一台GC即可。是否将所有DC提升为GC,那就整个森的网络带宽、DC的性能来决定。

 

GC出现的原因:

在Win2003活动目录中有两种目录服务,分别是DNS以及LDAP,两个目录服务互为补充。DNS的目的比较简单,用于简单快速的定位域控制器,但定位到具体的域控制器后,对活动目录信息的更细致访问,如活动目录中关于用户,计算机,打印机等对象信息搜索,DNS就无能为力。此时就需要通过LDAP服务来访问。

如果用户知道某个对象处于哪个域,也知道对象的标识名,那么用LDAP搜索对象就非常容易。但如果用户只知道某个对象的某个属性,根本不知道对象所处的域,也不知道该对象的标识名,那么使用LDAP来搜索对象是一件非常困难的事,AD不得不对当前环境中每一个域的每个对象都搜索一遍。为了解决这个问题,活动目录提供了全局编录服务器(GC,到Global Catalog)。GC中包含了当前林中每个域中所有对象的副本,如果在一次LDAP搜索中,涉及到搜索中多个域的名称上下文时,AD会选择搜索GC服务器,从而实现加快搜索速度,减少网络通信量的目的。

 

 

验证GC服务器正常工作

使用注册表和端口状态可以确认GC是否正常工作

注册表

查看注册表信息(HKLM\System\CurrentControlSet\Services\NTDS\Parameters)

健值:Global Catalog Promotion Complete,值为1,表示GC工作正常

图片4.png


端口验证

由于GC正常工作时要用3268、3269(SSL),所以通过端口的状态验证是否正常运行

图片5.png

七 只读域控制器(RODC)

只读域控制器是Windows Server 2008 AD DS域服务之后提供的新域控制器类型,只读域控制器同样是域控制器,但是Active Directory数据具备“只读”属性,只能读取不能写入。只读域控制器主要用在企业分支机构,例如企业在外的办事机构,当用户数量不是很多时,可以首先在中心域控制器中创建用户以及规划计算机信息,然后将用户账户和计算机账户复制到位于分支机构的RODC中。当分支机构和中心之间的网络断开时,用户可以通过分支机构的RODC验证并等落。

只读域控制器,英文全程Read Only Domain Controller(简称RODC),是WIndows Server 2008之后版本提供的新域控制器类型,“Read Only”字面意思是“只读”,因此RODC只能读取不能写入。

 

普通域控制器复制

普通域控制器之间的复制是双向的,复制机制

图片6.png

RODC复制

RODC是可读写域控制器的一个副本域控制器,只能将可读写域控制器中Active Directory数据库创建的域对象复制到RODC,RODC管理员没有权限对RODC中的Active Directory数据库进行更改,如果RODC需要更改Active Directory数据库中的数据,更改的数据首先在可读写域控制器上更改完成,然后复制到RODC中。RODC支持从可读写域控制器到RODC的单向数据复制。可读写域控制器不会从RODC主动“拉”数据,只能被动的接受数据。

图片7.png

密码复制策略

密码复制策略决定可写域控制器中的用户密码是否被缓存到RODC中。密码复制策略列出允许缓存的账户以及明确拒绝缓存的账户。允许缓存的用户和计算机账户列表并步表示RODC一定缓存了这些账户的密码。例如,管理员可以实现指定RODC缓存的任何账户。

1.密码复制策略允许列表和拒绝列表

AD DS域服务中设置两个新组:允许的RODC密码复制组和拒绝的RODC密码复制组。这两个组包含RODC密码复制策略的默认允许列表和拒绝列表。拒绝列表的优先权高于允许列表。

默认情况下,“允许组”列表不包含任何成员。

“拒绝组列表”包含企业域控制器,企业只读域控制器,组策略创建者所有者,Domain Admins,证书发行者,Enterprise Admins,Shema Admins,域范围krbtgt账户等成员。

密码复制策略支持以下3个缓存模式。

  • 不缓存任何账户。此模式提供最安全的配置,没有密码被缓存到RODC,除RODC计算机账户机器特殊krbtgt账户之外。此模式的优点是需要很少或者不需要对默认设置进行额外的管理配置。用户可以选择将自己的安全敏感用户组添加到默认的拒绝用户列表中。这样可以防止这些用户组以外包含在允许的用户列表中,而且还可以防止之后将其密码缓存在RODC上。

  • 缓存大多数账户。此模式提供最简单的管理模式并且允许脱机操作。所有RODC的“允许列表”都用添加大部分用户或者组。“拒绝列表”步允许安全敏感的用户组,例如Domain Admins。大多数用户都可以根据需要缓存其密码。此配置最适合于RODC的物理安全没有危险的环境。

  • 缓存很少账户。此模式限制可以缓存的账户。管理员为特定物理位置RODC进行严格定义,即每个RODC都有其允许缓存的一组不同的用户和计算机账户。此模式的优点是万一出现广域网链路故障,缓存用户将从RODC中直接登录。同时,可以有效地控制密码泄漏。


2.缓存密码过期

RODC缓存密码之后,密码将保留在RODC的Acitve Directory数据库中,如果出现下列条件之一,缓存的密码将过期。

·用户更改密码。在此情况下,不从缓存中清楚密码,但该密码不再生效。

·相关的RODC的密码复制策略发生变化,因此不再缓存用户的密码。

 

RODC优点

RODC是一个只读的域控制器,但本质上还是域控制器,具备域控制器的功能和优点,同时据别以下特点。

1 只读Active Directory数据库

RODC上包含所有AD DS域服务的对象和属性,但是和可读写的域控制器不一样的是,只能读取可读写域控制器中的数据,,无法对RODC的Active Directory数据库进行更改,更改数据必须在可读写域控制器上进行然后复制到RODC中。默认情况下,RODC中不存储账户的密码。在不能保证域控制器安全性的情况下,可以通过RODC保证分支机构域安全性。


2 单向复制

可读写域控制器之间是双向复制,RODC和可读写域控制器之间的复制是单向复制,RODC通过分布式文件系统从可读写域控制器复制数据,但是RODC不能对缓存自本地的Active Directory数据库进行更改。只能从读写域控制器“拉”数据,而不能向读写域控制器“推”数据。


3 密码缓存

RODC可以存储用户、计算机和组的密码。密码缓存策略在可读写域控制器中涉资。默认情况下,RODC上只存储自己的计算机账户和一个用于RODC特殊的Kerberos票据授权(KRBTGT)账户,此账户被可读写DC用来验证RODC身份。如果在RODC上启用密码缓存,只会影响缓存到本地计算机和用户账户。


4 只读DNS

RODS上可以安装DNS服务,RODC可以复制DNS所使用的所有应用程序目录分区中的数据,包括ForestDNSZones和DomainDNSZones,RODC支持客户端DNS请求,并完成DNS解析功能。在RODC上的DNS不支持客户端直接进行DNS记录,因此RODC不会在所拥有的活动目录集成区域里面注册任何名称记录。


5 RODC管理

在可读写域控制器中,服务器本地管理员和域管理员相同,都可以管理域控制器。RODC允许一个普通的域用户称为RODC的本地管理员,设置的域用户可以在RODC所在的区域执行管理任务,此用户在域中或者任何可读写的域控制器上没有管理权限,仅管理区域分支机构的权限,不会影响Active Directory整体安全性。


6 GC支持

RODC可以做GC(全局编录)服务器,但是RODC不能安装操作主控角色。

 

RODC缺点

RODC的缺点很明显,对可读写域控制器的依赖性很强,如果可读写域控制器出现故障将直接影响RODC的使用,如果RODC步缓存用户密码,一旦可读写域控制器出现故障,基于Active Directory数据库的用户验证将出现错误。

 

部署前提

只读域控制器是一个特殊的域控制器,部署RODC必须满足以下条件。

1 域控制器需求

同一个域中,至少有一个运行Windows Server 2012的可写域控制器,该域控制器为RODC的复制伙伴。如果域内没有运行Windows Server 2012可读写域控制器,将不能部署RODC。该可写域控制器必须包含“PDC操作主机角色”。


2 功能级别需求

部署只读域控制器,Windows Server 2012 AD DS域服务林功能级别至少是Windows Server 2003,建议使用更高版本的功能级别。默认状态下,如果要部署Windows Server 2012 AD DS域服务,最低级别是Windows Server 2003级别。

部署RODC域控制器 步骤可参考:https://docs.microsoft.com/zh-cn/windows-server/identity/ad-ds/deploy/rodc/install-a-windows-server-2012-active-directory-read-only-domain-controller--rodc---level-200-

 

只读域控制器验证

 RODC部署完成后,可以在域控制器和新安装的RODC控制器上验证是否成功安装。可写域控制器中可以通过域控制器的类型验证,只读域控制器中可以通过修改、创建Active Directory数据库的返回状态确认。

1.“Active Directoyr用户和计算机”验证

 RODC部署完成后,可以在域控制器和新安装的RODC控制器上验证是否成功安装。可写域控制器中可以通过域控制器的类型验证,只读域控制器中可以通过修改、创建“Active Directory用户和计算机”——“book.com”——“Domain Controllers”选项,右侧窗口中显示所有域控制器列表,域控制器“TDC”和“DC类型”为“只读,GC”,说明RODC域控制器安装成功。

2.操作验证

只读域控制器中Acitve Directory数据库处于只读状态,管理员不能创建任何对象和修改任何属性,通过这种方法也可以判断当前运行的控制器是否为RODC域控制器。

 

八 活动目录数据库

对于微软的活动目录域环境来说,活动目录数据库的可谓是其核心内容。在AD数据库中包含了关于域环境的几乎所有基础数据,从本质上讲,AD数据库是事务处理类型的数据库。正是因为该数据库地位特殊,所以对其维护和管理就显得极为重要了。

活动目录数据库包含大量核心基础数据,应该妥善保护,及时备份。活动目录数据库是“dit”格式的数据库,和Exchange Server使用的数据库格式相同。Windows Server2012中维护活动目录数据库,只要停止AD DS域服务即可维护数据库。

Active Directory数据库是一个事务处理数据库系统,通过日志文件支持回滚操作,从而确保将事务提交到数据库中,与Active Directory关联的文件包括:

Ntds.dit,Active Directory数据库文件;

Edbxxxxx.log 事务日志文件;

Edb.chk 检查点文件;

Res1.log和Res2.log 预留的日志文件;

Temp.edb 临时数据库维护文件;

Edbtmp.log 日志暂存文件;


1 Ntds.dit

Ntds.dit随着数据库的填充而不断增大,日志的大小是固定的10MB。对数据进行的任何更改都会被首先写到当前日志文件中,然后写入Active Directory数据库文件。


2 Edb.log

Edb.log是当前的日志文件。对数据库进行更改后,会将该更改写入到Edb.log文件中。当Edb.log文件充满事务之后,被重新命名为Edbxxxxx.log。(从00001开始,并使用十六进制累加)。由于Active Directory使用循环记录,所以日志文件写入数据库之后,旧日志文件会被及时删除,任何时刻都可以查看edb.log文件。而且还可能有一个或多个Edbxxxxx.log文件。


3 Res1.log和Res2.log

Res1.log和Res2.log是预留日志空间文件,确保在此驱动器上预留(在此情况下)最后的20MB磁盘空间。采取这种做法的原因:为了给日志文件提供足够的空间,以便在其他所有磁盘空间都已使用的情况下可以正常关机。


4 Edb.chk

Edb.chk是数据库检查点文件,检查点是标识数据库引擎需要重复播放日志的点,通常在恢复或初始化时验证数据库的一致性。出于性能考虑,日志文件应该位于数据库所在磁盘以外的其他磁盘上,以减少磁盘争用情况。进行备份时,会创建新的日志文件。


5 Temp.edb

Temp.edb文件是数据库维护时使用的临时文件,用于存储当前进程中处理的信息。


6 Edbtmp.log日志文件是当前日志文件(Edb.log)填满时的暂时日志填充文件。Edbtmp.log文件被创建后,已有的Edbtmp.log文件被重命名为下一个日志文件,然后Edbtmp.log文件被重名为Edb.log。因为该文件名的使用很短暂,通常都看不到。


7 文件位置

默认状态下,活动目录数据库文件位于“C:\Windows\NTDS”目录中。

 

离线整理活动目录数据库

对AD的整理分为两种,一种是离线整理,另外一种是联机整理,每12小时进行一次。两者的不同之处在于:联机整理不会减少数据库的大小,而离线整理可以做到这一点。

1 在线整理:DC会每隔12小时自动运行所谓的“垃圾收集程序”来整理AD库,它只是将资料有效率的重新整理、排列。不会减小数据库文件(Ntds.dit)的大小。此时AD在线。要减小活动目录数据库的大小,需要对数据库进行离线整理。

2 离线整理:需要暂停ADDS服务,2003以前的版本需要进入目录还原模式操作。离线整理会建立一个全新的、整齐的数据库文件,如果原来的数据库很零散(fragmented),整理后的文件可能会比原来的文件小很多,但也有可能文件会变大。

我的理解:离线整理相当于压缩(碎片),这个压缩(碎片)和平常用的RAR等压缩软件不一样,AD 是把对象占用的空间给释放出来,比如删除一个用户,它是不会自动释放空间的。在线整理是不是释放空间的,需要压缩会才能释放所占空间。注:空间不在文件的大小,压缩是把里面的内容分类,完成后文件会比之前大。微软的Hyper-v也是这种方式。以前存在虚拟机里的文件删除,不会立即释放空间,需要使用压缩,才能释放出之前删除文件所占的空间。

 

九 ADCS 证书服务

证书服务器是Windows网络基础架构中重要组成部分,因为证书服务特性(不能更改计算机名称、网络参数),因此在部署证书服务器时建议独立部署,不要和域控制器部署在同一台服务器中。否则在迁移或者升级证书服务时,首先要迁移域控制器以及相关的服务(Acitve Directory集成区域DNS服务、DHCP服务、WINS服务等),还要通过策略更改已经部署的系列服务,然后迁移或者升级证书服务,迁移周期将延长甚至影响网络的正常运行。所以好的网络基础架构对证书服务器迁移与升级尤其重要。本章将在域中部署Windows Server 2012企业根,以及最常见的IIS站点应用。

AD CS的功能

1 证书颁发机构(CA):可以向用户、机构和服务颁发证书。

2 CA WEB注册:用户可以通过web浏览器申请证书。

3 联机响应程序服务:联机响应程序服务通过对特定证书的吊销状态申请进行解码,评估这些证书的状态,并发送回包含所申请证书状态信息的签名响应来实现联机证书状态协议 (OCSP)。

4 网络设备注册服务:网络设备注册服务可根据 Cisco Systems Inc. 提供的简单证书注册协议 (SCEP) 允许路由器和其他网络设备获取证书。

 

安装部署AD CS的系统要求

CA 可设置在运行各种操作系统的服务器上,包括 Windows(R) 2000 Server、Windows Server(R) 2003 和 Windows Server 2008。但是,并非所有操作系统都支持所有功能或设计要求。

下面是来自微软官网的图表:(以Windows Server 2008来说)列出了可以在不同版本的 Windows Server 2008 上配置的 AD CS 组件。

图片8.png

在运行 Windows Server 2008 并且配置为 CA 的服务器上可以使用以下功能。

图片9.png

根类型

Windows Server 2012中提供两种根:企业根和独立根

  • 企业根:安装在AD DS域服务环境中的根,与Acitve Directory集成。部署企业根后,不需要单独配置策略发布企业根证书,AD DS域服务会自动通过组策略将企业根证书发送到域内所有计算机中,也就是说域内所有计算机自动信任企业根。

  • 独立根:安装在独立服务器中,或者安装在成员服务器中的独立根,执行安装ADCS服务的用户不具备访问AD CS域服务的权限,需要通过“受信任的根证书颁发机构”策略,将独立根的证书通过策略发送到域内所有计算机中。

  • 在部署AD DS域服务环境中,建议部署企业根。

 

ADCS证书服务安装步骤可参考链接:https://blog.csdn.net/xiezuoyong/article/details/22663039

 

证书日常管理

ADCS服务企业根部署成功,以域用户身份登录计算机后,将企业根自动添加到“受信任的证书颁发机构”中,不需要通过策略将企业根证书发布到网络中的所有计算机中。当网络中的客户端计算机数量比较多时,由于使用者计算机水平参差不齐,让每个用户通过手动方式通过IE浏览器申请证书,会遇到问题。为了解决该问题,域管理员可以通过组策略自动完成证书申请操作,让用户从申请证书工作中解脱出来。

“证书颁发机构”管理工具

Windows Server 2012 ADCS服务部署成功后,域管理员可以通过“证书颁发机构”管理域用户申请的证书。管理员可以通过“开始”屏幕的“证书颁发机构”此贴或者“服务器管理器”中的“工具”菜单启动“证书颁发机构”管理窗口。

1 吊销的证书

选择“吊销的证书”选项后,右侧列表中显示CA服务器已经吊销的证书。“吊销原因”列表中显示证书被吊销的原因。

如果确认证书吊销错误,右击处于“证书待定”状态的证书,在弹出的快捷菜单中选择“所有任务”选项,在弹出的级联菜单中选择“解除吊销证书”命令,命令执行后,重新发布证书,证书被转移到“颁发的证书”列表中。

2 颁发的证书

选择“颁发的证书”选项后,右侧列表中显示CA服务器已经颁发的证书。已经颁发的证书包括用户证书、服务器证书以及客户端计算机证书,用户可以通过Web方式申请证书,也可以通过组策略自动发布证书,对于特殊应用的服务器(IIS服务器),可以通过“Intenet信息服务(IIS)管理器”内置的证书申请、续订功能完成证书申请。

如果已经颁发的证书过期或者其他原因申请新的证书,CA管理员需要吊销已经发布的证书,使证书无效。例如用户“demo”证书由于申请新证书,需要禁用已有的证书。右击目标证书,在弹出的快捷菜单中选择“所有任务”选项,在弹出的级联菜单中选择“吊销证书”命令。

命令执行后,显示所示的“证书吊销”对话框。在“理由码”列表中选择证书被吊销的原因,“日期和时间”列表中设置吊销证书生效时间。

参数设置完成后,单击“是”按钮,禁用选择的证书,证书转移到“吊销的证书”列表中。

3 挂起的证书

选择“挂起的申请”选项后,右侧列表中显示用户正在申请的证书。该页面CA管理员可以对申请的证书进行批复:拒绝或者同意。

4 失败的申请

选择“失败的申请”选项后,右侧列表中显示用户申请失败的证书,该页面中CA管理员可以对失败的证书进行手动批复。

右击任何一个申请失败的证书,在弹出的快捷菜单中选择“所有任务”选项,在弹出的级联菜单中选择“颁发”命令。命令执行后,成功颁发的证书转移到“颁发的证书”列表中。

5 证书模板

“证书模板”选项中,显示当前CA服务器加载的证书模板。用户在申请证书时,只有该列表中的模板可用。

 

 

下一篇文章会详细写到组策略的配置,账号密码的管理、域共享文件的管理以及相关域渗透等。

 

本文结合windows2012详细介绍,参考书籍:《windows server2012 活动目录管理实践》

参考链接:https://www.cnblogs.com/derekchen/archive/2011/07/12/2103982.html

http://blog.51cto.com/rainy0426/1746427

https://blog.csdn.net/iloli/article/details/6620033?utm_source=blogxgwz5

https://blog.csdn.net/techviewer/article/details/26485021

http://blog.51cto.com/rainy0426/1787072

http://blog.51cto.com/zhaodongwei/1747907

http://blog.51cto.com/rainy0426/1788052

https://blog.csdn.net/zhuifeng1024/article/details/37568577



本文作者:Lemon

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/82876.html

Tags:
评论  (1)
快来写下你的想法吧!
  • EvilR 2022-05-30 14:48:29

    师傅,后面的那篇没有发出来么?坐等更新

Lemon

文章数:68 积分: 647

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号