SSブログ

CentOS-6.xのLDAP認証環境のSSL/TLS化 [CentOS]

以前に作成した CentOS 6.x 上の LDAP 認証環境 の SSL/TLS 化対応を行った。
(LDAP 環境の構築手順は、こちらを参照。)
LDAP クライアントの設定に予想外の時間を要してしまったが、どうにか実現できた。
以下は、実施した手順をまとめたものである。

なお、使用するソフトウェアのバージョンは、下記の通りである。

【ソフトウェアのバージョン】
・OS: CentOS 6.4
・apr-util-ldap-1.3.9-3.el6_0.1.i686
・nss-pam-ldapd-0.7.5-18.1.el6_4.i686
・openldap-2.4.23-32.el6_4.1.i686
・openldap-clients-2.4.23-32.el6_4.1.i686
・openldap-servers-2.4.23-32.el6_4.1.i686
・pam_ldap-185-11.el6.i686

1. CA の構築、およびサーバー証明書の作成


プライベート CA を構築し、LDAP サーバー用のサーバー証明書を作成する。
(プライベート CA でのサーバー証明書の発行手順は、こちらを参照。)

また、作成された各ファイルを、下記にコピーする。
(ldap ユーザーが参照できること。)

CA のルート証明書: /etc/openldap/cacerts/cacert.pem
LDAP サーバーのサーバー証明書: /etc/openldap/certs/server.crt
LDAP サーバーの秘密鍵: /etc/openldap/certs/server.key

2. LDAP サーバーの設定


(1) /etc/sysconfig/ldap の編集

(編集前)
SLAPD_LDAP=yes
SLAPD_LDAPS=no

(編集後)
SLAPD_LDAP=no
SLAPD_LDAPS=yes


(2) /etc/openldap/slapd.conf の編集


下記の設定を行う。

TLSCACertificatePath /etc/openldap/cacerts
TLSCertificateFile /etc/openldap/certs/server.crt
TLSCertificateKeyFile /etc/openldap/certs/server.key


(3) /etc/openldap/slapd.conf のチェック

# slaptest -u -f /etc/openldap/slapd.conf -v


(4) /etc/openldap/slapd.d の更新


/etc/openldap/slapd.conf の設定を反映するため、下記の手順を実行する。

# cd /etc/openldap
# rm -fr slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
# chown -R ldap:ldap /etc/openldap/slapd.d


(5) /etc/openldap/ldap.conf の編集


(a) 下記の設定を追加する。

TLS_REQCERT allow


(b) 下記の変更を行う。

  URI の指定で使用するプロトコルを ldap から ldaps に変更する。


(6) LDAP サーバーの再起動

# /etc/init.d/slapd restart

3. LDAP クライアントの設定


(1) /etc/openldap/ldap.conf の編集


(a) 下記の設定を追加する。

TLS_REQCERT allow


(b) 下記の変更を行う。

  URI の指定で使用するプロトコルを ldap から ldaps に変更する。


(2) authconfig-tui コマンドの実行

# authconfig-tui

【認証の設定】
・[Use LDAP] にチェックを入れる。
・[Use LDAP Authentication] にチェックを入れる。
・[Next] を選択する。

【LDAP設定】
・[Use TLS] にチェックを入れない。    … (注1)
・Server: の項のプロトコルを ldaps に変更する。
・[OK] を選択する。

(注1)
チェックを入れると、LDAP サーバーに接続できない状態となってしまう。
チェックの有無による /etc/nslcd.conf の差違は、下記の通りである。
・有の場合: ssl start_tls
・無の場合: ssl no


(3) /etc/nslcd.conf の編集


下記の設定を追加する。

tls_reqcert allow


(4) nslcd の再起動

# /etc/init.d/nslcd restart

4. TLS/SSL 化されたことの確認


(1) tcpdump で受信ポートを指定して受信データの有無を確認する。


(a) 下記の条件を満たすデータが存在することを確認する。

# tcpdump port ldaps -i lo -X -s 1024
または
# tcpdump port ldaps -i eth0 -X -s 1024


(b) 下記の条件を満たすデータが存在しないことを確認する。

# tcpdump port ldap -i lo -X -s 1024
または
# tcpdump port ldap -i eth0 -X -s 1024

5. 備考


(1) slapd と nslcd の起動/停止の順序


slapd、nslcd の順に起動する。
停止は、その逆順で行う。



nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。