CentOS 6
Sponsored Link

Kerberos認証を利用する
2014/08/25
 
ある特定のページに対してアクセス制限をかけ、認証には Windows Active Directory を利用します。通信は SSL を要求するように設定します。
LAN 内に Windows Active Directory Domain Service が稼働していることが前提です。
ここでは例として、以下のような Active Directory ドメイン環境で設定します。
ドメインサーバー : Windows Server 2012 R2
ドメイン名 : FD3S01
レルム : SRV.WORLD
ホスト名 : fd3s.srv.world
[1]
[2] 例として [/var/www/html/auth-kerberos] ディレクトリ配下を認証対象として設定します。
[root@www ~]#
yum -y install mod_auth_kerb
[root@www ~]#
vi /etc/krb5.conf
# 7行目:レルム名に変更

default_realm =
SRV.WORLD
# [realms] の下へ追記

[realms]
 SRV.WORLD = {
  kdc = fd3s.srv.world
  admin_server = fd3s.srv.world
 }
# [domain_realm] の下へ追記

[domain_realm]
 .srv.world = SRV.WORLD
 srv.world = SRV.WORLD
# keytab 作成 : HTTP/[ADのホスト名またはIPアドレス]@[レルム名]

[root@www ~]#
echo "HTTP/fd3s.srv.world@SRV.WORLD" > /etc/httpd/conf.d/krb5.keytab
[root@www ~]#
vi /etc/httpd/conf.d/auth_kerb.conf
# 最終行に追記

<Directory /var/www/html/auth-kerberos>
    SSLRequireSSL
    AuthType Kerberos
    AuthName "Kerberos Authntication"
    KrbAuthRealms SRV.WORLD
    Krb5Keytab /etc/httpd/conf.d/krb5.keytab
    KrbMethodNegotiate Off
    KrbSaveCredentials Off
    KrbVerifyKDC Off
    Require valid-user
</Directory>

# テストページ作成

[root@www ~]#
mkdir /var/www/html/auth-kerberos

[root@www ~]#
vi /var/www/html/auth-kerberos/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Test Page for Kerberos Auth
</div>
</body>
</html>

[root@www ~]#
/etc/rc.d/init.d/httpd restart

Stopping httpd:     [  OK  ]
Starting httpd:     [  OK  ]
[3] クライアントPC で Web ブラウザを起動し、作成したテストページにアクセスします。すると設定通り認証を求められるので、Active Directory に登録してあるユーザーで認証します。
[4] アクセスできました。
 
Tweet