试析活动目录被“特访”隐患
2018-03-03
尽管活动目录 AD(Active Directory)本 身具备弹性授权模式,但若设置不当,会在无意间为AD带来隐患。
不难发现,域控制器DCs(Domain Controllers)中看不到有本地管理员账户,当我们将一台Server推至DC,本地管理员账户就会被取消,对该服务器的特权访问只能是来自特权 组(如 Domain Admins、BUILT-INAdministrators、Enterprise Admins)账户,只有这些特权组才可以授权用户访问AD。而这些用户往往来自并不能直接访问DC的Backup Operators或Server Operators组。仔细思考这种体制,笔者认为与Windows Server 2016以及Windows 10中提供的特权管理员的分层制度有关。
管理员的三级分层模式
毋庸讳言,只有有效地控制对系统的访问行为,才能为系统的重要信息提供防御机制。而在现实中大家习以为常的是,域管理账户往往随意登录一台普通PC,管理员的账户和密码在多台设备间共用。
针对这类乱象,Windows 10中的Credential Guard显然是为保护域内的审计机制,之后出台的Azure Confidential Computing也试图通过可靠性环境检测TEEs(Trusted Execution Environments)保护数据资源。
尽 管 如 此,Windows Server 2016还是提供了针对AD特访行为的管理员3级分层机制,即Tier 0-3,这种3层机制可以将来自PC的高风险管理与DC的高价值资源进行隔离。具体而言,Tier 0是最高级别,包括管理员账号组,域控制器DC以及域,它们都可以直接或间接地访问 AD丛;Tier 0管理员可以管理控制所有Tier层级的资产,但只能以交互方式登录到Tier 0资产,而域管理员原则上不能以交互方式登录到Tier 2资产。
Tier 1指域成员服务器及其应用,对其资产有控制权的账户可以访问保密性数据。Tier 1管理员可以访问Tier 1资产,如果要访问Tier 0资产需要进行网络登录,但仅能管理Tier 1或Tier 2资产,仅能以交互方式登录到Tier 1资产。Tier 2指终端用户设备,比如帮助桌面。Tier 2管理员在必要时可以通过网络登录方式访问所有Tier层的设备,Tier 2管理者可以交互登录到Tier 2资产。这种三层管理模式显然增加了系统的防御能力,层层设卡,当然也不能说滴水不漏。
通过设置管理员三层模式,对于管理组如Administrators、Domain Admins以 及Enterprise Admins就能进行有效隔离,当添加用户账号时就可以加以限制,以防低级别账户登录系统。对于域服务器和工作站内的BUILT-INAdministrators 组,就可以利用组策略进行设置,设置内容包括:禁止通过网络访问本机,禁止通过批处理作业方式登录以及禁止利用服务权限登录;对于Domain Admins组 和Enterprise Admins组,除了进行上述三种设置外,还应当再加上禁止本地登录和禁止通过远程桌面服务登录。
在三层管理模式下的授权行为
假如管理员准备为DC中的某位用户授予类似管理员的 特 权(如Create Global Objects)时,管理员应当密切注意该用户授权后的行为,而且更为稳妥的方式是授予的权限是临时性而非永久性特权,通过 PowerShell命令即可办到。
出于安全,管理员应让具有高级特权的AD组在平时保持空白,为此需要有一套加入该组的用户准入机制,例如要求准入的用户账户应当具有标准的域用户账户,有密码要求,而且在每次使用完后密码就会重新设置。
更具体而言即为:
1.生成一种OU结构,将特权账户和系统从普通用户系统中区分出来。
2.生成一种AD组,该组内的用户可以被准予和取消管理账户,并对账户有严格的约束要求。
3.对AdminSDHolder类对象设置权限,允许管理型账户能够管理特权型组。
值得指出的是,在Windows Server 2016中有一项新功能,允许管理员进一步控制较为混乱的AD丛,采取特权访问管理PAM (Privileged Access Management),包括动用即时管理员JIT (Just-In-Time)Administrator。