ubuntu-server-10-04:ldap_server
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
ubuntu-server-10-04:ldap_server [2011/05/22 12:03] – [参考] admin | ubuntu-server-10-04:ldap_server [2011/05/22 22:41] (現在) – [Apache2 で LDAP 認証] admin | ||
---|---|---|---|
行 289: | 行 289: | ||
ブラウザでアクセスされるファイルは、 / | ブラウザでアクセスされるファイルは、 / | ||
- | 設定ファイルを変更する。 | + | < |
+ | |||
+ | 設定ファイルを変更する。今回の要件は以下。 | ||
+ | |||
+ | * OpenLDAP と phpLDAPadmin は同じサーバ | ||
+ | * dn: ou=people, | ||
+ | * ユーザは uid と パスワードを指定してログインする | ||
+ | * ログインした後に ou=people, | ||
+ | * ou=people, | ||
+ | * anonymous 認証はさせない | ||
< | < | ||
行 295: | 行 304: | ||
</ | </ | ||
- | + | 以下を変更。 | |
- | <note>"There was a problem with the request." と出て動かなかったが cookie | + | |
+ | |||
+ | * $config-> | ||
+ | * クッキー暗号化用のランダム文字列を設定 | ||
+ | * $servers-> | ||
+ | * サーバの表示名なのでわかりやすいものに変更 | ||
+ | * $servers-> | ||
+ | * サーバのホスト名かIPを指定するが今回は変更なし | ||
+ | * $servers-> | ||
+ | * ou=people, | ||
+ | * # | ||
+ | * dn ではなく uid 指定でログインするのでコメントアウト | ||
+ | * $servers-> | ||
+ | * uid でログインするように設定 | ||
+ | * $servers-> | ||
+ | * ログインで使用するツリーを設定 | ||
+ | * $servers-> | ||
+ | * 認証情報が格納されているクラスを指定 | ||
+ | * 指定しなくても動いたけど一応 | ||
+ | * $servers-> | ||
+ | * anonymous でのログインを無効 | ||
+ | |||
+ | |||
+ | ==== アクセス権を変更 ==== | ||
+ | |||
+ | phpLDAPadmin に uid でログイン可能にするには認証前にツリーを read できるようにしておかなければいけないらしい。ということで、特定IPからであれば認証前に read できるようにアクセス権を変更。 | ||
+ | |||
+ | |||
+ | * cn=admin, | ||
+ | * anonymous で認証はできる | ||
+ | * IPアドレスが 127.0.0.1 の端末からは認証前に read 可能 | ||
+ | * 認証後にユーザは ou=people, | ||
+ | * ログイン後に自身のパスワードを変更可能 | ||
+ | |||
+ | 以下の内容でファイルを作成。 | ||
+ | |||
+ | <file - change_access_control.ldif> | ||
+ | dn: olcDatabase={1}hdb, | ||
+ | changetype: modify | ||
+ | replace: olcAccess | ||
+ | olcAccess: to attrs=userPassword by dn.exact=" | ||
+ | olcAccess: to attrs=shadowLastChange by self write | ||
+ | olcAccess: to dn.subtree=" | ||
+ | olcAccess: to * by dn.exact=" | ||
+ | |||
+ | </ | ||
+ | |||
+ | 作成したファイルを設定する。 | ||
+ | |||
+ | < | ||
+ | $ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f change_access_control.ldif | ||
+ | </ | ||
+ | < | ||
+ | SASL/ | ||
+ | SASL username: gidNumber=0+uidNumber=0, | ||
+ | SASL SSF: 0 | ||
+ | modifying entry " | ||
+ | </ | ||
+ | |||
+ | で完了。 | ||
+ | |||
+ | |||
+ | ===== Apache2 で LDAP 認証 ===== | ||
+ | |||
+ | 構築した LDAP を使って Apache2 で認証してみる。 | ||
+ | |||
+ | まず Apache2 で LDAP 関連のモジュールを有効にする。 | ||
+ | |||
+ | < | ||
+ | $ sudo a2enmod ldap authnz_ldap | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Enabling module ldap. | ||
+ | Considering dependency ldap for authnz_ldap: | ||
+ | Module ldap already enabled | ||
+ | Enabling module authnz_ldap. | ||
+ | Run '/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | $ sudo a2dismod authnz_ldap ldap \\ | ||
+ | authnz_ldap が ldap に依存しているため</ | ||
+ | |||
+ | Apache2 の再起動を促されるので、再起動する。 | ||
+ | |||
+ | < | ||
+ | $ sudo / | ||
+ | </ | ||
+ | |||
+ | LDAP で認証したいディレクトリの Apache2 設定ファイルへ以下を追加。 | ||
+ | |||
+ | < | ||
+ | < | ||
+ | SSLRequireSSL | ||
+ | SSLOptions +StrictRequire | ||
+ | AuthType | ||
+ | AuthBasicProvider ldap | ||
+ | AuthName | ||
+ | AuthLDAPURL | ||
+ | AuthzLDAPAuthoritative off | ||
+ | |||
+ | require valid-user | ||
+ | # order deny, | ||
+ | # deny from all | ||
+ | # Satisfy Any | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | * SSLRequireSSL | ||
+ | * SSLでの接続を強制 | ||
+ | * SSLOptions +StrictRequire | ||
+ | * Satisfy Any よりも SSL 接続の優先度を高くし必ず SSL を使わせる | ||
+ | * AuthType | ||
+ | * 認証タイプ | ||
+ | * AuthBasicProvider ldap | ||
+ | * 認証に LDAP を使用 | ||
+ | * AuthName | ||
+ | * ダイアログに表示されるのでわかりやすい名前をつける | ||
+ | * AuthLDAPURL | ||
+ | * LDAP 認証に使用する URI を指定 | ||
+ | * AuthzLDAPAuthoritative off | ||
+ | * LDAP 以外の認証を使用できなくする | ||
+ | * require valid-user | ||
+ | * 認証済みのユーザのみアクセス可能 | ||
+ | * # order deny, | ||
+ | * # deny from all | ||
+ | * 個別に IP による制限等が必要な場合はここに記述 | ||
+ | * 必要ない場合は必ず order 部分からコメントアウト(しないと SSLOptions +StrictRequire が無効になる) | ||
+ | * Satisfy Any | ||
+ | * require か order を満たせばアクセス可能 | ||
+ | * 必要ない場合は必ずコメントアウト | ||
+ | |||
+ | Apache2 を再起動する。 | ||
+ | |||
+ | <code> | ||
+ | $ sudo /etc/ | ||
+ | </code> | ||
+ | |||
+ | で完了。 | ||
+ | |||
+ | ブラウザでアクセスして動作を確認する。 | ||
===== DB操作コマンド ===== | ===== DB操作コマンド ===== | ||
ubuntu-server-10-04/ldap_server.1306033381.txt.gz · 最終更新: 2011/05/22 12:03 by admin