Création du fichier keytab pour le service Squid

13 décembre 2023

ID 166438

Vous pouvez utiliser un seul compte pour vous authentifier auprès de tous les nœuds de cluster. Il faut créer pour cela un fichier keytab contenant les noms du sujet-service (ci-après « SPN ») pour chacun de ces nœuds. Lors de la création d'un fichier keytab, vous devrez utiliser un attribut pour générer le sel (salt, modificateur d'entrée de la fonction de hachage).

Le sel généré doit être sauvegardé de n'importe quelle manière pratique pour l'ajout ultérieur de nouveaux SPN au fichier keytab.

Vous pouvez également créer un compte Active Directory distinct pour chaque nœud de cluster pour lequel vous souhaitez configurer l'authentification Kerberos.

Le fichier keytab est créé sur un serveur du contrôleur de domaine ou sur un ordinateur Windows Server joint à un domaine sous un compte disposant de privilèges d'administrateur du domaine.

Pour créer un fichier keytab pour le service Squid à l'aide d'un seul compte, procédez comme suit :

  1. Dans le module logiciel enfichable Active Directory Users and Computers, créez un compte pour l'utilisateur (par exemple, sous le nom squid-user).
  2. Pour utiliser l'algorithme de chiffrement AES256-SHA1, procédez comme suit dans le module logiciel enfichable Active Directory Users and Computers :
    1. Ouvrez les propriétés du compte utilisateur créé.
    2. Sous l'onglet Account, cochez la case This account supports Kerberos AES 256 bit encryption.
  3. Créez un fichier keytab pour l'utilisateur squid-user à l'aide de l'utilitaire ktpass. Pour ce faire, saisissez la commande suivante :

    C:\Windows\system32\ktpass.exe -princ HTTP/<nom du serveur avec le service Squid>@<realm nom de domaine Active Directory en majuscules> -mapuser squid-user@<realm nom du domaine Active Directory en majuscules> -crypto AES256- SHA1 - ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <chemin d'accès au fichier>\<nom du fichier>.keytab

    Le nom du serveur avec le service Squid doit être saisi en minuscules (par exemple, proxy.company.com).

    L'utilitaire demande le mot de passe de l'utilisateur squid-user lors de l'exécution de la commande.

    L'enregistrement SPN du nœud maître est ajouté au fichier keytab créé. Le sel généré s'affichera à l'écran : Hashing password with salt "<valeur de hachage>".

  4. Pour chaque nœud de cluster, ajoutez une entrée SPN au fichier keytab. Pour ce faire, exécutez la commande suivante :

    C:\Windows\system32\ktpass.exe -princ HTTP/<nom de domaine complet (FQDN) du nœud>@<realm nom du domaine Active Directory en majuscules> -mapuser squid-user@<realm nom du domaine Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <nom du fichier précédemment créé et chemin d'accès à celui-ci>.keytab -out <chemin d'accès et nouveau nom>.keytab -setupn -setpass -rawsalt "<valeur de hash du sel obtenue en créant le fichier keytab à l'étape 3>"

    L'utilitaire demande le mot de passe de l'utilisateur squid-user lors de l'exécution de la commande.

Le fichier keytab pour le service Squid sera créé. Ce fichier contiendra tous les SPN ajoutés des nœuds du cluster.

Exemple :

Par exemple, vous voulez créer un fichier keytab contenant les noms SPN de 3 nœuds : control-01.test.local, secondary-01.test.local et secondary-02.test.local.

Pour créer le fichier nommé filename1.keytab dans le dossier C:\keytabs\, contenant le SPN du Nœud maître, vous devez exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out C:\keytabs\filename1.keytab

Imaginons que vous ayez reçu le sel "TEST.LOCALHTTPcontrol-01.test.local".

Pour ajouter un autre SPN, vous devez exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Pour ajouter un troisième SPN, vous devez exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Cette opération aura pour résultat la création d'un fichier nommé filename3.keytab, contenant les trois SPN ajoutés.

Pour créer un fichier keytab pour le service Squid à l'aide d'un compte distinct pour chaque nœud, procédez comme suit :

  1. Dans le module logiciel enfichable Active Directory Users and Computers, créez un compte utilisateur distinct pour chaque nœud de cluster (par exemple, des comptes nommés squid-user, squid-user2, squid-user3, etc.).
  2. Pour utiliser l'algorithme de chiffrement AES256-SHA1, procédez comme suit dans le module logiciel enfichable Active Directory Users and Computers :
    1. Ouvrez les propriétés du compte utilisateur créé.
    2. Sous l'onglet Account, cochez la case This account supports Kerberos AES 256 bit encryption.
  3. Créez un fichier keytab pour l'utilisateur squid-user à l'aide de l'utilitaire ktpass. Pour ce faire, saisissez la commande suivante :

    C:\Windows\system32\ktpass.exe -princ HTTP/<nom du serveur avec le service Squid en minuscules>@<realm nom du domaine Active Directory en majuscules> -mapuser control-user@<realm nom du domaine Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <chemin d'accès au fichier>\<nom du fichier>.keytab

    Le nom du serveur avec le service Squid doit être saisi en minuscules (par exemple, proxy.company.com).

    L'utilitaire demande le mot de passe de l'utilisateur squid-user lors de l'exécution de la commande.

    L'enregistrement SPN du nœud maître est ajouté au fichier keytab créé.

  4. Pour chaque nœud de cluster, ajoutez une entrée SPN au fichier keytab. Pour ce faire, exécutez la commande suivante :

    C:\Windows\system32\ktpass.exe -princ HTTP/<om de domaine complet (FQDN) du nœud>@<realm nom du domaine Active Directory en majuscules> -mapuser squid-user2@<realm nom du domaine Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <nom du fichier précédemment créé et chemin d'accès à celui-ci>.keytab -out <chemin d'accès et nouveau nom>.keytab

    L'utilitaire demande le mot de passe de l'utilisateur squid-user2 lors de l'exécution de la commande.

Le fichier keytab pour le service Squid sera créé. Ce fichier contiendra tous les SPN ajoutés des nœuds du cluster.

Exemple :

Par exemple, vous voulez créer un fichier keytab contenant les noms SPN de 3 nœuds : control-01.test.local, secondary-01.test.local et secondary-02.test.local.

Pour créer le fichier nommé filename1.keytab dans le dossier C:\keytabs\, contenant le SPN du Nœud maître, vous devez exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\keytabs\filename1.keytab

Pour ajouter un autre SPN, vous devez exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser squid-user2@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab

Pour ajouter un troisième SPN, vous devez exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser squid-user3@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab

Cette opération aura pour résultat la création d'un fichier nommé filename3.keytab, contenant les trois SPN ajoutés.

Cet article vous a-t-il été utile ?
Que pouvons-nous améliorer ?
Merci de nous faire part de vos commentaires. Vous nous aidez à nous améliorer.
Merci de nous faire part de vos commentaires. Vous nous aidez à nous améliorer.