如果 NIS+ 服务器从 LDAP 获取数据,则 NIS+ 客户机和 NIS+ 服务器之间的验证不受影响。但是,为了维护存储在 LDAP 中 NIS+ 数据的完整性,请考虑在 rpc.nisd 守护进程和 LDAP 服务器之间配置验证。根据 LDAP 服务器的功能,可以使用几种不同类型的验证。
以下列出了 rpc.nisd 守护进程支持的 LDAP 验证:
none
none 验证方法为缺省方法。虽然使用 none 无需进行任何设置,但是它并不提供安全性。它仅适用于根本没有安全要求的环境。
要使用 none 验证,请确保 authenticationMethod 属性具有以下值:
authenticationMethod=none |
至少需要实际提供一定安全性的验证方法通常要求您将共享秘密(口令或密钥)与 LDAP 中的 DN 相关联。选择用于 rpc.nisd 守护进程的 DN 可以是唯一的,也可以用于其他目的。它应当具有支持预期的 LDAP 通信流量所必需的相应功能。例如,如果 rpc.nisd 守护进程应当能够向 LDAP 中写入数据,则所选 DN 必须有权在用于 NIS+ 数据的容器中添加/更新/删除 LDAP 数据。此外,在缺省情况下,LDAP 服务器可能会对资源使用情况施加限制(如搜索时间限制或搜索结果大小限制)。如果属于这种情况,则所选 DN 必须具有足够的能力来支持对 NIS+ 数据容器进行枚举。
simple
simple 验证方法通过交换未经加密的口令字符串来提供验证。由于口令在 LDAP 客户机(rpc.nisd 守护进程)和 LDAP 服务器之间以明文形式发送,因此,只有当 NIS+ 和 LDAP 服务器之间的信息交换受到某种其他方法的保护时,simple 方法才适用。
例如,对 LDAP 通信流量进行传输层加密,或者 NIS+ 和 LDAP 服务器是同一个系统,并且 NIS+/LDAP 通信流量保持在内核中(非授权用户无法看到)。
借助于要用于 simple 验证的 DN 和口令来修改 rpc.nisd 守护进程的配置。例如,如果 DN 是 cn=nisplusAdmin,ou=People,dc=some,dc=domain,口令是 aword,请设置以下内容:
authenticationMethod=simple nisplusLDAPproxyUser=cn=nisplusAdmin,ou=People,dc=some,dc=domain nisplusLDAPproxyPassword=aword |
一定要防止对口令的存储位置进行未经授权的访问。请记住,如果口令是在 rpc.nisd 命令行上指定的,那么,系统上的任何用户都可以通过诸如 ps(1) 之类的命令来查看口令。
sasl/digest-md5
sasl/digest-md5 验证方法使用 digest/md5 算法来提供验证。
有关如何设置要与 digest-md5 一起使用的授权标识以及如何修改 /etc/default/rpc.nisd 文件以指定此标识及其相关口令的信息,请查阅 LDAP 服务器文档。
authenticationMethod=sasl/digest-md5 nisplusLDAPproxyUser=cn=nisplusAdmin,ou=People,dc=some,dc=domain nisplusLDAPproxyPassword=aword |
一定要防止对用于存储口令的文件进行未经授权的访问。
sasl/cram-md5
使用 cram/md5 算法进行验证。可能只有过时的 SunDS LDAP 服务器才支持此验证方法。
有关如何设置要与 cram-md5 一起使用的绑定 DN 以及如何修改 /etc/default/rpc.nisd 文件以指定此 DN 及其相关口令的信息,请查阅 LDAP 服务器文档。
authenticationMethod=sasl/cram-md5 nisplusLDAPproxyUser=cn=nisplusAdmin,ou=People,dc=some,dc=domain nisplusLDAPproxyPassword=aword |
一定要防止对用于存储口令的文件进行未经授权的访问。
rpc.nisd 守护进程还支持使用 SSL 对 LDAP 通信流量进行传输层加密。有关如何生成用于进行 LDAP 服务器验证的 SSL 证书的信息,请查阅 LDAP 服务器文档。将该证书存储到 NIS+ 服务器上的某个文件(例如,/var/nis/cert7.db)中并按以下方式修改 /etc/default/rpc.nisd:
nisplusLDAPTLS=ssl nisplusLDAPTLSCertificateDBPath=/var/nis/cert7.db |
一定要防止对证书文件进行未经授权的访问。 请注意,以上方法提供会话加密,还提供 LDAP 服务器到 rpc.nisd 的验证。它并不提供 rpc.nisd 到 LDAP 服务器的验证,因为证书中不包含用于标识 LDAP 客户机 (rpc.nisd) 的任何内容。但是,可以将 SSL 与其他验证方法(simple 和 sasl/digest-md5)结合使用来实现相互验证。