2月 192013
 

参考リンク以上のことは特に調べていないけど、覚え書き。

モジュール有効化

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

認証設定

    AuthType Basic
    AuthName "auth example"
    AuthBasicProvider ldap
    AuthLDAPUrl "ldap://domaincontroller.domainname.local:3268/DC=domainname,DC=local?sAMAccountName?sub?(objectClass=*)"
    AuthzLDAPAuthoritative Off
    AuthLDAPBindDn "domainuser"
    AuthLDAPBindPassword "password"
    Require valid-user

参考

basedn : 検索の起点となる識別名(DN)を指定します。
attribute : 検索対象の属性です。sAMAccountNameはWindowsのログイン名になります。
scope : 検索する深さを指定します。one(1階層のみ検索)またはsub(下位の階層も検索)です。
filter : 検索のLDAPフィルターです。(objectClass=*)となっているのでツリー上の全てのオブジェクトを検索します。

portをActiveDirectoryのグローバルカタログ(ポート3268)にすれば、basednでOUを指定しなくてもディレクトリ全体が検索範囲になることが分かりました。(グローバルカタログはフォレスト内の全ドメインの全オブジェクトから、ひんぱんに利用する属性のみを抽出したものです。)

Active Directoryでは、標準的な構成の場合認証前に権限のあるユーザで接続をしなければいけません。 そのユーザ名とパスワードをAuthLDAPBindDN、AuthLDAPBindPasswordで指定します。

require valid-user を指定するには、authz_user_moduleのロードとAuthzLDAPAuthoritative Offが必要。
require ldap-userとかならこれらは必要ない。

7月 302012
 
参考
メモ
  • LDAPはport389、LDAPSはport636
  • AD DSには特に何もしないでも普通にLDAPアクセスできる
  • LDAPSアクセスするには証明書の用意が必要
  • DC上にAD CSをインストールすれば自動的に利用できるようになる
    • ただし、障害耐性やメンテを考慮すると、DCをCAとするのは推奨されない
  • 独自の証明書をインストールする場合は、DC上のローカルコンピュータの個人ストアにインストールすればよい
    • 2008以降はNTDSサービスアカウントの個人ストアもサポートされ、そちらが優先される
    • 該当する証明書が複数ある場合、期限が長い証明書が自動的に選択される
      • しかしながら、ややこしいので1つのみにすることが推奨されている
  • 2008以降は証明書の切り替えに再起動は不要となった
  • CA証明書は、Windowsストアへの配布はAD DSを利用して配布することが可能だが、Javaのような独自の証明書ストアを持つアプリケーションは参照してくれないという問題がある