Partenaires

CNRS

Rechercher

Sur ce site

Sur le Web du CNRS


Accueil du site > Expériences > CREMI > Configuration annuaire local : AD Windows 2008-R2

Configuration annuaire local : AD Windows 2008-R2

par Christophe Delmon - 19 janvier 2012

Windows 2008-R2

- Prologue : Avant d’arrivé à un service local d’annuaire entièrement windows 2008-R2, il y a eu deux étapes intermédiaires :

  • AD : Windows 2003 + OpenLDAP
  • AD Unique : Avec un 2003-R2 : En effet les attributs « Posix-Account » sont disponibles et éditables en standard. Tout fonctionnait avec les clients linux, Windows XP et les I-Mac Snow-Leopard. Limitation au cryptage rc4
  • AD 2008-R2 : Lorsque nous avant fait évolués nos clients en Windows 7 64bis, le passage en 2008-R2 c’est avéré plus pratique pour la gestion des clients.
    • GPO Kerberos intégrés en standard
    • Cryptage moins limités
    • ...

« Normaliser » AD

- Ajout des attributs « PosixAccount » : Ajouter les composant suivant (à partir de la version 2003 R2) : Gestion des identités pour UNIX (ADAM)
- La consultation des attributs « PosixAccount ». Habituellement, la consultation de ses attributs se fait de manière anonyme, ceux qui n’est pas le comportement par défaut de AD. Il existe la possibilité d’utiliser un utilisateur de type « Proxy », mais certaines applications ne le suportent pas (c’est de moins en moins le cas). L’outils est ADSIEDIT

- Attention à n’utiliser que des groupe de « sécurité » au sens Windows.

- Exemple valable a partir de 2003-R2

  • 1 - Posix Account : La bonne nouvelle est que 2003 R2 supporte de base le posixAccount. Il faut activer pour une bonne intéraction, le "bind anonyme". Pour ce faire suivre les étapes suivantes.
    • Installer ADSI EDIT : 2003_R2_CD1:\support\tools\suptools.msi
    • Lancer ADSI EDIT : C:\Program Files\Support Tools\adsiedit.msc
    • Autorisé le "Bind anonyme" sur LDAP (AD) Editer les proriétés de CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=cremi,DC=emi,DC=u-bordeaux1,DC=fr Modifier la valeur dsHeuristics et mettre 0000002 (7 char : 6x0 et 2)
    • Autoriser NT AUTHORITY\ANONYMOUS LOGON A lire les branches utiles de l’annuaire.
    • Ajouter des droit a cet utilisateur sur la baseDN (cet objet seulement) et sur la branche Cremiusers (cet objet et tous les objets enfant)

  • 2 - Ajouter les champs PosixAccount sur AD Listes des attibuts existant sous AD 2003 R2 :
    • gecos
    • gidNumber
    • loginShell
    • uid
    • uidNumber
    • unixHomeDirectory
    • unixUserPassword : est par défaut synchronisé sur le MDP principal
    • gecos
    • gidNumber
    • loginShell
    • msSFU30Name
    • msSFU30NisDomain

Éditions des attributs Unix depuis AD directement (c’est aussi possible pour les groupes) :

  • 3 - Les PosixGroup Listes des attibuts existant sous AD 2003 R2 :
    • gidNumber AD peut être utiliser pour faire des groupes de type posix. Attention Utiliser les groupes de type sécurités....
  • 4 - Configuration Client  :
    • Linux :
      • Pour tester :ldapsearch -h bacchus -s sub   -LLL -x -b OU=Cremiusers,DC=cremi,DC=emi,DC=u-bordeaux1,DC=fr   '(uid=cdelmon)'
      • ldap.conf
        host bacchus.emi.u-bordeaux1.fr metaf.emi.u-bordeaux1.fr

        base DC=cremi,DC=emi,DC=u-bordeaux1,DC=fr
        ldap_version 3
        timelimit 30
        bind_policy hard
        idle_timelimit 3600
        pagesize 1024

        #OU=Cremiusers,DC=cremi,DC=emi,DC=u-bordeaux1,DC=fr?sub?(&(objectClass=user)(uidnumber=*))
        nss_base_passwd OU=Cremiusers,DC=cremi,DC=emi,DC=u-bordeaux1,DC=fr?sub
        OU=Cremiusers,DC=cremi,DC=emi,DC=u-bordeaux1,DC=fr?sub
        nss_base_shadow OU=Cremiusers,DC=cremi,DC=emi,DC=u-bordeaux1,DC=fr?sub

        # RFC 2307 (AD) mappings
        nss_map_objectclass posixAccount user
        nss_map_objectclass shadowAccount user
        nss_map_attribute gecos displayName
        nss_map_attribute uid sAMAccountName  
        nss_map_attribute homeDirectory unixHomeDirectory
        nss_map_attribute shadowLastChange pwdLastSet
        nss_map_objectclass posixGroup Group
        nss_map_attribute uniqueMember member
        pam_login_attribute uid
        pam_filter objectclass=User
        pam_password ad

