Kerberos ktutil, quels types de cryptage sont disponibles?


9

J'essaye de faire un keytab en utilisant ktutil. Je peux choisir le type de cryptage, mais la ktutilpage de manuel ne propose pas de liste de choix possibles. Je ne sais pas non plus quelle méthode de cryptage est la meilleure! Comment puis-je trouver les deux? Je veux le cryptage le plus puissant disponible.

$ ktutil
> add_entry -password -p me@DOMAIN.COM -k 1 -e [what goes here?!]

Réponses:


8

La solution ktutil fournie par 84104 est correcte si vous essayez de créer un fichier de clés pour un service. C'est une idée terrible pour un keytab que vous souhaitez utiliser pour un processus automatisé car il randomisera le mot de passe et rendra le compte inutilisable sans le keytab.

Si vous utilisez le keytab comme magasin de mots de passe pour alimenter kinit afin d'automatiser un processus, je vous suggère d'utiliser le type de code que vous obtenez lorsque vous exécutez kinit à l'aide d'un mot de passe.

klist -e

va énumérer un tas de trucs la ligne que vous voulez est celle-ci. Utilisez l'etype répertorié avec ktutil.

    Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96

Soyez averti, cette utilisation de ktutil est exactement la même chose que le stockage de votre mot de passe dans un fichier texte clair, quiconque peut lire le fichier de clés peut usurper votre identité sur le système. Ces commandes sont également la version MIT, heimdal ktutil et klist sont quelque peu différents (Heimdal est la version kerberos utilisée sur les versions récentes d'OS X).


1
Et bien que vous souhaitiez utiliser le cryptage le plus puissant, assurez-vous que vous utilisez uniquement un cryptage aussi puissant que votre serveur Kerberos le prend en charge et qu'il est configuré pour accepter.
Ryan Bolger

3

Ne l'utilisez ktutilque si vous essayez de créer un keytab à partir d'un keytab existant. Utilisez kadminplutôt.

# kadmin -p user/admin
Password for user/admin@EXAMPLE.COM:
kadmin: add_principal -randkey service/server.example.com
WARNING: no policy specified for service/server.example.com@EXAMPLE.COM; defaulting to no policy
Principal "service/server.example.com@EXAMPLE.COM" created.
kadmin:  ktadd -k /etc/service/service.keytab service/server.example.com
Entry for principal service/server.example.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab
Entry for principal service/server.example.com with kvno 2, encryption type camellia256-cts-cmac added to keytab
kadmin: quit

En fonction de votre kdc, kdc.confvous pouvez vous retrouver avec un cryptage différent: les types de sel. La liste par défaut est:

aes256-cts-hmac-sha1-96:normal
aes128-cts-hmac-sha1-96:normal
des3-cbc-sha1:normal
arc‐four-hmac-md5:normal

Vous pouvez également limiter (ou développer) les enctypes utilisés dans le keytab lors de sa création en utilisant -eet en spécifiant les types souhaités.


Si vous essayez de créer un keytab à partir d'un keytab existant:

# kutil
ktutil: read_kt /etc/krb5.keytab
ktutil:  l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    6   host/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   2    6   host/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
   3    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   4    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: delete_entry 1
ktutil:  l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    6   host/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
   2    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   3    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: delete_entry 1
ktutil:  l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   2    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: write_kt /etc/httpd/http.keytab
ktutil: quit
# klist -ke /etc/httpd/http.keytab
Keytab name: FILE:/etc/httpd/http.keytab
KVNO Principal
---- ---------------------------------------------------------------------
    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)

3
Je m'authentifie sur un serveur Windows Active Directory et l'utilisation de kadmin n'est pas une possibilité.
Dylan Klomparens

"N'utilisez ktutil que si vous essayez de créer un keytab à partir d'un keytab existant. Utilisez plutôt kadmin." - pourriez-vous préciser pourquoi? Est-ce juste pour s'assurer que les noms de principe sont également créés?
Samuel Harmer

@ Styne666 L'espace clé de -randkey est supérieur à l'espace clé de toutes les clés de type.
84104
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.