Debian GNU/Linux 4.0 (etch) の
nss_ldap (libnss-ldap パッケージ)
で LDAP over SSL な URI を試していたところ、
テストで実行していた
の応答がえらく遅い。
getent passwdstrace でシステムコールを追ってみたところ、
/etc/ssl/certs 以下にある大量の証明書をすべて参照しており、
そいつに時間がかかっていることが判明。
なお、c_rehash は実行済み。
しかも、
nssldap の設定ファイル
/etc/libnss-ldap.conf の
tlscacertdir
と
tlscacertfile
の値が完全に無視されており、
OpenLDAP のライブラリの設定ファイル
/etc/ldap/ldap.conf の
TLSCACERTDIR
と
TLSCACERT
でないと設定できない問題が発生。
Debian の BTS を見たところ、 すでに報告されていた問題だった。 やれやれ…。
- Debian Bug #387467: libnss-ldap: “tlscacertfile” is being ignored
- Debian Bug #403212: Trouble with SSL and certificates
この問題を回避するには、
/etc/ldap/ldap.conf の
TLSCACERTDIR をコメントアウトし、
TLSCACERT に OpenLDAP サーバー
(slapd) で使用している証明書の発行元 CA の証明書だけを指定する。
#TLSCACERTDIR /etc/ssl/certs
TLSCACERT /etc/ssl/certs/private-ca.crt




