LDAPで、アカウント情報の一元管理をしてみる。~
 ここでは、マスタ・スレーブ構成で、slurpdで同期をし、TLSはローカル認証局(CA)で認証させる。
 ここでは、マスタ・スレーブ構成で、slurpdで同期をし、TLSはローカル認証局(CA)で認証させる。~
 マスタのホスト名はmaster.local、スレーブのホスト名はslave.localとする。

#contents

*パッケージのインストール [#z06d9bc4]
 まずは、必要なパッケージをマスタとスレーブにインストールする。
 master# apt-get install openssl ldap-utils slapd
 slave# apt-get install openssl ldap-utils slapd

*ローカル認証局の構築と鍵の作成 [#bdc54549]
 認証局と鍵の有効期限を20年(7200日)にする。
 master# cp -p /usr/lib/ssl/misc/CA.pl /usr/local/sbin/
 master# vi /usr/local/sbin/CA.pl
 $CADAYS="-days 7200"; # 20 years
 master# cp -p /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.org
 master# vi /etc/ssl/openssl.cnf
 default_days = 7200
 ~
 ローカル認証局を作る。
 master# cd /etc/ssl
 master# /usr/local/sbin/CA.pl -newca
// 不要かもしれない。
// master# cd demoCA
// master# ln -s /etc/ssl/demoCA/cacert.pem /etc/ssl/demoCA/`openssl x509 -noout -hash < ./cacert.pem`.0
 ~
 マスタLDAPで使用する鍵を作成し、中身を確認する。CNには、アクセスするときのfqdnを指定すること。
 master# cd /etc/ldap/
 master# mkdir cert
 master# cd cert
 master# openssl req -new -nodes -keyout key.pem -out newreq.pem
 master# openssl req -in newreq.pem -text
 ~
 マスタLDAP用の鍵をローカル認証局で認証し、中身を確認する。
 master# cd /etc/ssl
 master# openssl ca -policy policy_match -out newcert.pem -infiles /etc/ldap/cert/newreq.pem
 master# openssl x509 -in newcert.pem -text
 ~
 認証した鍵をマスタLDAP用のディレクトリへ移動し、正当性の確認をする。
 master# mv newcert.pem /etc/ldap/cert
 master# openssl verify -CAfile /etc/ssl/demoCA/cacert.pem /etc/ldap/cert/newcert.pem
 ~
 スレーブLDAPで使用する鍵を作成し、中身を確認する。CNには、アクセスするときのfqdnを指定すること。
 slave# cd /etc/ldap/
 slave# mkdir cert
 slave# cd cert
 slave# openssl req -new -nodes -keyout key.pem -out newreq.pem
 slave# openssl req -in newreq.pem -text
 ~
 スレーブLDAP用の鍵をローカル認証局で認証し、中身を確認する。
 slave# scp -p /etc/ldap/cert/newreq.pem master.local:
 master# cd /etc/ssl
 master# openssl ca -policy policy_match -out slavecert.pem -infiles ~/newreq.pem
 master# openssl x509 -in slavecert.pem -text
 master# rm ~/newreq.pem
 ~
 認証した鍵をマスタLDAP用のディレクトリへ移動する。
 master# scp -p slavecert.pem slave.local:
 master# rm slavecert.pem
 slave# mv ~/slavecert.pem /etc/ldap/cert

*マスタLDAPの構築 [#m2cc0df3]
 設定ファイルを更新する。
-/etc/ldap/slapd.conf (更新、追加)
 index   entryCSN,entryUUID   eq
 index   objectClass          eq,pres
 overlay syncprov
 TLSCertificateFile /etc/ldap/cert/newcert.pem
 TLSCertificateKeyFile /etc/ldap/cert/key.pem
 TLSCACertificateFile /etc/ssl/demoCA/cacert.pem

-/etc/ldap/ldap.conf (追加)
 BASE dc=local
 URI ldaps://master.local
 TLS_CACERT /etc/ssl/demoCA/cacert.pem

-/etc/default/slapd (更新)
 SLAPD_SERVICES="ldaps:///"

*スレーブLDAPの構築 [#l16f0e12]
 設定ファイルを更新する。accessディレクティブは下記のもののみとした。~
 マスタからの差分は、replogfile,replicaがなくなり、updatedn,updaterefが追加となったことだけ。
-/etc/ldap/slapd.conf (更新、追加)
 index   objectClass eq,pres
 index   entryCSN,entryUUID  eq
 syncrepl rid=100
     provider=ldaps://master.local
     type=refreshOnly
     interval=00:00:05:00
     searchbase="dc=local"
     bindmethod=simple
     binddn="cn=backup,dc=solar,dc=local"
     credentials=secret
 updateref ldaps://master.local
 TLSCertificateFile /etc/ldap/cert/slavecert.pem
 TLSCertificateKeyFile /etc/ldap/cert/key.pem
 TLSCACertificateFile /etc/ssl/demoCA/cacert.pem

-/etc/ldap/ldap.conf (追加)
 BASE dc=local
 URI ldaps://slave.local
 TLS_CACERT /etc/ssl/demoCA/cacert.pem

-/etc/default/slapd (更新)
 SLAPD_SERVICES="ldaps:///"

*最後の設定 [#d2b240db]
 スレーブのデータはすべて削除しておいたほうが、気分的に安心。
 slave# rm /var/lib/ldap/*
 ~
 slapdの標準のファシリティはlocal4なので、これのログをとるようにしておく。
-/etc/ldap/slapd.conf (変更)
 loglevel        768

-/etc/rsyslog.conf (追加)
 local4.*        /var/log/local4.log

 ~
 いよいよ起動。マスタとスレーブのどちらから起動しても問題ないが、気分的にマスタから起動する。
 master# /etc/init.d/slapd start
 slave# /etc/init.d/slapd start

*参考 [#d7f2c4d0]
http://gihyo.jp/admin/serial/01/ldap/0011~
http://www5f.biglobe.ne.jp/~inachi/openldap/admin23/index-ja.html~
http://www.atmarkit.co.jp/flinux/rensai/root02/root02a.html~
http://ukai.jp/Articles/2002/uu-ldap/account-net.html~
http://www.tom.sfc.keio.ac.jp/~torry/ldap/ldap.html~
http://d.hatena.ne.jp/Voluntas/20071001/1191214779~

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS