Apache での Kerberos ユーザー認証
-
09-06-2019 - |
質問
Apache で Kerberos を使用してユーザーを認証する方法について、本当に優れたリソースを誰かお勧めできますか。
Kerberos のバックグラウンド読み取りも役立ちます
ありがとう
ピーター
解決
mod_auth_kerb は良いスタートです。 http://modauthkerb.sourceforge.net/. 。Active Directory サポートが必要な場合は、ここを参照してください。 http://support.microsoft.com/?id=555092.
他のヒント
mod_auth_spnego も、MIT Kerberos を必要とする代わりに Windows 上で SSPI を使用できるので、まったく問題ないことがわかりました。 mod_spnego
Active Directory を KDC として使用する例を次に示します。http://oslabs.mikro-net.com/krb_apache.html
Kerberos を使用するための Apache の構成に関するこの記事が気に入りました。
http://www.roguelynn.com/words/apache-kerberos-for-django/
(興味がない場合は、Django に関する部分は飛ばしても構いません)
編集:
本格的な答え
Kerberos 認証を使用するように Apache を設定するのは非常に簡単です。
マシン上で Kerberos が正しく構成されていると仮定します。
1) ウェブサーバーには keytab [1] が必要です。
要するに、ウェブサーバーです もっている キータブを読めるようになりました!
2) 認証には適切な httpd モジュールが必要です -- mod_auth_kerb
:
LoadModule auth_kerb_module modules/mod_auth_kerb.so
3) 次に、Apache に Kerberos について通知する必要があります。
<Location />
AuthName "Kerberos Authentication -- this will be showed to users via BasicAuth"
AuthType Kerberos
KrbMethodNegotiate On
KrbMethodK5Passwd Off
# this is the principal from your keytab (you may lose the FQDN part)
KrbServiceName HTTP/$FQDN
KrbAuthRealms KERBEROS_DOMAIN
Krb5KeyTab /path/to/http.keytab
Require valid-user
Order Deny,Allow
Deny from all
</Location>
次に、Apache はユーザーをアプリに渡します。 REMOTE_USER
HTTPヘッダー。
以上です。
また、セットアップ中に Apache でのデバッグ ログをオンにすることをお勧めします。時刻が正しいことと、httpd が keytab を読み取ることができることを確認するだけです。
[1] http://kb.iu.edu/data/aumh.html
[2] 主なリソース: http://www.roguelynn.com/words/apache-kerberos-for-django/