Sun ONE logo     上一章     目录     索引     文档主页     下一章    
Sun ONE Directory Server 管理指南



第 14 章  使用传递验证插件

传递验证 (PTA) 是一种机制,Directory Server 通过它查询另一个 Directory Server 以验证绑定请求。PTA 插件提供了这样的功能:允许 Directory Server 接受未存储在本地后缀中的条目的简单绑定操作(基于口令)。

Sun ONE Directory Server 5.2 使用 PTA 以便在单独的 Directory Server 实例上管理您的用户目录和配置目录。



注意

如果您的用户目录与配置目录使用的是同一个服务器,则 Directory Server 控制台中将不会列出 PTA 插件,但是可以创建该插件以使用传递验证。



本章在以下几节中介绍了 PTA 插件:

Directory Server 如何使用 PTA

如果将配置目录和用户目录分别安装在不同的 Directory Server 实例上,则安装程序会自动设置 PTA 以允许“配置管理员”用户(通常是 admin)来执行管理任务。

由于 admin 用户条目存储在配置目录中 o=NetscapeRoot 的下面,这时需要 PTA。因此,作为 admin 绑定至用户目录的尝试通常都会失败。PTA 允许用户目录将凭证传送至对它们进行验证的配置目录。这样用户目录就允许 admin 用户进行绑定了。

在此示例中,用户目录被用作 PTA 服务器,即将绑定请求传递至另一个 Directory Server 的服务器。配置目录被用作验证服务器,即包含该条目并对请求客户机的绑定凭证进行验证的服务器。

本章中还将使用 PTA 子树这个术语。传递子树是指没有出现在 PTA 服务器中的子树。如果用户的绑定 DN 包含此子树,系统就会将用户的凭证传递至验证目录。

该步骤顺序显示了传递验证的工作方式:

  1. 在主机 configdir.example.com 上安装包含传递子树 o=NetscapeRoot 的配置目录服务器(验证目录)。
  2. 在主机 userdir.example.com 上安装包含 dc=example,dc=com 后缀中的数据的用户目录服务器(PTA 目录)。
  3. 在安装用户目录的过程中,系统会提示您提供指向配置目录服务器的 LDAP URL,例如:
  4. ldap://configdir.example.com/o=NetscapeRoot

  5. 安装程序使用您提供的 LDAP URL 在用户目录中配置并启用 PTA 插件。
  6. 用户目录现在被配置为 PTA 目录。它将把其 DN 包含 o=NetscapeRoot 的条目的所有绑定请求发送到配置目录 configdir.example.com

  7. 安装完成后,admin 用户会尝试绑定到用户目录以开始创建用户数据。
  8. admin 条目以 uid=admin, ou=Administrators,ou=TopologyManagement,o=NetscapeRoot 的形式存储在配置目录中。因此,用户目录将按照 PTA 插件配置中的定义,将绑定请求传递至配置目录。

  9. 配置目录验证绑定凭证(包括口令),并将确认发送回用户目录。
  10. 用户目录即允许 admin 用户进行绑定。

配置 PTA 插件

PTA 插件配置信息会在 PTA 服务器上的 cn=Pass Through Authentication,cn=plugins,cn=config 条目中指定。

如果在不同的服务器实例上安装用户目录和配置目录,则系统会自动将 PTA 插件条目添加至用户目录的配置中。如果将两个目录都安装在同一实例上,且希望对其他目录执行传递验证,则必须首先创建插件配置条目。

创建插件配置条目

  1. 运行以下命令,创建插件配置条目:
  2. ldapmodify -a -h PTAhost -p 端口 -D "cn=Directory Manager" -w 口令
    dn:cn=Pass Through Authentication,cn=plugins,cn=config
    objectClass:top
    objectClass:nsSlapdPlugin
    objectClass:extensibleObject
    cn:Pass Through Authentication
    nsslapd-pluginPath:ServerRoot/lib/passthru-plugin.extension
    nsslapd-pluginInitfunc:passthruauth_init
    nsslapd-pluginType:preoperation
    nsslapd-plugin-depends-on-type:database
    nsslapd-pluginId:passthruauth
    nsslapd-pluginVersion: 5.2
    nsslapd-pluginVendor:Sun Microsystems, Inc.
    nsslapd-pluginDescription:pass through authentication plugin
    nsslapd-pluginEnabled:on or off
    nsslapd-pluginarg0:ldap[s]://authenticatingHost[:port]/PTAsubtree options

    其中 ServerRoot 要视安装的具体情况而定,而 extension 在 HP-UX 上为 .sl,在所有其他 UNIX 平台上为 .so,在 Windows 上为 .dll

    插件参数指定标识验证目录服务器的主机名、可选的端口以及 PTA 子树的 LDAP URL。如果未指定端口,则 LDAP 的默认端口为 389,LDAPS 的默认端口为 636。也可以设置以下几节中所述的可选连接参数。如果 <>PTAhost 中存在 PTAsubtree,则插件不会将绑定请求传递到 authenticatingHost,且绑定将在本地处理,而不会进行任何传递。

  3. “启动和停止 Directory Server”中所述,重新启动服务器。

