1.構成について
ドメイン名:foo.local
ドメイン・コントローラ:dom1.foo.local, dom2.foo.local
DNSサーバ:dom1.foo.local, dom2.foo.local
大文字ドメイン名:FOO
Windows Server は 2003 Server 以上を想定して書いている。
これに対し、CentOS で Apache環境を構築し、連帯する
2.必要モジュールのインストール
$ yum install mod_auth_kerb
3.Windows Domain Server 上での作業
ドメインのユーザとして、kerblinux1というアカウントを作成します。このアカウントは、統合認証のためだけに使用されるので、パスワードを入力する事がありません。よって、パスワードは長くして耐久性を持たせるようにします。C:\>ktpass –princ HTTP/linux1.foo.local@FOO.LOCAL –mapuser kerblinux1@FOO.LOCAL -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -pass nagai.nagai.password.wo.sextutei.suru -out e:\USBDISK\linux1.keytabとして、統合認証で必要なアカウントのkeytabファイルを作成します。
4.Kerberos設定
/etc/krb5.confを設定します。[libdefaults] default_realm = FOO.LOCAL dns_lookup_realm = false dns_lookup_kdc = false ticket_life_time = 24h forwardable = yes [domain_realm] foo.local = FOO.LOCAL .foo.local = FOO.LOCAL [realms] # 実験した環境では、dom1.foo.local とURIをフル修飾すると # サーバを正しく認識しなかった。 FOO.LOCAL = { kdc = dom1 kdc = dom2 admin_server = dom1 }手順 3. で作成した linux1.keytab ファイルを /etc/httpd/conf にコピーします。
$ cp /usbdisk/linux1.keytab /etc/httpd/conf/linux1.keytab $ chown apache:apache /etc/httpd/conf/linux1.keytab $ chmod 640 /etc/httpd/conf/linux1.keytab実際にケルベロス認証が通るかチェックを行います。valid_user は、実際の有効なアカウントに置き換えて試します。
$ kinit valid_user@FOO.LOCAL
5.Active DirectoryでのSSPI認証
認証すべきディレクトリに、以下の設定を施します。ここでは、”.htaccess”というファイルを作成し、そこに制約を加える事にします。この他に、httpd.conf のディレクティブとして記述する方法もありますが、基本は変わりません。AuthType Kerberos AuthName "Kerberos Login" KrbAuthRealms FOO.LOCAL KrbServiceName HTTP/linux1.foo.local KrbMethodNegotiate On KrbMethodK5Passwd Off Krb5KeyTab /etc/httpd/conf/linux1.keytab Require valid-userこれで、「統合Windows認証を使用する」設定になっている(IEデフォルトのようです)Internet Explorerからアクセスすると統合認証でアクセスされるようになります。尚、ゾーンがイントラゾーンかどうかの判定には、URL に「.」が含まれているかどうか?が基準となっているようです。よって、本例では、「http://linux1.foo.local/」ではなく「http://linux1/」でアクセスしないとシングルサインオンになりません。
6.認証後のアクセス制限に関して
mod_auth_kerbによる統合認証では、認証が通っても、あくまでActiveDirectoryに認証してもらった正規のユーザ名の情報がセットされるのみです。ウェブ上のシステムでは、このユーザ名をキーとして、権限の制約を別途管理する事になります。参考文献
http://grolmsnet.de/kerbtut/
http://www.dokuwiki.org/auth:ad
追伸:Bloggerプレビューできねぇーぜ、どうやって確認すんねん???くっそー
0 件のコメント:
コメントを投稿