LDAPS が機能しない: LDAP サーバーへのバインドに失敗しました (16.04)

LDAPS が機能しない: LDAP サーバーへのバインドに失敗しました (16.04)

LDAP は私のマシンでは正常に動作しますが、LDAPS は動作しないようです。複数のフォーラムで言及されているように、TLS_CACERTFILE と TLS_CACERT で証明書名を指定してみましたが/etc/ldap.conf/etc/ldap/ldap.conf問題は解決しないようです。同じ CA 証明書を他の Linux サーバー (CentOS、Scientific、RHEL) でもテストしましたが、それらはすべて、指定された証明書とバインドを使用して LDAPS で正常に認証されます。

障害ログ

 04:22:57  nscd: nss_ldap: could not connect to any LDAP server as <bind account> - Can't contact LDAP server
 04:22:57  nscd: nss_ldap: failed to bind to LDAP server ldaps://example:636: Can't contact LDAP server
 04:22:57  nscd: nss_ldap: reconnecting to LDAP server...
 04:22:57  nscd: nss_ldap: could not connect to any LDAP server as <bind account> - Can't contact LDAP server
 04:22:57  nscd: nss_ldap: failed to bind to LDAP server ldaps://example:636: Can't contact LDAP server
 04:22:57  nscd: nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...
 04:22:58  nscd: nss_ldap: could not connect to any LDAP server as <bind account> - Can't contact LDAP server
 04:22:58  nscd: nss_ldap: failed to bind to LDAP server ldaps://example:636: Can't contact LDAP server
 04:22:58  nscd: nss_ldap: could not search LDAP server - Server is unavailable

からコメント:

# ldapsearch -x -d5 -H ldaps://example
ldap_url_parse_ext(ldaps://example)
ldap_create
ldap_url_parse_ext(ldaps://example:636/??base) ...............
ldap_int_open_connection
ldap_connect_to_host: TCP example:636
ldap_new_socket: 4
ldap_prepare_socket: 4
ldap_connect_to_host: Trying <IP Address>:636
ldap_pvt_connect: fd: 4 tm: -1 async: 0 attempting to connect: connect success TLS: peer cert untrusted or revoked (0x142) TLS: can't connect: (unknown error code).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) 

LDAP 構成

# cat /etc/ldap.conf
base              o=example.com
uri               ldaps://example:636
ldap_version      3
binddn            bind account
bindpw            bind passwd
pam_password      md5
nss_base_passwd   
nss_base_shadow   
nss_base_group    
nss_base_networks 
nss_base_netgroup 
ssl on
TLS_CACERTFILE  /etc/ldap/cacerts/cacert.pem
DEBUG   1
TLS_REQCERT    demand
# cat /etc/ldap/ldap.conf
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ldap/cacerts/cacert.pem
TLS_REQCERT demand

BASE    o=example.com
URI     ldaps://example

関連情報