Kerberos-Benutzerauthentifizierung in Apache
-
09-06-2019 - |
Frage
Kann jemand einige wirklich gute Ressourcen empfehlen, wie man Apache dazu bringt, Benutzer mit Kerberos zu authentifizieren?
Hintergrundinformationen zu Kerberos wären ebenfalls hilfreich
Danke
Peter
Lösung
mod_auth_kerb ist ein guter Anfang: http://modauthkerb.sourceforge.net/.Wenn Sie Active Directory-Unterstützung benötigen, schauen Sie hier: http://support.microsoft.com/?id=555092.
Andere Tipps
Ich fand mod_auth_spnego auch ganz in Ordnung, da es SSPI unter Windows verwenden kann, anstatt MIT Kerberos zu erfordern. mod_spnego
Hier ist ein Beispiel mit Active Directory als KDC:http://oslabs.mikro-net.com/krb_apache.html
Mir hat dieser Artikel über die Konfiguration von Apache für die Verwendung von Kerberos gefallen:
http://www.roguelynn.com/words/apache-kerberos-for-django/
(Sie können Teile über Django überspringen, wenn Sie kein Interesse haben)
BEARBEITEN:
Vollständige Antwort
Es ist ziemlich einfach, Apache für die Verwendung der Kerberos-Authentifizierung zu konfigurieren.
Ich gehe davon aus, dass Sie Kerberos auf Ihrem Computer korrekt konfiguriert haben.
1) Ihr Webserver muss über Keytab [1] verfügen.
Fazit: Ihr Webserver hat um den Keytab lesen zu können!
2) Sie müssen über das richtige httpd-Modul zur Authentifizierung verfügen – mod_auth_kerb
:
LoadModule auth_kerb_module modules/mod_auth_kerb.so
3) Dann müssen Sie Apache von Kerberos erzählen:
<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>
Dann leitet Apache den Benutzer über an Ihre App weiter REMOTE_USER
HTTP-Header.
Und das ist es.
Ich empfehle Ihnen außerdem, während des Setups die Debugging-Protokollierung in Apache zu aktivieren.Stellen Sie sicher, dass Sie die richtige Zeit haben und httpd Keytab lesen kann, das ist alles.
[1] http://kb.iu.edu/data/aumh.html
[2] Hauptressource: http://www.roguelynn.com/words/apache-kerberos-for-django/