18.15. 在目录管理器上设置访问控制
从维护角度而言,具有不受限制的管理用户有意义。目录管理器需要高级别的访问权限来执行维护任务并响应事件。
但是,由于 Directory Manager 用户的强大功能,建议某些级别的访问控制来防止未经授权的访问或攻击以 root 用户身份执行。
常规访问控制规则应用到目录树,目录管理器不是常规用户条目,因此不能(常规) ACI 应用到 Directory Manager 用户。ACI 通过特殊的插件配置条目应用。
18.15.1. 关于目录管理器帐户上的访问控制
普通访问控制规则不适用于 Directory Manager 用户。Directory Manager 用户的权限在目录服务器中硬编码,无法在绑定规则中使用。
目录管理器的访问控制是通过 RootDN 访问控制插件 实现的。此插件适用于目录服务器配置,因此可将一些访问控制规则应用到 Directory Manager 条目。
该插件不定义标准 ACL。有些信息已经代表,包括目标(目录管理器条目)和允许的权限(全部)。RootDN 访问控制插件的目的是不限制目录管理器可以 做什么 ;其目的是通过限制谁以目录管理器(即使使用有效凭证)登录,从而根据其位置或时间提供级别的安全性。
因此,Directory Manager 的 ACI 只设置绑定规则:
- 时间范围的基于时间的访问控制,如 8a.m. 到 5p.m。(0800 到 1700)以及每周中的特定天的访问控制,因此仅在明确定义的天中允许访问。这与 第 18.11.2.5 节 “在星期的特定天定义访问权限” 和 第 18.11.2.6 节 “在一天的特定时间定义访问权限” 类似。
- IP 地址规则,其中只有指定的 IP 地址、域或子网被显式允许或拒绝。这与 第 18.11.2.2 节 “定义从特定 IP 地址或范围的访问” 类似。
- 主机访问规则,其中只有指定的主机名、域名或子域被显式允许或拒绝。这与 第 18.11.2.3 节 “定义从特定主机或域的访问” 类似。
与其他访问控制规则一样,拒绝规则监管规则。
重要
确保 Directory Manager 始终具有允许的访问级别。Directory Manager 可能需要在非小时内执行维护操作(当用户负载非常轻便)或响应故障。在这种情况下,设置基于字符串的时间或日常访问控制规则可能会阻止 Directory Manager 能够适当地管理该目录。
18.15.2. 配置 RootDN 访问控制插件
默认禁用 root DN 访问控制规则。启用
RootDN Access Control
插件,然后设置适当的访问控制规则。
注意
在插件条目中,只能为 Directory Manager 设置一个访问控制规则,它适用于所有访问整个目录。
- 启用
RootDN 访问控制
插件:# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin root-dn enable Plugin 'RootDN Access Control' enabled ...
- 为访问控制指令设置绑定规则。例如:
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin root-dn set --open-time=0600 --close-time=2100 --allow-host="*.example.com" --deny-host="*.remote.example.com"
您可以设置以下参数:--open-time
和--close-time
用于基于时间的访问控制。--days-allowed
用于基于日常访问控制。--allow-host
、--deny-host
、--allow-ip
和--deny-ip
用于基于主机的访问控制。这些是所有多值属性,您可以使用通配符来允许或拒绝 IP 范围或域。重要拒绝规则具有更高的优先级,然后允许规则。例如,如果--allow-host
参数设为 192.168.1.0/24 example.com,并且--deny-host
设置为 192.168.1.0/24 front-office.example.com,则阻止从 front-office.example.com 子域中的所有主机访问,因为目录管理器会被阻止。
- 重启 Directory 服务器:
# dsctl instance_name restart