Création d'un fichier keytab

21 novembre 2023

ID 206091

Vous pouvez utiliser un compte utilisateur pour l'authentification sur tous les nœuds du cluster. Pour ce faire, il faut créer un fichier keytab qui contient les noms principaux de service (ci-après « SPN ») pour chacun de ces nœuds. Lors de la création d'un fichier keytab, il faudra utiliser l'attribut de génération du sel (salt, modificateur d'entrée de fonction de hachage).

Le sel généré doit être sauvegardé de la manière la plus pratique pour ajouter de nouveaux SPN au fichier keytab.

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

Le fichier keytab est créé sur le serveur du contrôleur de domaine ou sur l'ordinateur tournant sous Windows Server dans le domaine, sous un compte utilisateur doté des autorisations d'administrateur de domaine.

Pour créer un fichier keytab en utilisant un compte :

  1. Dans le composant logiciel enfichable Active Directory Users and Computers, créez un compte utilisateur (par exemple, avec le nom control-user).
  2. Si vous souhaitez utiliser l'algorithme de chiffrement AES256-SHA1, procédez comme suit dans le composant 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 control-user à l'aide de l'utilitaire ktpass. Pour ce faire, saisissez la commande suivante :

    C:\Windows\system32\ktpass.exe -princ HTTP/<nom de domaine complet (FQDN) du nœud principal>@<nom de domaine realm Active Directory en majuscules> -mapuser control-user@< nom de domaine realm Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <chemin d'accès au fichier>\<nom du fichier>.keytab

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

    Le SPN du Nœud primaire est ajouté au fichier keytab créé. L'écran affichera le sel généré : Hashing password with salt "<valeur de hash>".

  4. Pour chaque nœud du cluster, ajoutez l'enregistrement 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 de domaine Active Directory en majuscule> -mapuser control-user@<realm nom de domaine Active Directory en majuscule> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <chemin d'accès et nom du fichier créé auparavant>.keytab -out <chemin d'accès et nouveau nom>.keytab -setupn -setpass -rawsalt "<valeur de hash du sel obtenue lors de la création du fichier keytab à l'étape 3>"

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

Le fichier keytab sera créé. Ce fichier contient tous les SPN des nœuds du cluster.

Exemple :

Par exemple, vous devez 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 dans le dossier C:\keytabs\ un fichier portant le nom filename1.keytab et contenant le SPN du Nœud primaire, exécutez la commande :

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

Disons que vous avez du sel "TEST.LOCALHTTPcontrol-01.test.local".

Pour pouvoir ajouter encore un autre SPN, il faut exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser control-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 pouvoir ajouter un troisième SPN, il faut exécuter la commande suivante :

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser control-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"

L'exécution de la commande entraîne la création d'un fichier portant le nom filename3.keytab et contenant tous les trois SPN ajoutés.

Pour créer un fichier keytab à l'aide d'un compte séparé pour chaque nœud :

  1. Dans le composant logiciel enfichable Active Directory Users and Computers, créez un compte utilisateur séparé pour chaque nœud de cluster (par exemple, les comptes portant les noms control-user, secondary1-user, secondary2-user, etc.).
  2. Si vous souhaitez utiliser l'algorithme de chiffrement AES256-SHA1, procédez comme suit dans le composant 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 control-user à l'aide de l'utilitaire ktpass. Pour ce faire, saisissez la commande suivante :

    C:\Windows\system32\ktpass.exe -princ HTTP/<nom de domaine complet (FQDN) du nœud d'administration>@<realm nom de domaine Active Directory en majuscule> -mapuser control-user@<realm nom de domaine Active Directory en majuscule> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <chemin d'accès au fichier>\<nom du fichier>.keytab

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

    Le SPN du Nœud primaire est ajouté au fichier keytab créé.

  4. Pour chaque nœud du cluster, ajoutez l'enregistrement 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 de domaine Active Directory en majuscule> -mapuser secondary1-user@<nom de domaine Active Directory en majuscule> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <chemin d'accès et nom du fichier créé auparavant>.keytab -out <chemin d'accès et nouveau nom>.keytab

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

Le fichier keytab sera créé. Ce fichier contient tous les SPN des nœuds du cluster.

Exemple :

Par exemple, vous devez 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 dans le dossier C:\keytabs\ un fichier portant le nom filename1.keytab et contenant le SPN du Nœud primaire, exécutez la commande :

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

Pour pouvoir ajouter encore un autre SPN, il faut exécuter la commande suivante :

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

Pour pouvoir ajouter un troisième SPN, il faut exécuter la commande suivante :

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

L'exécution de la commande entraîne la création d'un fichier portant le nom filename3.keytab et contenant tous 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.