IBM Tivoli Directory Server 6.0 的 SSL 配置

获得 AIX 5L 操作系统上 IBM Tivoli Directory Server (ITDS) 6.0 的 SSL 配置的概要信息。学习有关 SSL 密钥数据库创建、证书创建、证书提取、SSL 身份验证机制、SSL 问题解答和执行 LDAP 客户端-服务器通信步骤的命令行配置方法。

2008 年 11 月 7 日更新 - 作者为“为 IBM Tivoli Directory Server 配置 SSL 访问”这一步下的第 2 步第 3 步做了更改。

Chethan Jain, 软件工程师, IBM

author photoChethan Jain 是 IBM AIX UPT Release 团队班加罗尔办公室的软件工程师。Chethan 参与 AIX 测试已有两年多的时间。他擅长在 AIX 上安装和配置安全套接字层 (SSL)、IBM Tivoli Directory Server (ITDS) 和 Tivoli Access Manager for Operating Systems (TAMOS) 组件。您可以通过 chetjain@in.ibm.com 与他联系。



2008 年 11 月 07 日 (最初于 2008 年 4 月 07 日)

引言

安全套接字层 (SSL) 是一种工业标准协议,它使用对称密钥和公钥加密机制在 Internet 上提供安全通信。SSL 协议运行在 TCP/IP 之上和应用程序协议(如轻量级目录访问协议 (LDAP) 和超文本传输协议 (HTTP))之下,并为传输数据提供信任和隐私。为集中式数据库配置安全设置时,管理员可能需要为访问目录数据库实现其他安全措施。AIX 通过 IBM Tivoli Directory Server (ITDS) 支持 SSL 安全。安装和配置证书后,客户端可以通过安全端口 (636) 和非安全端口 (389) 进行通信。

先决条件

  • 应安装 ITDS 6.0 文件集数据包,并将其更新为最新级别
  • 安装 Global Security GSKit 文件集。
  • ITDS 应该与缺省 ldapdb2 实例一起运行,如下所示:
    #  ps -e | grep -E "[i]bmslapd|[i]bmdiradm"
       503982      -  0:00 ibmdiradm
       540812  pts/0  1:35 ibmslapd

SSL 如何与 ITDS 一起工作?

在常规 LDAP 连接中,客户端连接到端口 389,并且信息以纯文本方式交换。没有任何方法可以保证 LDAP 客户端能够连接到正确的 LDAP 服务器。黑客能够感染您的 DNS,或者可能在正确的计算机上安装自己的服务器。

将 SSL 与 ITDS 一起使用可以防止这些漏洞。

首先,SSL 可以验证是否连接到了正确的服务器。当客户端和服务器连接时,它们会执行特殊的 SSL“握手”,在握手过程中涉及服务器和客户端交换加密密钥,这些密钥是使用 X.509 证书描述的。如果客户端希望确认它是否连接到正确的服务器,则需要验证在握手期间发送的服务器证书。这可通过检查您信任的、其证书未被撤消的人员是否签名(信任)证书来完成。例如,服务器的证书可能已经由 Verisign (www.verisign.com) 签名,您决定需要信任 Verisign 来签名合法证书。

启用 SSL 时,客户端和 LDAP 注册表之间交换的数据是加密的。同时支持服务器和客户端身份验证。

为服务器身份验证配置 SSL

对于服务器身份验证,在最初的 SSL 握手过程中,ITDS 向客户端提供 ITDS X.509 证书。如果客户端验证了服务器的证书(如图 1 所示),则在 ITDS 和客户端应用程序之间会建立安全的加密通信通道。

图 1. 配置服务器身份验证
配置服务器身份验证

让我们将图 1 所示的服务器身份验证划分为两部分:

  • 为 IBM Tivoli Directory Server 配置 SSL 访问
  • 为 IBM Tivoli Directory Server 客户端配置 SSL 访问

为 IBM Tivoli Directory Server 配置 SSL 访问

