Solaris10でOpenLDAP(基本設定)

起動させるまでの設定。インストールは、ここを参照。
以下の条件で設定。

  • DNは、「dc=example-ldap,dc=com」とする。
  • 「ou=people」の下に従業員情報を登録する。
  • 従業員情報のオブジェクトクラスは、「inetOrgPerson」を使用する。
  • ちょっとだけパフォーマンスも考慮したい。
  • とりあえず、セキュリティはあまり考慮しない。


1. /usr/local/etc/openldap/slapd.conf

#######################################################################
# Global sections
#######################################################################
# スキーマの定義。inetOrgPersonを使うので、cosine.schemaも忘れずに。
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema

# ログとか。ログレベルは、8+32+256。
loglevel 296
pidfile /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args

# SSL/TLSの設定。証明書、鍵の作成は後述。
TLSCipherSuite HIGH
TLSCertificateFile /usr/local/etc/openldap/slapd-cert.pem
TLSCertificateKeyFile /usr/local/etc/openldap/slapd-key.pem

# userPassword属性に値を保存する時のデフォルト暗号化スキーマ
password-hash {SSHA}

#######################################################################
# BDB database definitions
#######################################################################
# バックエンドにBerkeley DBを使用する。
database bdb

# ルートサフィックス定義。
suffix "dc=example-ldap,dc=com"

# スーパーユーザ権限用のルートDN及びパスワード設定*1
rootdn "cn=Manager,dc=example-ldap,dc=com"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# データベースファイルを保存するディレクトリと作成権限。
directory /var/ldap/example-ldap.com
mode 0600

# パフォーマンス関連設定。(インデックスとかメモリキャッシュとか)
index objectClass eq
index cn,sn,mail eq,sub
index departmentNumber eq
cachesize 2000

# アクセス制御リスト(ACL)設定
# 全員に読み取りアクセスを許可
access to *
 by * read


2. /etc/syslog.conf
以下の設定を追加。追加後、syslogdにHUPシグナル。

local4.debug /var/log/slapd.log


3. サーバ証明書秘密鍵の作成
# cd /usr/local/misc
# ./CA.pl -newcert
# openssl -rsa -in newkey.pem -out slapd-key.pem
# mv ./slapd-key.pem /usr/local/etc/openldap/
# cp ./newcert.pem /usr/local/etc/openldap/slapd-cert.pem
秘密鍵パーミッションは、「600」で。


4. データベースディレクトリの作成
# mkdir -p /var/ldap/example-ldap.com
# chmod 700 /var/ldap/example-ldap.com
# cp /usr/local/etc/openldap/DB_CONFIG.example /var/ldap/example-ldap.com/DB_CONFIG
# chmod 600 /var/ldap/example-ldap.com/DB_CONFIG


5. 起動
# /usr/local/libexec/slapd
# ps -ef | grep slapd


OpenLDAP, Main Page

*1:パスワードハッシュは、「# slappasswd -h {SSHA} -s %パスワード%」で作成。