Limitation LDAP de AD

Par défaut AD version 2K3, on ne peut lister que 1500 membres d’un groupe. Cette valeur est modifiable via l’outils ntdsutil.

Astuce la valeur max pour un int(32) signé : 2^31-1

Kerberos et la délégation d’authentification

Un seul Annuaire AD 2003 R2 ou supérieur

Serveur 2003 R2

- Création de la relation d’approbation

  • Ouvrir la console "Domaines et approbations Active Directory"
  • Sélectionner le domaine Windows contenant les ressources et éditer ses propriétés.
  • Sélectionner l’onglet "Approbations" et cliquer le bouton "Nouvelle approbation".
  • L’assistant démarre, cliquer "suivant".
  • Dans la fenêtre "Nom d’approbation" entrer le nom du royaume Kerberos : BX1
  • Dans la fenêtre "Type d’approbation" laisser l’item "Approbation de domaine kerberos" sélectionné.
  • Dans la fenêtre "Transitivité de l’approbation" sélectionner l’item "Non transitive" ; ainsi, le domaine Windows fera confiance au royaume BX1 mais pas à d’éventuels royaumes vassaux de BX1.
  • Dans la fenêtre "Direction de l’approbation" sélectionner l’item "Sens unique : en sortie".
  • Dans la fenêtre "Mot de passe de l’approbation" entrer un mot de passe associé à la relation d’approbation ; ce mot de passe sert à générer, une fois pour toute, des clés de cryptograhie symétrique qu’il faudra aussi créer dans le royaume Kerberos. Il faut donc contacter les gestionnaires du royaume BX1 pour qu’ils créent les mêmes clés avec le même mot de passe ; celuici peut être compliqué à l’extrème car il ne sert qu’une fois.

- Mapping des utilisateurs du domaine local et du royaume approuvé Les autorisations d’accès à des ressources du domaine windows sont données par le domaine local ; or l’authentification étant faite via un royaume Kerberos il faut établir une correspondance entre les utilisateurs du royaume Kerberos et ceux du domaine.

  • Via les scripts d’alimentation d’Active Directory : Ajouter l’attribut altSecurityIdentities: Kerberos:uidLdap@BX1 lors de la création du compte.
  • Via l’interface graphique :
    • Ouvrir la console "Utilisateurs et ordinateurs Active directory" Dans le menu "Affichage" activer l’item "Fonctionnalités avancées" qui permettra le mappage des utilisateurs..
    • Sélectionner un utilisateur et activer le menu contextuel d’un “clic droit”.
    • Dans la fenêtre "Mappage des identités de sécurité" sélectionner l’onglet "Noms Kerberos", le bouton "ajouter" et entrer l’identité Kerberos (principalName) du compte au format uidLdap@BX1
    • Mise à jour de la base de registre pour trouver les "centres de distribution de clés (KDC)" kerberos : Peut se faire via GPO pour seven et 2008-R2
      • Soit utiliser la commande "ksetup" ksetup /addkdc BX1 kdc.drimm.ubordeaux1.fr
      • Soit ajouter la clé concernant le royaume BX1 directement dans la base de registre. via un fichier .reg qui contient.
        Windows Registry Editor Version 5.00
        [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Domains\BX1]
        "KdcNames"=hex(7):6b,00,64,00,63,00,2e,00,64,00,72,00,69,00,6d,00,6d,00,2e,00,\
        75,00,2d,00,62,00,6f,00,72,00,64,00,65,00,61,00,75,00,78,00,31,00,2e,00,66,\
        00,72,00,00,00,00,00,00,00

Cette dernière étape doit être réalisée sur chaque station de travail windows si l’on n’utilise pas de GPO.

Remerciement à la Direction Informatique de l’Université Bordeaux1 et plus particulièrement Pascal et Fabrice pour cette partie délégation.

PDF - 498.1 ko

- Attention au cryptage

Ktpass /MITRealmName BX1 /TrustEncryp rc4

, cette limitation n’est plus a partir de windwos 2008-r2 et windows 7.

- Ajouter des informations supplémantires dans l’attribut : altSecurityIdentities pour chaque utilsateur

  • altSecurityIdentities : Kerberos:Login@BX1