8.3. 禁用匿名绑定
您可以使用 LDAP 工具重置 nsslapd-allow-anonymous-access
属性来禁用 Identity Management(IdM)389 Directory Server 实例上的匿名绑定。
这些是 nsslapd-allow-anonymous-access
属性的有效值:
-
on
: 允许所有匿名绑定(默认) -
rootdse
: 仅允许匿名绑定进行 DSE 信息 -
off
: 不允许任何匿名绑定
红帽不推荐通过将属性设置为 off
来完全禁止匿名绑定,因为这也会阻止外部客户端检查服务器配置。LDAP 和 Web 客户端不一定是域客户端,因此它们会匿名连接,以读取 root DSE 文件来获取连接信息。
将 nsslapd-allow-anonymous-access
属性的值更改为 rootdse
,您允许访问 root DSE 和服务器配置而无需访问目录数据。
某些客户端依赖于匿名绑定来发现 IdM 设置。另外,对于没有使用身份验证的传统客户端,compat 树可能无法正常工作。只有在您的客户端不需要匿名绑定时才执行这个流程。
先决条件
- 您可以作为 Directory Manager 进行身份验证,以写入到 LDAP 服务器。
-
您可以以
root
用户身份进行身份验证以重启 IdM 服务。
流程
将
nsslapd-allow-anonymous-access
属性更改为rootdse
。$ ldapmodify -x -D "cn=Directory Manager" -W -h server.example.com -p 389 Enter LDAP Password: dn: cn=config changetype: modify replace: nsslapd-allow-anonymous-access nsslapd-allow-anonymous-access: rootdse modifying entry "cn=config"
重启 389 Directory 服务器实例以加载新设置。
# systemctl restart dirsrv.target
验证
显示
nsslapd-allow-anonymous-access
属性的值。$ ldapsearch -x -D "cn=Directory Manager" -b cn=config -W -h server.example.com -p 389 nsslapd-allow-anonymous-access | grep nsslapd-allow-anonymous-access Enter LDAP Password: # requesting: nsslapd-allow-anonymous-access nsslapd-allow-anonymous-access: rootdse
其它资源
- Directory Server 11 文档中的 nsslapd-allow-anonymous-access
- Identity Management 中的匿名 LDAP 绑定