FreeBSD 14
Sponsored Link

Apache httpd : Kerberos 認証2024/01/31

 

ある特定のページに対してアクセス制限をかけ、認証には Windows Active Directory のユーザーを利用します。

ローカルネットワーク内に Windows Active Directory Domain Service が稼働していることが前提です。
当例では、以下のような Active Directory ドメイン環境で設定します。

ドメインサーバー : Windows Server 2022
ドメイン名 : srv.world
ホスト名 : fd3s.srv.world
NetBIOS 名 : FD3S01
レルム : SRV.WORLD
[1]

こちらを参考に SSL/TLS の設定をしておきます

[2] 例として [/usr/local/www/apache24/data/auth-kerberos] ディレクトリ配下を認証対象として設定します。
root@www:~ #
pkg install -y ap24-mod_auth_kerb2 krb5
root@www:~ #
vi /etc/krb5.conf
# 新規作成

[libdefaults]
    default_realm = SRV.WORLD

[realms]
    SRV.WORLD = {
      kdc = fd3s.srv.world
      admin_server = fd3s.srv.world
    }

root@www:~ #
vi /usr/local/etc/apache24/Includes/auth-kerberos.conf
# 新規作成

<Directory /usr/local/www/apache24/data/auth-kerberos>
    SSLRequireSSL
    AuthType Kerberos
    AuthName "Kerberos Authntication"
    KrbAuthRealms SRV.WORLD
    KrbMethodNegotiate Off
    KrbSaveCredentials Off
    KrbVerifyKDC Off
    Require valid-user
</Directory>

root@www:~ #
vi /usr/local/etc/apache24/httpd.conf
# 184行目 : コメント解除

LoadModule auth_kerb_module libexec/apache24/mod_auth_kerb.so
root@www:~ #
service apache24 reload
# テストページ作成

root@www:~ #
mkdir /usr/local/www/apache24/data/auth-kerberos

root@www:~ #
vi /usr/local/www/apache24/data/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>
[3] 任意のクライアントコンピューターで Web ブラウザーを起動し、作成したテストページにアクセスします。すると設定通り認証を求められるので、Active Directory に登録してあるユーザーで認証します。
[4] 認証が成功してテストページにアクセスできれば OK です。
関連コンテンツ