KB 2783 : ASSURER LE BON FONCTIONNEMENT DE L’AUTHENTIFICATION KERBEROS

Publié le 28 novembre 2023

Les points à vérifier pour mettre en oeuvre l’authentification Kerberos et s’assurer de son bon fonctionnement.

Le module Proxy Olfeo est compatible avec l’authentification transparente Kerberos grâce à une intégration des équipements Olfeo avec l’environnement Microsoft Windows Active Directory.

Voici différents prérequis et points à vérifier pour s’assurer du bon fonctionnement de ce mode d’authentification.

Prérequis

  1. Le poste client doit être joint au domaine MS Windows Active Directory de l’entreprise.
  2. L’utilisateur doit ouvrir une session à l’aide de son compte et de son mot de passe défini dans l’annuaire de l’entreprise.
  3. L’équipement Olfeo (la machine maitre dans un domaine Olfeo) doit avoir synchronisé le ou les annuaires Active Directory contenant les utilisateurs : https://support.olfeo.com/sites/olfeo/files/support/v640/fr/user_guide/webhelp/index.html#Guide_utilisateur/topics/annuaire_ajouter.html
  4. L’équipement Olfeo en charge de réaliser l’authentification (une machine maitre ou esclave dans un domaine Olfeo) doit être joint au domaine MS Windows Active Directory. Cette jonction doit avoir été réalisée depuis l’interface d’administration web : https://support.olfeo.com/sites/olfeo/files/support/v640/fr/user_guide/webhelp/index.html#Guide_utilisateur/topics/annuaire_AD_joindre_domaine.html
  5. Le mode d’authentification Kerberos correspondant doit avoir été configuré dans les paramètres du proxy. Selon la version d’Olfeo, attention à bien sélectionner le type d’authentification approprié :
  6. Le mode d’intégration doit être de type Proxy Explicite, dans ce mode les navigateurs des postes clients sont directement configurés pour accéder à Internet via un proxy.
  7. L’adresse du proxy (ou du répartiteur de charge) doit être renseignée au format FQDN dans les paramètres du navigateur ou du script de proxy, et non pas sous la forme d’une adresse IP :

Vérifications

  1. Vérifier la présence du fichier HTTP.keytab dans le répertoire du proxy /etc/squid/ :

    En cas d’absence de ce fichier, relancer la jonction au domaine MS Windows Active Directory depuis l’interface d’administration web. Si cette opération se solde par un message d’erreur, réalisez-là en ligne de commande afin d’avoir davantage d’informations sur les raisons de cet échec :

    olfeo-join-ad-domain.py [–timeout=TIMEOUT] [–retry=RETRY] DOMAIN NTP_SERVER

    Exemple :

  2. Afficher la liste des clés avec l’horodatage de chaque entrée contenue dans le fichier /etc/squid/HTTP.keytab :

    klist -kt /etc/squid/HTTP.keytab

    Exemple :

    Le FQDN renseigné en tant qu’adresse du proxy (ou dans le script de proxy) doit correspondre avec les résultats affichés. Dans une infrastructure proxy Olfeo avec haute disponibilité / répartition des charges, il est nécessaire d’effectuer des opérations sur le fichier keytab : https://www.olfeo.com/fr/base-de-connaissances/kerberos-ha-lb

  3. Vérifiez que le port TCP/UDP88 est bien ouvert entre les équipements Olfeo et les DC. Faire un scan TCP SYN + un scan UDP :

    nmap -sS -sU ip_du_serveur

    Exemple :

  4. Le fichier /opt/olfeo/proxy/data/log/cache.log doit mentionner le démarrage du module d’authentification Kerberos ‘negotiate_kerberos_auth’.  :
  5. Dans le cas contraire, redémarrer le service du proxy :
    service squid restart
  6. Utiliser l’outil squidclient pour visualiser les statistiques liées aux authentification de type negotiate (Kerberos) :
    squidclient -h localhost -p 3129 mgr:negotiateauthenticator

    Exemple :

    A noter que pour un bon fonctionnement de l’outil le fichier /etc/hosts doit être correctement renseigné avec les lignes relatives à IPv6 commentées :

  7. Vérifiez les enregistrements SPN depuis les contrôleurs de domaine. Assurez-vous que les machines Olfeo puissent rendre les services HOST et HTTP via authentification Kerberos sur vos contrôleurs de domaine. Pour cela, vous pouvez exécuter les commandes ci-dessous sur vos DC en powershell.

    Lister les SPN (Service Principal Names) :
    setspn -L nom_machine_olfeo
    setspn -L DOMAINE\compte_jonction_domaine_AD

  8. Réaliser une capture réseau depuis l’équipement Olfeo :
    tcpdump -ni any -s0 -w /tmp/olfeokrb.pcap