配置 PTA 以使用安全连接

因为 PTA 插件必须将包括口令的绑定凭证发送到验证目录,所以建议使用安全连接。要配置 PTA 目录以使其通过 SSL 与验证目录进行通讯,请执行以下操作:

  • 在 PTA 和验证目录中配置并启用 SSL,如第 11 章“实现安全性”中所述。
  • 创建或修改 PTA 插件配置以使用 LDAPS 和 LDAP URL 中的安全端口,例如:
  • ldaps://configdir.example.com:636/o=NetscapeRoot

设置可选的连接参数

PTA 插件参数可以接受 LDAP URL 后的一组可选的连接参数:

ldap[s]://主机[:端口]/子树 [maxconns,maxops,timeout,ldapver,connlife]

参数必须以显示的顺序给出。虽然这些参数是可选的,但是如果指定了其中之一,就必须指定所有这些参数。如果不希望定制所有参数,则请指定下面给出的默认值。请确保 subtree 参数与可选参数之间以一个空格分隔。

可以为每个 LDAP URL 配置以下可选的参数:

  • maxconns - PTA 服务器可以同时打开的到验证服务器的最大连接数。该参数限制可以同时传递到验证服务器的绑定数量。默认值为 3
  • maxops - 在单个连接中,PTA 目录服务器可以同时对验证目录服务器发送的最大绑定请求数。该参数进一步限制了同时传递的验证的数量。默认值为 5
  • timeout - 希望 PTA 服务器等待验证服务器响应的最大延时(以秒为单位)。默认值为 300 秒(5 分钟)。
  • ldapver - 当连接到验证服务器时,希望 PTA 服务器使用的 LDAP 协议的版本。允许的值为 2 (LDAPv2) 和 3 (LDAPv3)。默认值为 3
  • connlife - PTA 服务器将重新使用到验证服务器的连接的时间限制(以秒为单位)。如果已超出该时间后客户机请求 PTA 子树中的绑定,则服务器将关闭该 PTA 连接并打开一个新连接。只有当绑定请求被初始化并且服务器确定已超出时间限制时,服务器才会关闭连接。如果不指定此选项,或者如果 LDAP URL 中仅列出一个验证服务器,则不会强制执行任何时间限制。如果列出了两个或多个主机,默认值为 300 秒(5 分钟)。

下面的示例中,PTA 插件参数将连接的数量增加到 10,而将超时减少到 1 分钟(60 秒)。为所有其他参数给定默认值:

ldaps://configdir.example.com:636/o=NetscapeRoot 10,5,60,3,300

指定多个服务器和子树

可以使用多个参数配置 PTA 插件以指定多个验证服务器、多个 PTA 子树,或同时指定两者。每个参数包含一个 LDAP URL,且可以拥有其自身的连接选项集。

当有多个验证服务器用于同一 PTA 子树时,它们会充当故障切换服务器。无论何时 PTA 连接达到超时限制时,插件都将按照列出的顺序建立到这些验证服务器的连接。如果所有连接超时,验证将失败。

如果定义了多个 PTA 子树,插件将根据绑定 DN 将验证请求传递到相应的服务器。以下示例显示了四个 PTA 插件参数,它们定义了两个 PTA 子树,每个子树具有一个用于验证的故障切换服务器和服务器特定的连接参数:

nsslapd-pluginarg0:ldaps://configdir.example.com/o=NetscapeRoot
 10,10,60,3,300
nsslapd-pluginarg1:ldaps://configbak.example.com/o=NetscapeRoot
 3,5,300,3,300
nsslapd-pluginarg2:ldaps://east.example.com/ou=East,ou=People,
 dc=example,dc=com 10,10,300,3,300
nsslapd-pluginarg3:ldaps://eastbak.example.com/ou=East,ou=People,
 dc=example,dc=com 3,5,300,3,300

修改 PTA 插件配置

可以随时重新配置 PTA 插件,将其启用或禁用,或者更改验证主机或 PTA 子树。

  1. 编辑 PTA 插件配置条目 (cn=Pass Through Authentication,cn=plugins,cn=config) 以修改 nsslapd-pluginenablednsslapd-pluginargN 属性。可以使用控制台或 ldapmodify 公用程序编辑配置。
  2. 例如,以下命令将启用具有 SSL 及以上所示连接参数的 PTA 插件。

    dn:cn=Pass Through Authentication,cn=plugins,cn=config
    changetype:modify
    replace:nsslapd-pluginenabled
    nsslapd-pluginenabled:on
    -
    replace:nsslapd-pluginarg0
    nsslapd-pluginarg0:ldaps://configdir.example.com:636/
     o=NetscapeRoot 10,10,60,3,300
    -
    replace:nsslapd-pluginarg1
    nsslapd-pluginarg1:ldaps://configbak.example.com:636/
     o=NetscapeRoot 3,5,300,3,300
    ^D

  3. “启动和停止 Directory Server”中所述,重新启动服务器。


上一章     目录     索引     文档主页     下一章    
版权所有 2003 Sun Microsystems, Inc. 保留所有权利。