需要以下步骤才能为 ITDS 启用支持 SSL 的服务器身份验证:

  1. 创建密钥数据库 (CMS) 以包含服务器证书以及服务器的私钥和公钥。
    #gsk7cmd -keydb -create -db $SRVKEY_PATH/serverkey -pw $SRVKEY_PASSWD \
     -type cms -stash

    成功完成上述命令后,会创建四个文件:

    • serverkey.kdb——此文件是密钥数据库本身。
    • serverkey.rdb——此文件用于存储证书请求。
    • serverkey.crl——此文件用于保存证书吊销列表。
    • serverkey.sth——此文件存储密码的加密版本。
  2. 创建自签名证书和提取证书,并将其用于与服务器安全通信的所有客户端系统上。
    #  gsk7cmd -cert -create -db $SRVKEY_PATH/serverkey.kdb -pw $SRVKEY_PASSWD -label \
       $SRV_LABEL -dn "CN=`hostname`,O=IBM,C= INDIA" -default_cert yes -expire 999

    可以创建自签名证书,并将其仅用于测试环境或内部网环境中。在生产环境或 Internet 环境中,从认可的证书颁发机构 (CA)(如 Verisign)获取商业证书。

    检查 keydb 中的 SRV_CERT 证书的可用性。请参见下面列出的代码。

    #  gsk7cmd -cert -list -db $SRVKEY_PATH/serverkey.kdb -pw $SRVKEY_PASSWD
    
       Certificates in database: /var/adm/ras/SSLKey_SRV/serverkey.kdb
       Entrust.net Global Secure Server Certification Authority
       Entrust.net Global Client Certification Authority
       Entrust.net Client Certification Authority
       Entrust.net Certification Authority (2048)
       Entrust.net Secure Server Certification Authority
       VeriSign Class 3 Secure Server CA
       VeriSign Class 3 Public Primary Certification Authority
       VeriSign Class 2 Public Primary Certification Authority
       VeriSign Class 1 Public Primary Certification Authority
       VeriSign Class 4 Public Primary Certification Authority - G2
       VeriSign Class 3 Public Primary Certification Authority - G2
       VeriSign Class 2 Public Primary Certification Authority - G2
       VeriSign Class 1 Public Primary Certification Authority - G2
       VeriSign Class 4 Public Primary Certification Authority - G3
       VeriSign Class 3 Public Primary Certification Authority - G3
       VeriSign Class 2 Public Primary Certification Authority - G3
       VeriSign Class 1 Public Primary Certification Authority - G3
       Thawte Personal Premium CA
       Thawte Personal Freemail CA
       Thawte Personal Basic CA
       Thawte Premium Server CA
       Thawte Server CA
       RSA Secure Server Certification Authority
    -->SRV_CERT
  3. 创建了自签名证书之后,必须提取证书才能供与服务器进行安全通信的客户端系统使用:
    #gsk7cmd -cert -create -db $SRVKEY_PATH/serverkey.kdb -pw $SRVKEY_PASSWD -label \
       $SRV_LABEL -dn "CN=`hostname`,O=IBM,C= INDIA" -default_cert yes -expire 999
  4. 在为密钥数据库提供了自签名证书之后,请将目录服务器配置为使用此证书。

    使用文本编辑器按以下格式创建一个 LDIF 文件,即 file.ldif。

       dn: cn=SSL,cn=Configuration
       changetype: modify
       replace: ibm-slapdSslAuth
       ibm-slapdSslAuth: serverAuth
       -
       replace: ibm-slapdSecurity
       ibm-slapdSecurity: SSL
    
       dn: cn=SSL,cn=Configuration
       changetype: modify
       replace: ibm-slapdSSLKeyDatabase
       ibm-slapdSSLKeyDatabase: /var/adm/ras/SSLKey_SRV/serverkey.kdb
       -
       replace:ibm-slapdSslCertificate
       ibm-slapdSslCertificate: SRV_CERT
       -
       replace: ibm-slapdSSLKeyDatabasePW
       ibm-slapdSSLKeyDatabasePW: key4server

    现在将此 LDIF 文件提供给目录服务器。

    #  idsldapmodify -D cn=admin -w admin -i file.ldif -p 389
       modifying entry cn=SSL,cn=Configuration
    
       modifying entry cn=SSL,cn=Configuration

    查看 /home/ldapdb2/idsslapd-ldapdb2/etc/ibmslapd.conf 文件,并注意下面箭头所示项中的更改。

       dn: cn=SSL, cn=Configuration
       cn: SSL
       ibm-slapdSecurePort: 636
       #ibm-slapdSecurity must be one of none/SSL/SSLOnly/TLS/SSLTLS
    -->ibm-slapdSecurity: SSL
       #ibm-slapdSslAuth must be one of serverAuth/serverClientAuth
    -->ibm-slapdSslAuth: serverAuth
    -->ibm-slapdSslCertificate: SRV_CERT
       ibm-slapdSslCipherSpec: AES
       ibm-slapdSslCipherSpec: AES-128
       ibm-slapdSslCipherSpec: RC4-128-MD5
       ibm-slapdSslCipherSpec: RC4-128-SHA
       ibm-slapdSslCipherSpec: TripleDES-168
       ibm-slapdSslCipherSpec: DES-56
       ibm-slapdSslCipherSpec: RC4-40-MD5
       ibm-slapdSslCipherSpec: RC2-40-MD5
       ibm-slapdSslFIPSProcessingMode: false
    -->ibm-slapdSslKeyDatabase: /var/adm/ras/SSLKey_SRV/serverkey.kdb
       ibm-slapdSSLKeyDatabasePW: {AES256}5+6hlNHZ8DFvhRRjmRP9GA==
       objectclass: top
       objectclass: ibm-slapdConfigEntry
       objectclass: ibm-slapdSSL
  5. 您必须停止并重新启动 Tivoli Directory Server 和管理守护进程,更改才会生效。
       a. Stopping directory server.
       # ibmslapd -k -I "instance name"
    
       b. Stopping administrator daemon
       # ibmdirctl -h host_name -D ldap_admin -w ldap_pw admstop
    
       c. Starting administrator daemon
       # ibmdiradm "instance name"
    
       d. Starting directory server
       # ibmslapd -n -I "instance name"

