■ 威海职业学院 赵永华
编者按: 在Windows Server 2016中有一种短期活动目录AD(Active Directory)组成员关系,而实现这种关系的就是系统中一个名为AdminSDHolder的对象,它用于管理内置的特定AD组成员的访问控制列表ACL。
在短期AD组成员关系中,当添加用户对象进入特定的AD组 如 Account Operators时, 按 照AdminSDHolder对特定对象的管理机制,如果该账户在组中滞留超时,就会将该对象的adminCount属性改写为1,此即意味着该账户会被从特定组中移除,移除之后其属性又恢复为0。
这里,完成adminCount属性值设置的便是进程SDPROP(Security Descriptor Propagation),该进程用于控制PDC Emulator FSMO角色,每小时都会在域控制器内运行。SDPROP的重要任务,就是护卫高私密的AD账户,确保其不会被偶然短期进入的弱权限用户删改。
SDPROP在运行期间会对受保护账户的域进行扫描,能够取消权限继承,并对镜像AdminSDHolder容器的ACL的对象应用访问控制列表。但是如果SDPROP确定已禁用对象的权限继承被取消,并且ACL与AdminSDHolder容器的ACL匹配,则adminCount不会设置为1。因此,adminCount属性不能作为确定对象是否受保护的标志。如果账户从特权组中被删除,则adminCount属性仍设为1并且继承也处于被禁状态。那么我们能否控制SDPROP呢?
如何控制SDPROP
在Windows Server 2016中不允许禁运SDPROP,但可以改变其运行频率,并将一个甚至多个特定组从受保护名单中排除。比如,为了改变运行频率,只需对域控制器控制 PDC Emulator FSMO角色的内容生成一个名为AdminSDProtect Frequencyon 的DWORD注册值,将该值添加到如下主键:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNTDSParameters
AdminSDProtect Frequency的赋值范围是60到7200秒(2小时)。对于较大容量的目录,如果设置为小于1小时,可能会为域控制器增加额外的负荷。尽管管理员可以自主修改AD中adminSDHolder容器内的权限和继承标志,但一定要慎重。
如果要修改容器的ACL,可以从“服务器管理器”的工具菜单中打开ADSI编辑器, 连接到默认命名空间,在System下即可找到adminSDHolder容器。例如,假设域名是ad.contoso.com,则路径如下:
CN=adminSDHolder,CN=S ystem,DC=ad,DC=contoso,D C=com
同样,也可以将某些特定组设置为免除被保护。比如我们想要移除一个名为Print Operators的组,其实就是取消了它对AD的访问特权。如果要改变受保护的组,可以修改涉及以下内容的dsHeuristics属性:
CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=ad,DC=contoso,DC=com.
另外,如果想要访问Directory Service容 器 ,从服务管理器程序打开ADSI编辑器,右点CN=Directory Service后选择“属性”,然后连接配置,从下拉菜单找 到dsHeuristics,即 可找到当前受保护的组,包括 :Account Operators、Server Operators、Print Operators以 及Backup Operators。