Authentification utilisateur Kerberos dans Apache
-
09-06-2019 - |
Question
Quelqu'un peut-il recommander de très bonnes ressources sur la façon d'authentifier les utilisateurs Apache avec Kerberos.
Une lecture de fond sur Kerberos serait également utile
Merci
Pierre
La solution
mod_auth_kerb est un bon début : http://modauthkerb.sourceforge.net/.Si vous avez besoin de la prise en charge d'Active Directory, regardez ici : http://support.microsoft.com/?id=555092.
Autres conseils
J'ai trouvé mod_auth_spnego également très bien, car il peut utiliser SSPI sur Windows au lieu de nécessiter MIT Kerberos. mod_spnego
Voici un exemple utilisant Active Directory comme KDC :http://oslabs.mikro-net.com/krb_apache.html
J'ai aimé cet article sur la configuration d'Apache pour utiliser Kerberos :
http://www.roguelynn.com/words/apache-kerberos-for-django/
(vous pouvez sauter des parties sur Django si vous n'êtes pas intéressé)
MODIFIER:
Réponse complète
Il est assez simple de configurer Apache pour utiliser l'authentification Kerberos.
Je suppose que vous avez correctement configuré Kerberos sur votre machine.
1) Votre serveur Web doit avoir keytab [1].
En fin de compte, votre serveur Web a pour pouvoir lire le keytab !
2) Vous devez disposer du module httpd approprié pour l'authentification -- mod_auth_kerb
:
LoadModule auth_kerb_module modules/mod_auth_kerb.so
3) Ensuite, vous devez parler de Kerberos à Apache :
<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>
Ensuite, Apache transmettra l'utilisateur à votre application via REMOTE_USER
En-tête HTTP.
Et c'est tout.
Je vous conseille également d'activer la journalisation du débogage dans Apache lors de l'installation.Assurez-vous que vous avez l'heure correcte et que httpd peut lire le keytab, c'est tout.
[1] http://kb.iu.edu/data/aumh.html
[2] Ressource principale : http://www.roguelynn.com/words/apache-kerberos-for-django/