Red Hat Training

A Red Hat training course is available for RHEL 8

109.3. 禁用匿名绑定

您可以使用 LDAP 工具重置 nsslapd-allow-anonymous-access 属性来禁用 Identity Management(IdM)389 Directory Server 实例上的匿名绑定。

这些是 nsslapd-allow-anonymous-access 属性的有效值:

  • 在 上 : 允许所有匿名绑定(默认)
  • Rootdse : 仅允许匿名绑定进行 DSE 信息
  • off : 不允许任何匿名绑定

红帽不推荐通过将 属性设置为 off 来完全禁止匿名绑定,因为这也会阻止外部客户端检查服务器配置。LDAP 和 Web 客户端不一定是域客户端,因此它们会匿名连接,以读取 root DSE 文件来获取连接信息。

nsslapd-allow-anonymous-access 属性的值更改为 rootdse,您可以允许访问 root DSE 和服务器配置而无需访问目录数据。

警告

某些客户端依赖于匿名绑定来发现 IdM 设置。另外,对于没有使用身份验证的传统客户端,compat 树可能会中断。只有在您的客户端不需要匿名绑定时才执行这个流程。

先决条件

  • 您可以作为 Directory Manager 进行身份验证,以写入到 LDAP 服务器。
  • 您可以以 root 用户身份进行身份验证以重启 IdM 服务。

流程

  1. 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"
  2. 重启 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