SLES 15
Sponsored Link

Apache2 : Kerberos認証の設定2019/01/25

 
ある特定のページに対してアクセス制限をかけ、認証には Windows Active Directory を利用します。
LAN 内に Windows Active Directory Domain Service が稼働していることが前提です。
ここでは例として、以下のような Active Directory ドメイン環境で設定します。
ドメインサーバー : Windows Server 2016
NetBIOS名 : FD3S01
ドメイン名 : srv.world
レルム : SRV.WORLD
ホスト名 : fd3s.srv.world
[1] 例として [/srv/www/htdocs/auth-kerberos] ディレクトリ配下を認証対象とし、SSL/TLS 通信を要求するように設定します。 よって、事前に SSL/TLS の設定が済んでいることが前提です。
# 事前に必要なモジュールを追加

www:~ #
SUSEConnect -p PackageHub/15/x86_64
www:~ #
zypper -n install apache2-mod_auth_kerb
www:~ #
a2enmod auth_kerb

www:~ #
vi /etc/krb5.conf
# 9行目:コメント解除しレルム名変更

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

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

www:~ #
echo "HTTP/fd3s.srv.world@SRV.WORLD" > /etc/apache2/krb5.keytab
www:~ #
vi /etc/apache2/conf.d/auth_kerberos.conf
# 新規作成

<Directory /srv/www/htdocs/auth-kerberos>
    SSLRequireSSL
    AuthType Kerberos
    AuthName "Kerberos Authntication"
    KrbAuthRealms SRV.WORLD
    Krb5Keytab /etc/apache2/krb5.keytab
    KrbMethodNegotiate Off
    KrbSaveCredentials Off
    KrbVerifyKDC Off
    Require valid-user
</Directory>

www:~ #
systemctl restart apache2
# テストページ作成

www:~ #
mkdir /srv/www/htdocs/auth-kerberos

www:~ #
vi /srv/www/htdocs/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>
[2] クライアントPC で Web ブラウザを起動し、作成したテストページにアクセスします。 すると設定通り認証を求められるので、Active Directory に登録してあるユーザーで認証します。
[3] アクセスできました。
関連コンテンツ