web-dev-qa-db-fra.com

KeyTab Auth contre Samba 4 DC: Client introuvable dans la base de données Kerberos tout en obtenant des informations d'identification initiales

J'ai configuré un samba 4 Active Directory sur Ubuntu 14.04 suivant samba ad DC howto . En principe, tout fonctionne bien mais je suis coincé dans l'authentification Kerberos en cours d'exécution à l'aide de SPNS pour les applications Web. Quand j'essaie de courir

kinit -k -t keytabfile http/myserver.mycompany.com 

J'ai toujours un

kinit: Client not found in Kerberos database while getting initial credentials

Ce que j'ai déjà vérifié jusqu'à présent:

  • DNS travaille sur les deux côtés vers l'avant et le retour à l'envers des FQNS
  • kinit fonctionne en utilisant le nom d'utilisateur
  • myserver.mycompany.com est renvoyé par Nslookup sur DC et le serveur Web
  • myserver déjà rejoint le domaine et est listé dans
    CN = ordinateurs, dc = mycompany, dc = com
  • il n'y a pas de SPNS Dublicate

J'ai créé le compte de service/SPNS/KeyThabs comme suit:

samba-tool user create $ADS_USER $ADS_PW --userou=$USER_OU
samba-tool user setexpiry --noexpiry $ADS_USER

samba-tool spn add ${SERVICE_TYPE}/${SERVICE_Host}.${MY_DOMAIN} $ADS_USER
samba-tool spn add ${SERVICE_TYPE}/${SERVICE_Host} $ADS_USER

samba-tool spn list $ADS_USER
rm -f $MY_KEYTAB
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_Host}.${MY_DOMAIN}
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_Host}

lorsque vous courez Klist -K -e $ my_keytab tout semble bien:

root@myhost:~# klist -ke ./test.keytab
Keytab name: FILE:./test.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   1 http/[email protected] (des-cbc-crc)
   1 http/[email protected] (des-cbc-md5)
   1 http/[email protected] (arcfour-hmac)
   1 http/[email protected] (des-cbc-crc)
   1 http/[email protected] (des-cbc-md5)
   1 http/[email protected] (arcfour-hmac)

Je suis perdu, recherché plusieurs heures dans Google et je ne sais pas comment travailler/corriger le "client non trouvé dans la base de données Kerberos". Toute astuce est la bienvenue!

Merci

mon "/etc/krb5.conf" sur le client

[libdefaults]
    debug = true
        default_realm = MYCOMPANY.COM
        dns_lookup_realm = false
        dns_lookup_kdc = false
        default_tkt_enctypes = rc4-hmac
        default_tgs_enctypes = rc4-hmac
[realms]
        MYCOMPANY.COM = {
                kdc = dc01.mycompany.com
                admin_server = dc01.mycompany.com
                kpasswd_server = dc01.mycompany.com

                #ktpasswd_server = dc01.mycompany.com
                #admin_server = dc01.mycompany.com
        }
[domain_realm]
        .mycompany.com = MYCOMPANY.COM
        mycompany.com = MYCOMPANY.COM

sur le serveur DC /etc/samba/smb.conf

[global]
        debug level = 1
        syslog = 1
        max log size = 0

        workgroup = MYCOMPANY
        realm = MYCOMPANY.COM
        netbios name = DC01
        server role = Active Directory domain controller
        server string = MYCOMPANY domain controller
        server role check:inhibit = yes
        dns forwarder = 192.168.22.1
        idmap_ldb:use rfc2307 = yes
6
Heiko Robert

Je l'ai finalement eu!

Les

samba-tool spn add ...

ne nomment pas (re) nommer l'UPN comme prévu dans le répertoire. Je l'ai trouvé en comparant avec les entrées des annonces MS. Donc, le travail autour est de modifier la valeur à la main avant d'émettre la commande ExportkeyTab:

  • Ouvrez la saisie de l'utilisateur de service avec un outil LDAP-outil (j'ai utilisé Apache Directory Studio) et
  • trouver l'utilisateur juste créé Modifier "userprincipalname" pour refléter ServicePrinciplename + RealM (dans mon cas http/[email protected])
  • exporter KeyTab et tout fonctionne comme prévu

sur la machine cible

kinit -k -t http/myserver.mycompany.com

travaille sans se plaindre! Espérons que cela aide les autres à essayer de configurer SSO avec Samba4 ...

4
Heiko Robert

Initialement, j'ai eu une erreur en dessous de l'environnement de Redhat Linux.

kinit: client introuvable dans la base de données Kerberos tout en obtenant des informations d'identification initiales

Pendant que j'essayais avec le compte de service ci-dessous, enregistrezdd avec le F_KEY

$ kinit  Host/[email protected]

Et cela m'a incité à fournir le mot de passe et cela a fonctionné!

Je suis capable de générer un fichier de cache "krb5cc_0" Dossier de cache sous/TMP sur le serveur.

Je suis capable de répertorier tous les détails en utilisant la commande 'klist' sur le TGT temporaire.

  1. Commencement valide
  2. Expire
  3. Principal de service
0
user1263984