IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

[RHEL 6.6] Pb Kerberos/Apache avec mon AD windows


Sujet :

Administration système

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut [RHEL 6.6] Pb Kerberos/Apache avec mon AD windows
    Bonjour,

    après plusieurs jours de recherche et de différents tests, je me tourne vers vous pour tenter de trouver une solution à mon problème. (NB : c'est pour ma collectivité et non à des fins personnelles)

    J'ai suivi ce tutorial pour faire mes différentes configurations mais sans succès.
    J'ai un serveur Web avec client Kerberos (evf1) sur mon LAN et un cluster de DC dont un noeud en 2008 R2 sur lequel je fais mes manips (ktpass en particulier), je le nommerai DC2008. Je noterai mon REALM C.I et mon DOMAINE CI. Je ne parlerai pas de la conf Apache pour le moment car dès les tests Kerberos ça foire.

    Pré-requis :
    - je dispose d'un cluster de DC dont un en 2008 R2, sur celui-ci j'ai créé le compte krb5-ezv
    - je dispose d'un serveur Red Hat 6.6 sur lequel un client Kerberos et Apache sont installés
    - evf1 est bien renseigné dans le DNS avec également l'entrée inverse (PTR)
    - le service ntpd d'evf1 fait correctement son travail, l'horloge est bien à l'heure

    Installation :
    - côté DC2008, ras, les tools existent déjà
    - côté evf1, les packages nécessaires sont bien installés (y compris le module mod-auth-kerb)

    Configuration :
    - Génération de la clé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    C:\Users\admin>ktpass -princ HTTP/evf1.c.i@C.I -crypto DES-CBC-MD5 -ptype KRB5_NT_PRINCIPAL -mapuser krb5-ezv -pass password -out c:\temp\krb5.keytab
    Targeting domain controller: DC2008.c.i
    Successfully mapped HTTP/evf1.c.i to krb5-ezv.
    Password succesfully set!
    Key created.
    Output keytab to c:\temp\krb5.keytab:
    Keytab version: 0x502
    keysize 66 HTTP/evf1.c.i@C.I ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-CBC-MD5) keylength 8 (0x31df265162983e37)
     
    C:\Users\admin>setspn -L krb5-ezv
    Noms ServicePrincipalName inscrits pour CN=krb5-ezv,CN=Users,DC=c,DC=i:
            HTTP/evf1.c.i
    - Copie du fichier et modification des droits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chown apache:root /etc/krb5.keytab
    chmod 640 /etc/krb5.keytab
    - /etc/resolv.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@evf1 ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    search c.i
    nameserver XXX.XXX.XXX.XXX
    [root@evf1 ~]# nslookup evf1
    Server:         XXX.X.XXX.X
    Address:        XXX.X.XXX.X#53
     
    Name:   evf1.c.i
    Address: YY.YYY.Y.YY
    - /etc/krb5.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    [libdefaults]
            default_realm = C.I
            ticket_lifetime = 24000
            default_keytab_name = FILE:/etc/krb5.keytab
            dns_lookup_realm = true
            dns_lookup_kdc = false
     
     
    [realms]
            C.I = {
                    kdc = DC2008
                    admin_server = DC2008
            }
     
    [domain_realm]
            .c.i = C.I
            c.i = C.I
     
    [appdefaults]
            pam = {
                    debug = false
                    ticket_lifetime = 36000
                    renew_lifetime = 36000
                    forwardable = true
                    krb4_convert = false
            }
    - Validation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [root@evf1 ~]# kinit krb5-ezv@C.I
    Password for krb5@C.I:
    [root@evf1 ~]# klist
    Ticket cache: FILE:/tmp/krb5cc_0
    Default principal: krb5-ezv@C.I
     
    Valid starting     Expires            Service principal
    04/09/15 13:45:40  04/09/15 20:25:40  krbtgt/C.I@C.I
    puis commande kdestroy.

    Jusqu'ici tout va bien, c'est à l'étape suivante que les choses se gâtent.
    - Validation kvno :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [root@evf1 etc]# kinit krb5-ezv
    Password for krb5-ezv@C.I:
    [root@evf1 etc]# kvno HTTP/evf1.c.i@C.I
    kvno: Server not found in Kerberos database while getting credentials for HTTP/evf1.c.i@C.I
    - Test supplémentaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [root@evf1 etc]# ktutil
    ktutil:  rkt /etc/krb5.keytab
    ktutil:  l
    slot KVNO Principal
    ---- ---- ---------------------------------------------------------------------
       1    3  HTTP/evf1.c.i@C.I
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [root@evf1 etc]# kinit -k -t /etc/krb5.keytab HTTP/evf1.c.i@C.I
    kinit: Client not found in Kerberos database while getting initial credentials

    Voilà toutes les infos dont je dispose sur ma configuration Kerberos. J'espère que vous allez pouvoir m'aider et trouver pourquoi l'authentification du service ne fonctionne pas.


    EDIT 1 : je ne comprends pas. J'ai ré-utilisé un fichier keytab (kerb5.ktab) d'il y a une semaine et la commande kvno fonctionne. Malheureusement je ne vois pas ce que j'avais pu faire de différent sur la génération de celui-ci (et puis avec tous les tests que j'ai pu faire....). En tout cas, il y a une légère différence de contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [root@evf1 ~]# klist -k /etc/krb5.keytab
    Keytab name: FILE:/etc/krb5.keytab
    KVNO Principal
    ---- --------------------------------------------------------------------------
       4 HTTP/evf1@C.I
    [root@evf1 ~]# klist -k /etc/kerb5.ktab
    Keytab name: FILE:/etc/kerb5.ktab
    KVNO Principal
    ---- --------------------------------------------------------------------------
       4 HTTP/evf1@C.I
       4 HTTP/evf1@C.I
       4 HTTP/evf1@C.I
       4 HTTP/evf1@C.I
       4 HTTP/evf1@C.I
    Je voudrais pouvoir comprendre cette différence afin de pouvoir me constituer une doc fiable pour reproduire les manipulations dans le futur sachant que le compte qui avait été utilisé pour générer cette clé a en plus été supprimé depuis.

    EDIT 2 : J'ai retrouvé la doc utiliséey et donc un bon fichier keytab bien comme il faut :
    procédure sur Windows 2008
    • créer sur le domaine AD un utilisateur (exemple : "user1") pour la synchronisation des comptes et des groupes et l'accès à Active Directory
    • Cocher "le mot de passe n'expire jamais"
    • Activer les "fonctionnalités avancées" dans le menu affichage de la console ADUC
    • Modifier le paramètre "userPrincipalName" dans l'onglet "Editeur d'attributs", avec :
    HTTP/<nom complet en minuscules (fqdn) du serveur>@<DOMAINE DNS en majuscules>
    • Dans une fenêtre DOS, lancer :
    setspn –A http/<nom complet en minuscules (fqdn) du serveur>@<DOMAINE DNS en majuscules> <DOMAINE NETBIOS (nom court) en majuscules>\user1

    NOTE : en raison de l'UAC (User Access Control) de Win2008, cette commande doit être lancée par l'Administrateur (même un membre du groupe "Admins du domaine" n'a pas assez de droits). Pour ça :
    - soit se connecter en tant qu'Administrateur sur le DC,
    - soit lancer un "shell élevé" (clic-droit, "lancer en tant qu'Administrateur" -> bien sûr il faut avoir le droit de le faire, donc être dans le groupe admins du domaine !).
    • Réinitialiser le mot de passe de l'utilisateur. (Important, sinon le "key version number" (kvno) n'est pas bon !)
    • Cocher "Utiliser le chiffrement DES via Kerberos pour ce compte" dans l'onglet compte
    • Un nouvel onglet a dû apparaitre : "Délégation". Cocher "Approuver cet utilisateur pour la délégation à tous les services (Kerberos uniquement)"
    • Générer un fichier ktab :
    ktpass -out kerb5.ktab -princ HTTP/<nom complet en minuscules (fqdn) du serveur>@<DOMAINE DNS en majuscules> -mapuser user1@<DOMAINE DNS en majuscules> -pass <mot-de-passe> -crypto all -ptype KRB5_NT_PRINCIPAL
    Bon c'est bien cette doc que j'avais utilisé mais ça ne fonctionne pas mieux... je ne vais jamais m'en sortir.

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut même situation, même punition
    Bonjour tkc-lt,

    Je suis dans la même situation que toi.
    J'ai un serveur Web CentOS release 6.6 (Final) + un serveur Active Directory Windows 2008R2.

    J'ai suivi ce tutorial http://wiki.kogite.fr/index.php/Kerb...r_Windows_2008

    Configuration AD :
    -Définition du SPN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setspn –A http/serveurweb.mon.domaine.fr@MON.DOMAINE.FR MONDOM\userweb
    - Génération de la clé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ktpass -out kerb5.keytab -princ http/serveurweb.mon.domaine.fr@MON.DOMAINE.FR  -mapuser userweb@MON.DOMAINE.FR -pass *************** -crypto all -ptype KRB5_NT_PRINCIPAL
    - Copie du fichier et modification des droits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chown apache:root /etc/krb5.keytab
    chmod 640 /etc/krb5.keytab
    - Vérification du fichier /etc/krb5.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    [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_kdc = false
     allow_weak_crypto = true
     
    [realms]
     MON.DOMAINE.FR = {
      kdc = MONDC.mon.domaine.fr
      kdc = MONDC.mon.domaine.fr
      admin_server = MONDC.mon.domaine.fr
      kdc = MONDC.mon.domaine.fr
     }
     
    [domain_realm]
     .mon.domaine.fr = MON.DOMAINE.FR
     mon.domaine.fr = MON.DOMAINE.FR
    -Validation du fonctionnement de KERBEROS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [root@serveurweb cgr]# kinit userweb@MON.DOMAINE.FR
    Password for userweb@MON.DOMAINE.FR:
    [root@serveurweb cgr]# klist
    Ticket cache: FILE:/tmp/krb5cc_0
    Default principal: userweb@MON.DOMAINE.FR
     
    Valid starting     Expires            Service principal
    04/14/15 10:48:20  04/14/15 20:48:31  krbtgt/MON.DOMAINE.FR@MON.DOMAINE.FR
            renew until 04/15/15 10:48:20
    -> Mais cela ne fonctionne pas pour valider le fichier généré avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [root@serveurweb cgr]# kinit -k -t /etc/krb5.ktab HTTP/serveurweb.mon.domaine.fr@MON.DOMAINE.FR
    kinit: Client not found in Kerberos database while getting initial credentials
    ->Pourtant le nom du client est bien présent dans la clé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    [root@serveurweb cgr]# klist -k /etc/krb5.keytab
    Keytab name: FILE:/etc/krb5.keytab
    KVNO Principal
    ---- --------------------------------------------------------------------------
       2 host/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       2 host/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       2 host/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       2 host/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       2 host/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       2 host/serveurweb@MON.DOMAINE.FR
       2 host/serveurweb@MON.DOMAINE.FR
       2 host/serveurweb@MON.DOMAINE.FR
       2 host/serveurweb@MON.DOMAINE.FR
       2 host/serveurweb@MON.DOMAINE.FR
       2 serveurweb$@MON.DOMAINE.FR
       2 serveurweb$@MON.DOMAINE.FR
       2 serveurweb$@MON.DOMAINE.FR
       2 serveurweb$@MON.DOMAINE.FR
       2 serveurweb$@MON.DOMAINE.FR
       4 HTTP/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       4 HTTP/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       4 HTTP/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       4 HTTP/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       4 HTTP/serveurweb.MON.DOMAINE.FR@MON.DOMAINE.FR
       4 HTTP/serveurweb@MON.DOMAINE.FR
       4 HTTP/serveurweb@MON.DOMAINE.FR
       4 HTTP/serveurweb@MON.DOMAINE.FR
       4 HTTP/serveurweb@MON.DOMAINE.FR
       4 HTTP/serveurweb@MON.DOMAINE.FR
    -->As-tu trouvé pourquoi? Je continue à chercher de mon côté et ferait un retour si je trouve.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/03/2015, 10h49
  2. Réponses: 2
    Dernier message: 05/05/2010, 00h22
  3. Réponses: 4
    Dernier message: 03/09/2009, 10h34
  4. [WB11] Apache à problème avec mon WebDev
    Par bruce-willis dans le forum WebDev
    Réponses: 11
    Dernier message: 24/02/2009, 11h11
  5. problème avec mon serveur apache
    Par amazircool dans le forum Apache
    Réponses: 2
    Dernier message: 22/05/2007, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo