手当たり次第に書くんだ

CentOS7 LDAPサーバー構築

目的

SSLに対応したLDAPサーバーを構築する。

設定方針

設定方針を参照する。

対象ホスト

内部サーバー

前提条件

マニュアル名:「共通設定」、「SSL証明書」が完了していること。

設定手順

インストール

Sambaスキーマを入手するため、この時点でSamba関連パッケージを合わせてインストールする。

[root@centos ~]# yum install openldap-servers openldap-clients nss-pam-ldapd samba

証明書関連ファイル配置

「SSL証明書」手順で生成したファイルを配置する。

[root@centos ~]# cp /var/lib/pki/server.crt /etc/openldap/certs
[root@centos ~]# cp /var/lib/pki/server.key /etc/openldap/certs
[root@centos ~]# cd /etc/openldap/certs
[root@centos ~]# chmod 440 server.crt server.key
[root@centos ~]# chgrp ldap server.crt server.key

DB_CONFIG

DB_CONFIGはパフォーマンスチューニング用のファイル。DB_CONFIGが存在しない場合、warningメッセージが出力されるため、サンプルファイルをLDAPデータベースのディレクトリにコピーする。

[root@centos ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@centos ~]# chown ldap:ldap /var/lib/ldap/DB_CONFIG

サービス起動設定

[root@centos ~]# systemctl start slapd && systemctl enable slapd
[root@centos ~]# systemctl status slapd

パスワード暗号化

設定管理者用とデータベース管理者用の2つのパスワードを暗号化する。

[root@centos ~]# slappasswd

New password:xxxxxxxxxxxxxxxxxxxx
Re-enter new password:xxxxxxxxxxxxxxxxxxxx
{SSHA}xxxxxxxxxxxxxxxxxxxx

初期設定

設定管理者用とデータベース管理者用のパスワードを設定するLDIFを作成し実行する。

[root@centos ~]# mkdir /root/ldif
[root@centos ~]# vim /root/ldif/init.ldif

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxx

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxx

[root@centos ~]# ldapmodify -a -Y EXTERNAL -H ldapi:/// -f /root/ldif/init.ldif

スキーマ追加

Sambaのディレクトリは、その時のバージョンで置き換える。

[root@centos ~]# ldapadd -x -W -D cn=config -f /etc/openldap/schema/cosine.ldif
[root@centos ~]# ldapadd -x -W -D cn=config -f /etc/openldap/schema/inetorgperson.ldif
[root@centos ~]# ldapadd -x -W -D cn=config -f /etc/openldap/schema/nis.ldif
[root@centos ~]# ldapadd -x -W -D cn=config -f /etc/openldap/schema/misc.ldif
[root@centos ~]# ldapadd -x -W -D cn=config -f /usr/share/doc/samba-4.6.2/LDAP/samba.ldif

Apache Directory Studioを使用した設定

以降はApache Directory Studio使用して設定する。

cn=config

下記を変更する。

項目 変更前 変更後
olcTLSCertificateFile “\”OpenLDAP Server\”” /etc/openldap/certs/server.crt
olcTLSCertificateKeyFile /etc/openldap/certs/password /etc/openldap/certs/server.key

olcDatabase={1}monitor,cn=config

下記を変更する。

項目 変更前 変更後
olcAccess {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=Manager,dc=my-domain,dc=com” read by * none {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=Manager,dc=mydomain,dc=com” read by * none

olcDatabase={2}hdb,cn=config

下記を変更する。

項目 変更前 変更後
olcRootDN cn=Manager,dc=my-domain,dc=com cn=Manager,dc=mydomain,dc=com
olcSuffix dc=my-domain,dc=com dc=mydomain,dc=com

下記を追加する。

項目
olcAccess {0}to attrs=userPassword by anonymous auth by dn=”cn=Reader,dc=mydomain,dc=com” read by * none
olcAccess {1}to * by self read by dn=”cn=Reader,dc=mydomain,dc=com” read by * none

設定ファイル編集

/etc/sysconfig/ldap

[root@centos ~]# vim /etc/sysconfig/slapd

#SLAPD_URLS="ldapi:/// ldap:///"
SLAPD_URLS="ldapi:/// ldap:/// ldaps:///"

[root@centos ~]# systemctl restart slapd

サービス再起動

[root@centos ~]# systemctl restart slapd
[root@centos ~]# systemctl status slapd

戻る

CentOS7 LDAPサーバー構築

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る