KB N°2664 : PASSER L’AUTHENTIFICATION DE NTLM VERS KERBEROS

Publié le 10 novembre 2023Modifié le 17 novembre 2023

Comment passer l’authentification proxy de NTLM vers Kerberos.

Objectif

Comment passer l’authentification proxy de NTLM vers Kerberos.

Étapes

Étape 1

La synchronisation du temps entre le client, l’annuaire et Olfeo est essentielle. Il faut vérifier cela.

Étape 2

Sélectionner Kerberos dans les paramètres d’authentification du proxy, à la page Paramétrage > Proxy HTTP > Authentification (ou, si vous n’avez pas la licence proxy Cache QoS, à la page Proxy Cache QoS > Authentification).

Étape 3

Ensuite, il est impératif de quitter le domaine, puis de rejouer la jonction avec l’annuaire.

  1. Pour quitter le domaine, utiliser la commande suivante :# net ads leave -U adminAdmin étant le compte qui a permis de faire la jonction de domaine
  2. Faire la jonction au domaine. Celle-ci doit impérativement être faite via l’interface graphique Olfeo, à la page Paramétrage > Authentification > Joindre le domaine Windows : n’utilisez pas net ads join en ligne de commande.
  3. Ensuite, vérifier le fichier HTTP.keytab avec la commande klist :
    # klist -kt /etc/squid3/HTTP.keytabOn doit voir la/les ligne(s) HTTP/ :
    5 03/17/15 09:37:31 HTTP/olfeo1@SUPPORTOLFEO.LAN

Étape 4

Ne pas oublier de changer les paramètres d’authentification du Squid SSL si besoin.

Validation

Capture de trames lors d’un échange entre un navigateur et Olfeo.

La section NTLM Secure Service Provider (du deuxième GET donc après le 407) indique que le navigateur utilise le NTLM et non Kerberos :

Cache.log de Squid :

2013/04/24 11:03:34| squid_kerb_auth: DEBUG: Got ‘YR TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==’ from squid (length: 59).

2013/04/24 11:03:34| squid_kerb_auth: DEBUG: Decode ‘TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==’ (decoded length: 40).

2013/04/24 11:03:34| squid_kerb_auth: WARNING: received type 1 NTLM token 2013/04/24 11:03:34| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned ‘BH received type 1 NTLM token’

 

Dans cette nouvelle capture, l’authentification Kerberos fonctionne :

La section Single Protection Negotiation (du deuxième GET donc après le 407) indique que le poste client gère 3 types de négociations et que le NTLM est utilisé en dernier.

Cache.log de Squid tronqué :

2013/04/25 11:14:44| squid_kerb_auth: DEBUG: Decode ‘YIIF…………==’ (decoded length: 1303).

Résultat de la commande klist sur un poste client (Windows 7) :

La commande renvoie l’erreur ci-dessous sur Windows XP alors que l’authentification via Kerberos devrait fonctionner :

Il peut alors être nécessaire d’installer le package Support Tools sur le serveur AD Windows Server 2003 et sur le client XP :

Tests à effectuer pour résoudre le problème d’authentification Kerberos

  • Faire une capture de réseau sur le PDC lors d’une ouverture de session du poste client sur le domaine afin de vérifier que le poste client dialogue bien en Kerberos.
  • La solution Olfeo enregistre le SPN lorsqu’elle est jointe au domaine. Vérifier que le SPN est bien positionné dans les machines Olfeo du domaine. Pour lister les SPNs des machines Olfeo, exécuter la commande suivante sur le serveur de domaine Windows :# setspn –L nomdelamachineolfeo