dn: cn=config olcTLSCACertificateFile: /etc/ssl/certs/ssl-cert-snakeoil.pem olcTLSCertificateFile: /etc/ssl/certs/ssl-cert-snakeoil.pem olcTLSCertificateKeyFile: /etc/ssl/private/ssl-cert-snakeoil.key
ちなみにsnakeoilというのはサンプル用証明書によく使われる名前です。
それから、/etc/default/slapd の SLAPD_SERVICES に ldapsプロトコルを含めます。下の例は、SSL対応のLDAPS通信とソケット通信のみ受け付けるよう設定する例です。
SLAPD_SERVICES="ldaps:/// ldapi:///"
これで起動すればOK・・・と言いたいところが、すんなりとはうまくいくと限りません。
main: TLS init def ctx failed: -1
というエラーが発生することがあります。このエラーは、証明書や秘密鍵の読み込みに失敗すると発生します。調べてみると、Debianでは、デフォルトのままだと秘密鍵の読み取り権限がないようです。参考 → https://wiki.debian.org/LDAP/OpenLDAPSetup#Configuring_LDAPS
秘密鍵は所有者のグループを ssl-cert にし、グループに読み取り権限を付与することが推奨されています。slapdはopenldapというユーザ名で実行されますので、openldapユーザをssl-certグループに所属させればOKです。
# usermod -a -G ssl-cert openldap
これで今度こそOKです。
# service slapd start
とすればSSL対応のLDAPS通信を待ち受ける状態で起動するはずです。
※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうぞ。
0 件のコメント:
コメントを投稿