第五回 一人 OpenLDAP 勉強会

database config を使ってみる

Configuration Backend という機能で、
サーバ設定自体をデータベースに格納して管理してしまうという素敵機能。

OpenLDAP 2.2 までは slapd.conf を直接編集後、再起動をしていたが
これにより再起動が必要なくなる。

さらにリモートから設定を変更することが出来る。

メリットばかりに思えるが、とにかくわかりにくいのが欠点。

資料

OpenLDAP ソフトウェア 2.3 管理者ガイド
http://www5f.biglobe.ne.jp/~inachi/openldap/admin23/index-ja.html

OpenLDAP 最新動向
http://www.ldap.jp/_media/doc/20070423sekiguchi.pdf?id=doc&cache=cache
# ほとんどこれからぱくってます

OpenLDAP ソフトウェア 2.3 管理者ガイド: slapd の設定
http://www5f.biglobe.ne.jp/~inachi/openldap/admin23/slapdconf2-ja.html

OpenLDAP Software 2.3 Administrator's Guide: Configuring slapd
http://www.openldap.org/doc/admin23/slapdconf2.html

Chapter 8 LDAP LDIF
http://www.zytrax.com/books/ldap/ch8/#changetype

LDAP によるデジタル証明書の発行
http://www.linux.or.jp/JF/JFdocs/LDAP-Implementation-HOWTO/certificates.html

Configuration Backend

slapd.conf

database config
rootdn cn=config
rootpw secret

データベースを作成する

# mkdir /etc/openldap/slapd.d
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

/etc/openldap/slapd.d/cn=config.ldif が出来る。

一度 slapd を再起動
/etc/rc.d/slapd restart

これで、slapd.conf を使わず内部の設定により slapd が動作するようになりました。

本当に変更されているのか確認します。

cn=config の rootpw を変更してみる。

とりあえず rootpw が secret であることを確認。

ldapsearch -x -D cn=config -w secret -b cn=config

無事表示されたら、rootpw を変更する ldif 書きます。

rootpw.ldif

dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: password

rootpw 変更

ldapmofiy -x -D cn=config -w secret -f rootpw.ldif

失敗することを確認

ldapsearch -x -D cn=config -w secret -b cn=config

成功することを確認

ldapsearch -x -D cn=config -w password -b cn=config

これで再起動無しで変更できることを確認しました。

今までは内部でやっていたのでこれを外部から Start-TLS を使った接続できるのかどうかを確認します。

Start-TLS + cn=config による素敵な遠隔設定変更

まずは証明書のある場所を教えます。

もしかすると ldap 内部に設定を保存することになったので、
証明書も ldap に格納できたりするのかも。
# できないっぽい。

tls.ldif

dn: cn=confg
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /absolute/path/to/cacert.pem

dn: cn=confg
changetype: modify
add: olcTLSCertificateFile
olcTLSCertificateFile: /absolute/path/to/ldap.pem

dn: cn=confg
changetype: modify
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /absolute/path/to/ldap_key.pem

これで Start-TLS 用の設定はできました。
ldap.conf には ssl start_tls は設定済み

ldapsearch -x -b cn=config -D cn=config -w password -ZZ

つながらない .... 。

ldap.conf には ssl start_tls と書いてあるし、
証明書類も設定したし ... わからん。

絶対続く