为 ITDS 客户端配置 SSL 访问

在 LDAP 服务器上启用 SSL 访问后,您可以在客户端系统上设置 SSL 访问。与为服务器创建密钥数据库文件类似,您必须在客户端系统上创建密钥数据库文件。请注意,对于要对 LDAP 服务器进行身份验证的客户端,该客户端必须识别为该 LDAP 服务器创建了证书的证书颁发机构 (CA)。如果 LDAP 服务器使用的是自签名证书,客户端必须可以识别作为信任的根(证书颁发机构)生成 LDAP 服务器证书的系统。

要配置 LDAP 客户端,使之对 LDAP 服务器进行 SSL 访问,在客户端计算机上按照以下说明进行操作:

  1. 使用 GSKit 密钥管理实用工具创建一个密钥数据库 (CMS) 文件。
    #  gsk7cmd -keydb -create -db $CLIKEY_PATH/clientkey -pw $CLIKEY_PASSWD \
      -type cms -stash
  2. 将提取的证书文件从 LDAP 服务器复制到客户端计算机。
    #  rcp -r $LDAP_SERVER:$SRVKEY_PATH/EXTRACT/ $CLIKEY_PATH/
  3. 将服务器证书(从证书颁发机构获得的证书或自签名证书)作为信任的签署者导入到客户端的密钥数据库。为要添加的签署者证书输入一个标签。如果证书由证书颁发机构创建,则可以使用证书颁发机构的名称作为标签。对于自签名证书,可使用 LDAP 服务器的名称作为标签。
    #  gsk7cmd -cert -add -db $CLIKEY_PATH/clientkey.kdb -pw $CLIKEY_PASSWD -label \
       $LDAP_SERVER -file $CLIKEY_PATH/serverkey.arm

    列出添加的证书,并进行验证。

    #  gsk7cmd -cert -list -db $CLIKEY_PATH/clientkey.kdb  -pw $CLIKEY_PASSWD
       Certificates in database: /var/adm/ras/SSLKey_CLI/clientkey.kdb
    -->fluffy01
       Entrust.net Global Secure Server Certification Authority
       Entrust.net Global Client Certification Authority
       Entrust.net Client Certification Authority
       Entrust.net Certification Authority (2048)
       Entrust.net Secure Server Certification Authority
       VeriSign Class 3 Secure Server CA
       VeriSign Class 3 Public Primary Certification Authority
       VeriSign Class 2 Public Primary Certification Authority
       VeriSign Class 1 Public Primary Certification Authority
       VeriSign Class 4 Public Primary Certification Authority - G2
       VeriSign Class 3 Public Primary Certification Authority - G2
       VeriSign Class 2 Public Primary Certification Authority - G2
       VeriSign Class 1 Public Primary Certification Authority - G2
       VeriSign Class 4 Public Primary Certification Authority - G3
       VeriSign Class 3 Public Primary Certification Authority - G3
       VeriSign Class 2 Public Primary Certification Authority - G3
       VeriSign Class 1 Public Primary Certification Authority - G3
       Thawte Personal Premium CA
       Thawte Personal Freemail CA
       Thawte Personal Basic CA
       Thawte Premium Server CA
       Thawte Server CA
       RSA Secure Server Certification Authority
       CLI_CERT
  4. 要测试是否启用了 SSL 访问,请在 LDAP 客户端系统上输入以下命令:
    #  idsldapsearch -h $LDAP_SERVER -Z -K $CLIKEY_PATH/clientkey.kdb -P $CLIKEY_PASSWD \
       -b "" -s base objectclass=*

    因为 ITDS 允许多个实例,所以,如果不使用缺省的 636 安全端口,则需要指定端口号。安全端口 636 用于侦听 LDAP 服务器上的 SSL 请求。由于已经为该服务器启用了 SSL 和非 SSL 请求,所以在上面的命令输出中您还会注意到值 389。

  5. 要将客户端设置为使用 SSL 与 LDAP 服务器通信,请输入:
    #  mksecldap -c -h $LDAP_SERVER -a cn=admin -p admin -d o=ibm -k $CLIKEY_PATH/ \
       clientkey.kdb -w $CLIKEY_PASSWD

    在客户端设置的最后步骤中,mksecldap 命令会启动客户端守护进程,并在 /etc/inittab 文件中添加一项,这样在每次重新启动客户端时都会启动守护进程。您可以检查设置是否成功,方法是通过 ls-secldapclntd 命令检查 secldapclntd 守护进程。

    #  ls-secldapclntd
       ldapservers=fluffy01
       ldapport=636
       ldapversion=3
       userbasedn=ou=People,o=ibm
       groupbasedn=ou=Groups,o=ibm
       idbasedn=ou=system,o=ibm	
       usercachesize=1000
       usercacheused=0
       groupcachesize=100
       groupcacheused=0
       usercachetimeout=300
       groupcachetimeout=300
       heartbeatT=300
       numberofthread=10
       connectionsperserver=10
       alwaysmaster=no
       authtype=UNIX_AUTH
       searchmode=ALL
       defaultentrylocation=LDAP
       ldaptimeout=60
       userobjectclass=posixaccount,account,shadowaccount,aixauxaccount,
       ibm-securityIdentities
       groupobjectclass=posixgroup,aixauxgroup

