TUTOS.EU

Créer un keytab pour keberos sous Linux

Un fichier keytab permet de stocker de façon sécurisée des mots de passe pour kerberos.

Pour créer ce fichier, comme dit sur itadmintools.com, sous Linux on peut utiliser la commande ktutil.

Il faut créer une ligne par coupe login/compte/chiffrement. C'est ce qui est indiqué sur ibm.com.

 

Et là vous vous dites : comment je connais le chiffrement à utiliser ?

Dans le cas qui m'intéresse, le but est de joindre une machine Linux à un domaine Active Directory. Dans ce cas, itadmintools.com indique qu'Active Directory utilise RC4-HMAC par défaut.

 

Donc voici un exemple de création de keytab : taper

ktutil
addent -password -p monlogin@MON.DOMAINE.FR -k 1 -e RC4-HMAC


wkt /etc/krb5.keytab
q

 

Pour tester ce fichier /etc/krb5.keytab, il faut au préalable avoir un fichier /etc/krb5.conf de configuré.

En voici un exemple :

# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/

[logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

[libdefaults]
    default_realm = MON.DOMAINE.FR
    dns_lookup_realm = false
    #dns_lookup_realm = true
    #dns_lookup_kdc = true

    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    rdns = false
    pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
    spake_preauth_groups = edwards25519
    #dns_canonicalize_hostname = fallback
    dns_canonicalize_hostname = true
    qualify_shortname = ""
    default_ccache_name = KEYRING:persistent:%{uid}
    default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
    default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
    permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
    udp_preference_limit = 0

[realms]

MON.DOMAINE.FR = {
    kdc     =   serveurad01.MON.DOMAINE.FR
    kdc     =   serveurad02.MON.DOMAINE.FR
    admin_server = serveurad01.MON.DOMAINE.FR
}

# EXAMPLE.COM = {
#     kdc = kerberos.example.com
#     admin_server = kerberos.example.com
# }

[domain_realm]
#.MON.DOMAINE.FR = MON.DOMAINE.FR
#MON.DOMAINE.FR = MON.DOMAINE.FR

# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
Lien vers le fichier : cliquez ici Copier le code

Vous pouvez maintenant tenter d'obtenir un ticket kerberos avec votre compte l'outil kinit
Exemple :

kinit monlogin@MON.DOMAINE.FR -k -t /etc/krb5.keytab
Lien vers le fichier : cliquez ici Copier le code

https://guide.ubuntu-fr.org/server/sssd-ad.html indique que l'on peut par la suite voir les tickets kerberos et joindre une machine linux à un domaine ad avec

sudo klist
sudo net ads join -k
Lien vers le fichier : cliquez ici Copier le code

Et nerdonthestreet.com montre une configuration de sssd pour s'authentifier sur un linux avec un compte AD


2