Saturday, November 17, 2012

もろもろの認証をLDAPにする with OpenDJ

Apacheの基本認証(Subversion用)とredmineとjenkinsの認証をLDAPにする。
他にも増えそうだし、バラで管理するのは面倒なので。
LDAPサーバはOpenDJを選択。
以前OpenAM(OpenSSO)をいじったことがあって、あれはOpenDJ(OpenDS)がセットなので何となく慣れがあるような気がしたが、気がしただけだった。

1. OpenDJのインストール

  • OpenDJをgetしてunzip
# wget http://download.forgerock.org/downloads/opendj/2.5.0-Xpress1/OpenDJ-2.5.0-Xpress1.zip
# unzip OpenDJ-2.5.0-Xpress1.zip
  • 出来たディレクトリに移動してセットアップ
# ./setup --cli (← CUIでのセットアップはこのオプション)
  • 初期ルートユーザー DN
  • パスワード
  • 自己署名証明書の生成に使用される完全修飾ホスト名または IP アドレス
  • ポート(デフォルト:389)
  • 管理コネクタのポート(デフォルト:4444)
  • ベースDN
  • SSLを有効にするかどうか
  • LDAPSのポート
  • Start TLSを有効にするかどうか
  • 証明書サーバーのオプション:
を答えて出来上がり。
  • OS起動時に起動されるように設定
# /openDJをインストールしたディレクトリ/bin/create-rc-script --outputfile /etc/init.d/opendj
# chkconfig opendj on

2. LDAPにユーザ登録

  • WindowsにOpenDJをインストール(展開しただけ)して、コントロールパネルを使って登録。
  • LDAP検索用ユーザも作る
  • jenkinsの管理者ユーザも作る

3. Apacheの基本認証(Subversion用)

  • こんな感じ。
AuthType Basic
AuthName "なんか名前"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off  #ldapがダメでもほかの認証に行かない
AuthLDAPURL ldap://hostname/ou=people,dc=foo,dc=bar?uid
AuthLDAPBindDN "cn=LDAP,ou=people,dc=foo,dc=bar"
AuthLDAPBindPassword "yourpassword"
Require valid-user

4. redmineのLDAP認証設定

  • 管理ユーザでログインして、設定 > LDAP認証 で "新しい認証方式”を登録。設定例は↓↓↓こんな感じ。
名称:ONE STEP BEYOND
ホスト:hostname
ポート:389
アカウント:cn=LDAP,ou=people,dc=foo,dc=bar
パスワード:*********
検索範囲:ou=people,dc=foo,dc=bar
LDAPフィルタ:
ログイン:uid
名前:givenName
苗字:sn
メールアドレス:mail
  • LDAP認証したいユーザの”認証方式”をLDAP認証で作ったものに変更。

5. jenkinsのLDAP認証設定

  • 管理ユーザでログインする。
  •  jenkinsの管理 > システムの設定 で アクセス制御-ユーザ情報のラジオボタンで"LDAP"を選択。
  • ”高度な設定”ボタンを押して、LDAPの情報を登録。
サーバー:hostname
root DN:dc=foo,dc=bar
未指定を許可(チェックボックス):チェックしない
User search base:oc=people
User search filter:uid={0}
Group search base:
管理者のDN:cn=LDAP検索ユーザ,ou=people,dc=foo,dc=bar
管理者のパスワード:*********
  • jenkinsはユーザごとに認証方式を選択できないので、設定を登録したらログアウトしないで別のブラウザでログイン可能かどうか確認する。

6.pam

sshでしか入らないので、OSの認証ってsuぐらいしか使わない。ということはほぼ使わない。
というわけで今回はやめ。

No comments:

Post a Comment