此步骤为服务器身份验证完成 SSL 的配置。


为服务器和客户端身份验证配置 SSL

此类型的身份验证在 LDAP 客户端和 LDAP 服务器之间提供双向握手。必须在客户端系统上建立证书,这样,客户端对服务器进行身份验证之后,服务器才可以请求客户端的证书,并使用该证书验证客户端的身份。

图 2. 配置服务器和客户端身份验证
配置服务器和客户端身份验证

要为客户端系统建立证书,请执行以下步骤:

  1. 在客户端上创建密钥数据库 (CMS) 文件。
    #gsk7cmd -keydb -create -db $CLIKEY_PATH/clientkey -pw $CLIKEY_PASSWD \
       -type cms -stash
  2. 在密钥数据库中创建个人证书及其关联的私钥。在 SSL 通信过程中,此个人证书代表 Tivoli Directory Server 客户端系统的身份。
    #gsk7cmd -cert -create -db $CLIKEY_PATH/clientkey.kdb -pw $CLIKEY_PASSWD -label \
       $CLI_LABEL -dn "CN=`hostname`,O=IBM,C=INDIA"

    列出 keydb 中的证书。
    #  gsk7cmd -cert -list -db $CLIKEY_PATH/clientkey.kdb -pw $CLIKEY_PASSWD
       Certificates in database: /var/adm/ras/SSLKey_CLI/clientkey.kdb
       fluffy01
       Entrust.net Global Secure Server Certification Authority
       Entrust.net Global Client Certification Authority
       Entrust.net Client Certification Authority
       Entrust.net Certification Authority (2048)
       Entrust.net Secure Server Certification Authority
       VeriSign Class 3 Secure Server CA
       VeriSign Class 3 Public Primary Certification Authority
       VeriSign Class 2 Public Primary Certification Authority
       VeriSign Class 1 Public Primary Certification Authority
       VeriSign Class 4 Public Primary Certification Authority - G2
       VeriSign Class 3 Public Primary Certification Authority - G2
       VeriSign Class 2 Public Primary Certification Authority - G2
       VeriSign Class 1 Public Primary Certification Authority - G2
       VeriSign Class 4 Public Primary Certification Authority - G3
       VeriSign Class 3 Public Primary Certification Authority - G3
       VeriSign Class 2 Public Primary Certification Authority - G3
       VeriSign Class 1 Public Primary Certification Authority - G3
       Thawte Personal Premium CA
       Thawte Personal Freemail CA
       Thawte Personal Basic CA
       Thawte Premium Server CA
       Thawte Server CA
       RSA Secure Server Certification Authority
    -->CLI_CERT
  3. 创建了自签名证书之后,必须提取证书才能在与客户端进行安全通信的 LDAP 服务器系统上使用。
    #  gsk7cmd -cert -extract -db $CLIKEY_PATH/clientkey.kdb -pw $CLIKEY_PASSWD \
       -label $CLI_LABEL -target $EXTRACT_PATH/clientkey.arm

    将客户端证书提取到文件之后,该文件必须在 Tivoli Directory Server 上可用。

  4. 现在,将提取的客户端证书作为信任的签署者添加到服务器系统上的密钥数据库中。

    通过 FTP 将客户端证书发送到服务器计算机。

    #  gsk7cmd -cert -add -db $SRVKEY_PATH/serverkey.kdb -pw $SRVKEY_PASSWD \
       -label $CLI_NAME -file $PATH/clientkey.arm

    为要创建的证书输入一个标签。如果您使用的是自签名证书,请使用客户端名称以便提供唯一性。

    列出服务器 keydb 中的证书,并验证客户端证书。

    #  gsk7cmd -cert -list -db $SRVKEY_PATH/serverkey.kdb -pw $SRVKEY_PASSWD
       Certificates in database: /var/adm/ras/SSLKey_SRV/serverkey.kdb
    -->charleston01
       Entrust.net Global Secure Server Certification Authority
       Entrust.net Global Client Certification Authority
       Entrust.net Client Certification Authority
       Entrust.net Certification Authority (2048)
       Entrust.net Secure Server Certification Authority
       VeriSign Class 3 Secure Server CA
       VeriSign Class 3 Public Primary Certification Authority
       VeriSign Class 2 Public Primary Certification Authority
       VeriSign Class 1 Public Primary Certification Authority
       VeriSign Class 4 Public Primary Certification Authority - G2
       VeriSign Class 3 Public Primary Certification Authority - G2
       VeriSign Class 2 Public Primary Certification Authority - G2
       VeriSign Class 1 Public Primary Certification Authority - G2
       VeriSign Class 4 Public Primary Certification Authority - G3
       VeriSign Class 3 Public Primary Certification Authority - G3
       VeriSign Class 2 Public Primary Certification Authority - G3
       VeriSign Class 1 Public Primary Certification Authority - G3
       Thawte Personal Premium CA
       Thawte Personal Freemail CA
       Thawte Personal Basic CA
       Thawte Premium Server CA
       Thawte Server CA
       RSA Secure Server Certification Authority
    -->SRV_CERT
  5. 在 LDAP 服务器识别出创建客户端的个人证书的证书颁发机构之后,请使用以下命令在 LDAP 客户端上测试 SSL 访问。
    #  idsldapsearch -h server_name -Z -K $CLIKEY_PATH/clientkey.kdb -P \
       $CLIKEY_PASSWD -N $CLI_LABEL -b "" -s base objectclass=*

