SOFTELメモ

</> 技術者募集

【Apache】LDAP連携のベーシック認証

問題

LDAP(ActiveDirectory)連携のベーシック認証ってできますか?

答え

httpd.conf か .htaccess にちょっと設定を書くだけでできる。簡単。

● LDAPのみ

AuthName "User/Password"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldaps://ldap.example.jp/ou=staff,dc=example,dc=jp?uid
AuthLDAPBindDN "cn=admin,dc=example,dc=jp"
AuthLDAPBindPassword "bind_password"
require valid-user

● LDAPして、ダメだったときは.htpasswdする場合(ActiveDirectory使用時)

AuthName "Please enter your ID and password"
AuthType Basic
AuthBasicProvider ldap file
AuthLDAPBindAuthoritative on
AuthLDAPUrl "ldap://192.168.xxx.xxx:389/ou=softel,dc=softel,dc=local?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN xxxxxxxx@softel-domain
AuthLDAPBindPassword "xxxxxxxx"
Require ldap-attribute objectClass=person
AuthUserFile /home/www/xxxx/yyyy/.htpasswd
AuthGroupFile /dev/null
Require valid-user

● LDAPして、ダメだったときは.htpasswdするけど社内IPはベーシック認証不要にする場合

AuthName "Please enter your ID and password"
AuthType Basic
AuthBasicProvider ldap file
AuthLDAPBindAuthoritative on
AuthLDAPUrl "ldap://192.168.xxx.xxx:389/ou=softel,dc=softel,dc=local?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN xxxxxxxx@softel-domain
AuthLDAPBindPassword "xxxxxxxx"
Require ldap-attribute objectClass=person
AuthUserFile /home/www/xxxx/yyyy/.htpasswd
AuthGroupFile /dev/null
Require valid-user
Satisfy Any
Order Allow,Deny
Allow from 123.456.789.000

● ユーザーが入力したID、パスワードでbindする方式もあるらしい

省略

以下のモジュールが有効なこと。

LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

他に使える設定項目。

LDAPVerifyServerCert Off   #オレオレ証明書でエラーにしない
LDAPOpCacheTTL 600         #LDAP問い合わせをキャッシュする

関連するメモ

コメント