Basic認証の危険性とLDAP化の概要
多くの読者の皆さんがご存じのように,
たとえば,
リスト1 .htaccessやhttpd.
AuthUserFile /home/passwd/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret Area"
AuthType Basic
require valid-user
リスト2 /home/
tanaka:vDVcobip.AMqE
suzuki:T8QexllcwF2Jc
この方式ではhtpasswdコマンドなどを用いて暗号化されたパスワードを作成し,
それから数年を経て,
近年では管理者のセキュリティ意識も高まってきたため,
もうパスワードの置き場所について悩むことはありません。当然検索エンジンでパスワードファイルを拾われることはありませんし,
Apacheのインストール
ApacheでLDAPに対応したBasic認証を実現するためには,
Apache-2.
なお,
混乱しがちなのでまとめておきますと,
--with-ldap | LDAP対応apr-util作成のため |
--enable-authnz-ldap=shared | mod_ |
--enable-ldap=shared | mod_ |
図1 LDAP認証に対応したApacheインストール
% ./configure --with-ldap --enable-authnz-ldap=shared --enable-ldap=shared % make # make install
設定
今回は,
アクセスログ解析データは
/home/
以下に存在するとして,
http://
にて認証を要求した上で参照できるものとします。suzukiというユーザはhttp://
LDAP URL
今回の設定ではLDAP URLというLDAP特有のURLが登場します。たとえば本稿も掲載されている技術評論社のポータルサイトのアドレスは次のように表すことができます。
http://
つまり,
リスト3 LDAP URLの用例
scheme "://" [hostport] ["/"
[dn ["?" [attributes] ["?" [scope]
["?" [filter] ["?" extensions]]]]]]
例を挙げた方がわかりやすいですね。
ldap://10.0.100.10/ou=People,dc=example,dc=com?cn?sub?(serviceType=1)
というURLであれば,
ldapsearch -x -s sub -b "ou=People,dc=example,dc=com" "(serviceType=1)" cn
LDAPに対応したソフトウェアの設定では,