现在已经完成了 SSL 设置。


证书和密钥数据库维护

创建新的密钥数据库之后,应指定一个密钥数据库密码。此密码用于保护私钥,并且是能够签署文档或解密使用公钥加密的消息的唯一密钥。最好经常更改密钥数据库密码。

如何更新过期的密钥数据库密码

要更改数据库密码,请键入:

#  gsk7cmd -keydb -changepw -db $SRVKEY_PATH/serverkey.kdb -pw $SRVKEY_PASSWD \
   -new_pw newpassw0rd -stash

还必须更新 ibmslapd.conf 文件中的密码。

/home/ldapdb2/idsslapd-ldapdb2/etc/ibmslapd.conf 中搜索下面的关键字,并将其替换为文本格式的新密码。

 ibm-slapdSSLKeyDatabasePW: newpassw0rd

必须重新启动 ibmslapd 进程,新密码才能生效。

#  ibmslapd -k; ibmslapd -n

列出过期的证书

下面的代码显示了如何显示密钥数据库中的证书列表及其过期日期:

#  gsk7cmd -cert -list -expiry -db $CLIKEY_PATH/clientkey.kdb -pw \
   $CLIKEY_PASSWD -type cms
   Certificates in database: /var/adm/ras/SSLKey_CLI/clientkey.kdb
   COFFEE
      Validity
      Not Before: Wed Nov 28 02:43:42 CST 2007
      Not After: Fri Nov 30 02:43:42 CST 2007
   VeriSign Class 2 OnSite Individual CA
      Validity
      Not Before: Mon May 18 19:00:00 CDT 1998
      Not After: Mon Oct 12 18:59:59 CDT 2009
   VeriSign International Server CA - Class 3
      Validity
      Not Before: Wed Apr 16 19:00:00 CDT 1997
      Not After: Mon Oct 24 18:59:59 CDT 2011
   Verisign Class 3 Public Primary Certification Authority - G2
      Validity
      Not Before: Sun May 17 19:00:00 CDT 1998
      Not After: Tue Aug 01 18:59:59 CDT 2028
   Verisign Class 2 Public Primary Certification Authority - G2
      Validity
      Not Before: Sun May 17 19:00:00 CDT 1998
      Not After: Tue Aug 01 18:59:59 CDT 2028

