Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

OpenLDAPサーバ構築 on CentOS6

こんにちは、鯨井貴博@opensourcetechです。

 

 

 

本日は、OpenLDAPによるLDAPサーバの構築を紹介します。

 

なお、LDAPとはLightweight Directory Access Protocolという

ディレクトリサービスに接続する為の決まりです。

 

また、ディレクトリサービスとは、

ユーザー情報など様々な情報を一元管理する為の仕組みです。

※詳細は、ここでは割愛します。

 

①まずは、openldap・openldap-servers、openldap-clientsのインストール

yum install openldap openldap-servers openldap-clients

 

f:id:opensourcetech:20140804162352p:plain

 

②OpenLDAPの設定

version2.3より前はslapd.confにおける設定をしましたが、
version2.3からはslapd.d/cn=configディレクトリ配下に

LDIF形式の設定が優先される方式が採用されています。
http://www.openldap.org/doc/admin24/slapdconf2.html

 

その為、slapd.confを使って設定を行う場合、

/usr/share/openldap-servers/slapd.conf.obsoleteを

/etc/openldap/slapd.confとしてコピーし、
slapd.dディレクトリをリネームする必要があります。

 

なお今回は、slapd.dディレクトリを使用する方法を紹介します。

 

 

まずは、

/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldifにおいて、LDAP serverのadminのパスワードを設定します。

olcRootPW: secretを追加します。
※下の11行目で平文パスワードを設定しています。

 

adminのdnはcn=Manager,dc=my-domain,dc=com、
使用するsuffix(ドメイン)はdc=my-domain,dc=comがデフォルトとなっております。

f:id:opensourcetech:20140804162526p:plain

 

 

③OpenLDAPの起動

/etc/init.d/slapd start

そして、

netstat -tanでTCP389ポートが解放されているか確認します。

f:id:opensourcetech:20140804162610p:plain

f:id:opensourcetech:20140804162652p:plain

 

④iptablesへの設定追加

iptables -L --line-numbersとすると、
INPUTチェインの5番目までにTCP389に関するルールを追加すればいいことが分かりますので、以下で追加します。

iptables -I INPUT 5 -p tcp --dport 389 --source アクセスネットワーク -j ACCEPT

※アクセスネットワークの部分は、192.168.1.0/24などに変更してください。

 

 

⑤LDIFファイルを作成し、

adminアカウント情報をDIT(Directory Information Tree)に追加します。

test1.ldifの内容

-------

dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
o: my-domain
dc: my-domain

dn: cn=Manager,dc=my-domain,dc=com
objectClass: organizationalRole
cn: Manager

 

ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f test1.ldif

f:id:opensourcetech:20140804162930p:plain

 

 

⑦DITの確認

ldapsearch -x -D "cn=Manager,dc=my-domain,dc=com" -b "dc=my-domain,dc=com" -W

f:id:opensourcetech:20140804163028p:plain

 

Opensourcetech by Takahiro Kujirai