使用 –expiry 指定天数是可选的,但是使用它可以显示在该天数内过期的所有证书。要列出已经过期的证书,请输入值 0

显示整个证书

要显示整个密钥项,请键入以下内容:

#  gsk7cmd -cert -details -showOID -db $CLIKEY_PATH/clientkey.kdb \
   -pw $CLIKEY_PASSWD -label COFFEE

解决过期的证书

如果证书已经过期,请采用以下步骤:

  • 在 LDAP 服务器上创建新的证书。
  • 从密钥存储区中删除过期的证书。
  • 将 LDAP 服务器配置为使用新证书。
  • 重新启动 ibmdiradm 和 ibmslapd。
  • 提取证书,并将新证书提供给所有客户端密钥存储区。

基本调试

IBM Tivoli Directory Server 除提供操作系统工具外还包含了多个工具,可以帮助您确定您遇到的问题的根本原因。

错误日志

错误日志用于记录在目录服务器处理过程中发生的错误消息。IBM Tivoli Directory Server 可检测这些错误,并将其保存在文本文件中。

缺省情况下,所有日志都位于以下位置:

      "instance home"/idsslapd-"instance name"/logs

对于 ldapdb2 实例,配置文件和日志都位于以下位置:

#  /home/ldapdb2/idsslapd-ldapdb2/etc/ibmslapd.conf
#  /home/ldapdb2/idsslapd-ldapdb2/logs/
   adminaudit.log        bulkload.log       db2clicmds.log     ibmslapd.log
   lostandfound.log    audit.log             db2cli.log         ibmdiradm.log
   idstools.log              traceibmslapd.log

日志文件的示例如下:

   11/16/07 06:50:30 GLPCTL115I Maximum data segment limit for the process (in bytes):
   '1073741312'(Soft limit) and '-1'(Hard limit).
   11/16/07 06:50:30 GLPCTL116I Maximum physical memory limit for the process 
   (in bytes):  '1073741312'(Soft limit) and '-1'(Hard limit).
   11/16/07 06:50:30 GLPSRV009I IBM Tivoli Directory (SSL), 6.0    Server started.
   11/16/07 06:50:30 GLPSRV048I Started 15 worker threads to handle client requests.

验证密钥存储库和证书

下面将讨论一些常见的证书问题。

  • 问题 1:
    GLPCOM003I Non-SSL port initialized to 389.
    GLPCOM004I SSL port initialized to 636.
    GLPSSL002E File I/O error on opening SSL key database file \
    $SRVKEY_PATH/serverkey.kdb.
    GLPSRV004I Terminating server.

    如果 LDAP 目录和管理服务器使用的 SSL 密钥数据库无法读取或者不可用,则会发生上述错误。请验证密钥数据库文件的名称和路径,并更新 ibmslapd.conf 文件,以正确地反映密钥数据库文件的完全限定路径。重新启动服务器。

  • 问题 2:
    #  idsldapsearch -h `hostname` -Z -K SRVKEY_PATH/serverkey.kdb  -P badpassw0rd \
       -b "" -s base objectclass=*
       ldap_ssl_client_init failed! rc == 113, failureReasonCode == 408
       Bad keyfile password

    在这种情况下请检查密钥数据库密码。

  • 问题 3:
    #  idsldapsearch -h `hostname` -Z -K $CLIKEY_PATH/badkey.kdb -P $CLIKEY_PASSWD \
        -b "" -s base objectclass=*
       ldap_ssl_client_init failed! rc == 113, failureReasonCode == 202
       Keyring file open error

    请验证客户端密钥数据库名称。也可能是指定的客户端密钥数据库不存在。

  • 问题 4:
    #  idsldapsearch -h `hostname` -Z -K $CLIKEY_PATH/clientkey.kdb -P \
       $CLIKEY_PASSWD -b "" -s base objectclass=*
       ldap_ssl_client_init failed! rc == 113, failureReasonCode == 102
        Keyfile I/O error

    指定了错误的客户端密钥数据库。客户端证书找不到内部密钥数据库。

  • 问题 5:
    #mksecldap -c -h coffee -a cn=admin -p admin -d o=ibm -k $CLIKEY_PATH/clientkey.kdb \
      -w $CLIKEY_PASSWD
      Cannot contact LDAP server coffee.
      client presetup check failed.

    ibmslapd 进程未在服务器端运行。使用 ibmslapd -n 启动该进程并重试。


总结

为 AIX 中的 LDAP 目录配置安全设置时,管理员可能需要为访问 ITDS 实现其它安全措施。AIX 通过 LDAP 提供 SSL 安全(一种基于证书的身份验证机制)访问。本文概述了 AIX 5L 操作系统上 ITDS 6.0 的 SSL 配置。还详细阐述了 SSL 密钥数据库创建、证书创建、证书提取、了解 SSL 身份验证机制、SSL 问题解答和使用 LDAP 客户端-服务器通信的方法的命令行配置过程。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=299883
ArticleTitle=IBM Tivoli Directory Server 6.0 的 SSL 配置
publish-date=11072008