Active Directory ================ Formation 6425 Formateur: * Frédéric Martin (large compétence microsoft et linux) * Bertrand (en formation) Participants: * Mairie St Malo * Orange Bussiness Service * Medecine du travail * Mysociety les notions ----------- DC: Domain Controller Un serveur connecté sur un réseau n'utilise que sa SAM pour les comptes d'utilisateurs et les groupes. Le serveur est Standalone (isolé) Le serveur est autonome si il existe un DC sur le réseau. Il n'est pas possible pour le serveur d'avoir accès aux données du domaine. L'inverse est vrai: je peux intégrer dans la Sam un compte du domaine (le groupe administrateur du domaine est contenu dans le groupe administrateur de la SAM) Il existe deux types de compte: - ordinateur - utilisateur quand on connecte un ordinateur sur un réseau sur lequel j'ai un AD: * il y a un contrôle de compte d'ordinateur * il y a un contrôle de compte d'utilisateur Si j'intègre le serveur dans le DC il devient membre (= je génère un compte d'ordinateur correspondant à mon serveur dans le DC) Je peux ensuite transformé mon serveur en DC via un dcpromo .. figure:: data/20121203_001.png Si on a que des ordinateurs sandalone, il faut pour partager des dossiers à travers le réseau, regénéré dans chaque sam du réseau les utilisateurs. L'AD permet d'avoir et de partager des comptes: * d'utilisateur * d'ordinateur L'AD fournit une zone particulière et sécurisé Un même utilisateur peut ce connecter sur plusieurs ordinateurs sans copie des SAM. Un AD comporte un objet (la forêt, un utilisateur, un ordinateur, un mot de passe, ...) Un objet possède ces attributs. Certains sont communs, d'autres sont différents Les attributs on des valeurs. il existe des attributs: * simple (nom, ...) * à valeurs multiples (membres de, ...) .. figure:: data/20121203_002.png la sgbd de l'AD est le fichier *ntds.dit* l'Ad ce décompose en 4 partitions: * partition de schéma: contient Modèles, objet, attr, valeurs (niveau forêt) * partition de domaine (niveau domaine) * partition de configuration (niveau forêt) * partition d'application: tout les objets générés par les applications (niveau forêt ou domaine ou intermédiaire cela est au choix) .. figure:: data/20121203_002.png .. figure:: data/20121203_003.png un groupe est un regroupement d'objet. On peut attribuer à un groupe un gestion de droit qui impactera les membres de groupes. Les OU (unité d'organisation) contiennent les objets qui sont utilisés par un même groupe d'utlisateur sur lequel on indique des droits et des autorisations communes(utilisation d'une appli) Un containers est différent d'une OU, elle ne fait que contenir (un containers ne peut avoir de GPO contrairement à une OU) ON ne peut créer des containers ... elle appartient au système .. note:: il est possible de créer un container via ADSIEdit Sur une OU on peut avoir: * des GPO * de délégations de gestion (ajout/suppression d'objet) UNe OU peut être géographique et hierarchique j'ai un groupe de avec deux sites, je peux avoir les OU suivantes: * OU Site1 - OU Compta - OU informatique - OU direction * OU Site2 - OU Compta - OU informatique - OU Ingenieur .. error:: Un domaine est une limite hermétique de sécurité. Il faut les deux comptes utilisateurs / ordinateur pour rentrer dans le domaine .. note:: l'ordinateur s'identifie de façon discrète aux controlleurs de domaines (sans qu'on lui demande) Un domaine est aussi un *espace* *de* *nom*. Le domaine racine est le premier domaine de l'entreprise qui ce compose de deux termes (ex mysociety.fr) Le premier DC génère: * le domaine racine * la forêt * le premier site par défaut ce nom (FQDN) est utilisé par le DNS .. figure:: data/20121203_004.png Il faut toujours 2 DC pour * continuité de service * répartition de charge * diminution de la bande passante dans le cas de site distant (un serveur AD par domaine) la partition de schéma est identique pour tout les dc. la partition de domaine varie suivant le domaine du dc. Entre 2 DC on a de la réplication des différentes partitions. le domaine est une unité de réplication donc le domaine est: * une limite hermétique de sécurité * un espace de nom * une unité de réplication Une relation d'approbation entre deux domaines permet une authentification inter domaine. Si le domaine A à une relation d'approbation sur le domaine B, tout utilisateur du domaine B est authentifié sur le domaine A. Il existe une relation d'approbation bidirectionnelle est un domaine enfant / parent (un utilisateur d'un domaine enfant est automatiquement connu par le parent) Une Ip est la somme d'un IDreseau et d'un IDhote Si on a un réseau avec 3 sous réseau (A,B,C) Pour que chaque DC des sous réseau puisse ce répliquer il faut créer un *site* regroupant les 3 sous réseaux ( 3 IDréseau) .. figure:: data/20121203_005.png Il est possible de créer un intersite: gestion de la réplication inter site Les sites, IDréseaux ,DC , relation d'approbation et catalogues globaux sont connus dans la partition de configuration. On trouve aussi les règles de schéma dans la partition de configuration. la partition de configuration est à l'échelle de la forêt (tout les DC contiennent la même info) Un catalogue global contient la photographie de l'ensemble des partitions de domaines de chaque DC de la forêt (par de relation d'approbation entre deux forêts). L'utilisation de catalogue global permet à un poste1 du domaine A de voir les dossiers d'un poste2 d'un domaine B. Un niveau fonctionnel concerne les DC et exprime les capacités d'un DC par rapport aux autres DC possédant une version différentes. Ainsi un domaine qui possède 3 DC (2 en 2008R2 et 1 en 2003) aura pour niveau fonctionnel 2003. Une fois tout les DC en 2008 on pourra upgrader le niveau fonctionnel le mecanisme d'authentification nécessite un catalogue global on a une double identification * ordinateur : via kerberos * utilisateur: obtention d'un jeton contenant le sid utilisateur plus les sid de ces groupes et le sid du groupe utilisateur universel (issue du catalogue général) le jeton d'accès reste sur le DC qui l'a généré. Puis via les DACL on obtention l'information qui dit si l'utilisateur à le droit à l'imprimante. Une DACL permet de géré des ACE qui dit qui à le droit à quoi .. figure:: data/20121203_006.png Le protocole LDAP permet de dialoguer avec l'AD (et donc d'administrer les DC). les objets vont avoir des noms particuliers: * CN: Common Name * DN: Domaine Name * RDN: Relatif domaine Name .. figure:: data/20121203_007.png dans notre exemple on identifie marc drouet ainsi: CN=marc drouet,OU=compta, DN=Formateur, DN=UC1, DN=eni,DN=fr le RDN sera CN=marc drouet Labs1 ----- Pour savoir si un serveur est DC il suffit de voir si il y a le fichier ntds.dit dans le répertoire NTDS .. figure:: data/20121203_008.png Au niveau des rôles, le rôle Active Directory Domain Service permet d'ajouter les outils d'administration des AD à distant .. figure:: data/20121203_009.png .. warning:: nous n'avons installer que les outils d'administration, pas un DC .. note:: pour un poste windows 7, il faut télécharger rsat.msu et on peut activer les outils que l'on souhaite avoir Pour créer un DC il faut lancer :: dcpromo la commande *dcpromo* permet: * de créer un dc * de créer une racine (et donc une forêt) .. figure:: data/20121203_010.png .. figure:: data/20121203_011.png .. error:: pour créer une forêt ou un DC il faut absolument un DNS. Si on génère une forêt le DNS sera automatiquement ajouter au catalogue Il y a bien deux niveaux de gestion pour un AD * AD User and Computer * AD Site and service .. figure:: data/20121203_012.png il est possible d'élever le niveau focntionnel * des domaines * de la forêt (il faut que tout les domaines de la forêt possède un niveau déjà élevé) .. figure:: data/20121203_013.png .. figure:: data/20121203_014.png .. note:: UAC: équivalent du "lancer en tant que" (runas) sur l'AD il y a les OU et les containers .. figure:: data/20121203_015.png on ne peut appliquer de GPO sur un containers Il existe un composant de console (mmc) d'AD schéma. Il faut pour cela ajouter une dll .. figure:: data/20121203_016.png on peut maintenant ajouter le composant .. figure:: data/20121203_017.png on peut ainsi rendre des attributs global ou pas. On peut gérer les modèles de création d'objet. .. note:: on ne peut pas par içi supprimer ou ajouter un attribut a un objet il existe un ADSIedit (à lancer en tant qu'administrateur) un éditeur LDAP .. figure:: data/20121203_018.png .. figure:: data/20121203_019.png On peut voir ainsi toutes les partitions de l'AD (user, configuration, ...) .. figure:: data/20121203_020.png il existe un mode d'affichage avancé dns la gestion de l'AD .. figure:: data/20121203_021.png avec ce mode d'affichage il est possible de savoir ou ce trouve un objet dans ces propriétés .. figure:: data/20121203_022.png et un editeur d'attribut (si on ne passe pas par "find") .. figure:: data/20121203_023.png Il est tout à fait possible d'administrer un DC via des lignes de commande powershell cela est réalisé via la console powershell *specifique* *AD* on peut associer des commandes avec | et ainsi rechercher un user puis modifier la valeur d'un attribut :: get-aduser -filter 'name -eq "TestUser1"' get-aduser -filter 'name -eq "TestUser1"' | add-adgroupmember "Marketing" l'UPN est le nom de compte principal (f.aoustin@myprop-group.com ou PROPLAST\f.aoustin) On peut aussi gérer des plages horaire de connexion et une date de déactivation Il est possible de modifier en masse certaines informations (sélectionner les objects et clic droit propriété) Il est aussi possible de gérer les notions hierarchique entre utilisateurs .. figure:: data/20121203_024.png .. figure:: data/20121203_025.png un template d'un object utilisateur est juste un utilisateur paramétré et déactivé qui sera utilisé en copie pour créer les autres utilisateurs il existe des commandes permettant de créer des objet en masse :: ldifde ldifde -i -k -f nom_fichier -b Nom_Utilisateur Domaine Mot_de_Passe permet à partir d'un fichier *.ldf* de créer un objet contenu du fichier test.ldf :: dn: cn=Suzan Fine,ou=Human resources,dc=EMEA,dc=WoodgroveBanck,dc=com Changetype: Add objectClass: user SAMAccountName: suzan userPrincipalName: suzan@woodgrovebanck.com displayName: Suzan Fline -i : mode importation (par défaut exportation -k : affiche les erreur mais passe -f : nom du fichier -b : spécifie l'utilisateur qui lance la commande dans l'AD (un administrateur) .. note:: on peut aussi exporter les données avec la commande ldifde :: ldifde -f nom_fichier -d "ou=Human resources,dc=EMEA,dc=WoodgroveBanck,dc=com" -r "objectClass=user" -l physicalDeliveryOfficeName cette commande permet d'extrait les user de Human resources la commande csvde permet d'extraire les données au format csv. on peut lancer la commande d'extraction :: csvde -f test.cv -r "(name=April*)" -l DN,objectClass,sAMAccountName,userPrincipalName On peut aussi importer un fichier csv. Il faut faire un fichier avec une ligne contenant les zones à importer puis les lignes avec les valeurs exemple de fichier test.csv :: DN,objectClass,sAMAccountName,userPrincipalName ... :: csvde -i -f test.cv -b Nom_Utilisateur Domaine Mot_de_Passe Il est possible de faire tout cela avec du PowerShell via les cmdlet Import-CSV Par défaut powershell utilise des fichiers signés (problème de sécurité) Pour désactiver la sécurité il faut faire :: Set-ExecutionPolicy unrestricted Les groupes ----------- Ils ont pour but de simplifier la gestion. Il existe deux types de groupes: * distribution (de mail , pas de sécurité) * sécurité (on peut y appliquer des droits et s'en servir pour faire de la distribution) - global - local les drotis d'un dossier passe par la DACL .. figure:: data/20121203_026.png le domaine local donne les autorisation et on les applique à des groupes globaux .. figure:: data/20121203_027.png .. warning:: il faut pas donner de droit directement à un utilisateur l'objectif est d'avoir sur les DACL le moins de ligne possible Il ne faut pas faire .. figure:: data/20121203_028.png mais .. figure:: data/20121203_029.png Cette solution donne une seule ligne sur le dossier (et pas 3 ou n) .. note:: il est recommandé donc de faire les domaines locaux avec un prefixe "DL" (et le type de droit à la fin) et les groupes globaux "GG" et le nom du domaine à la fin exemple de notation * GG_Compta_A * GG_InfoAdmin_A * DL_Compta_RW * DL_Acceuil_R Dans le cas des multidomaines, un groupe possède une portée. A: Account D ou GG: groupes globaux DL: domain local P: Permission ou Authorisation .. figure:: data/20121203_030.png un DL peut être lié à des D d'autres domaines (droit inter domaine) Il existe la notion de *groupe* *universel* (qui intervient dans l'identificatin) qui sont importants dans l'interdomaine. Un GU permet de rassembler plusieurs GG et ainsi appliquer un GG sur un DL (et donc sur la ressource) .. figure:: data/20121203_031.png le scope d'un groupe est généré lors de la création du groupe .. figure:: data/20121203_032.png Il est possible de faire gérer par quelqu'un d'autre que l'administrateur la gestion d'un groupe .. figure:: data/20121203_033.png .. note:: dans un domaine unique la notion de GU n'a pas d'intérêt .. warning:: il n'est pas possible pour un GG n'avoir un lien vers un A ou un GG d'un autre domaine Il existe des groupes natifs à l'AD: User, Computer, ... .. figure:: data/20121203_034.png .. note:: un groupe global ne pas être transformé en domaine local (on peut passer avant en universel) Il existe deux containers (donc pas de droit dessus) particulier: * Builtin (compte de la SAM du DC= compte machine locale du DC) * Users (compte de l'AD) Il existe par domaine un groupe administrateur de domaine Le groupe administrateur entreprise gère l'ensemble de la forêt (donc toutes les domaines) On peut créer les groupes par ligne de commande :: New-ADGroup -Name "test" -SamAccountName Test -GroupCategory security -GroupScope Global -DisplayName "test" -Path="OU=Groups,DC=contoso,DC=com" ou :: dsadd group "CN=Test,OU=Groups,DC=contoso,DC=com" -secgrp yes -scope g Il existe des groupes systèmes: * tout les utilisateurs (contient Guest ) * utilisateur de domaine * domanie admin * utilisateur authentifié Gestion des comptes d'ordinateurs --------------------------------- un ordinateur intégré au domaine dlègue la gestion des droits à l'AD mais devient aussi un objet de l'AD avec sa propre authentification (via un canal discret). Un ordinateur qui ne ce connecte pas l'AD après 30j via ce canal, l'authentification est perdu et les relations d'approbation sont perdus. Il faut la réintégrer du domaine (on supprime le compte et on la remet au domaine ou le réinitialiser) La réinitialisation permet de garder l'ancine SID de la machine et donc en conservant les droits de la machine. :: netdom reset .... .. figure:: data/20121203_037 .png il existe un container par défaut "computers": il n'est pas une bonne chose de les laisser dans ce container mais de créer des OU spécifiques sur lequels on peut appliquer des GPOs On peut créer des OU (par exemple) * par site * par service * ou par type (serveur, portable, client légers, ...) Il est possible de pré-créer un compte d'ordinateur avec que ce dernier rejoigne le domaine. il faut que le nom de l'objet correspond au nom de l'ordinateur. Cette pré-création permet de définir qui à le droit de joindre un ordinateur à un domaine .. error:: par défaut un utilisateur *classique* de l'AD peut ajouter jusqu'a 10 ordinateurs au domaine !!! On peut modifier ce comportement via ADI Edit ou GPO (dans la GPO par défaut computer\securité\droit utilisateur) .. figure:: data/20121203_035.png .. figure:: data/20121203_036.png Un ordinateur qui devient DC passe directement dans l'OU "Domain Controllers" il est possible d'identifier les ordinateurs qui ne se sont pas identifié depuis x jours http://tiennot.fr/romain/index.php?post/2011/11/25/Date-de-derniere-connexion-d-un-ordinateur-du-domaine Il est possible via *csvde* d'importer en ligne de commande la liste des ordinateurs (il faut utiliser le UserAccountControl avec pour valeur 4096) Il est possible de faire de la joinction hors ligne: le principe est de lié un ordinateur non connecté au réseau au domaine dans l'AD Sur le serveur DC on génère un fichier via la commande *djoin*, ce fichier est utilisé par le client win7 pour joindre le domaine .. note:: il est possible de faire rentrer un ordinateur client win7 dans un domaine *depuis* le serveur DC (il faut que le client win7 soit sur le réseau avec le bon DNS) pour par exemple ajouter NYC-SVR2 (compte local Administrator) dans le domaine depuis le dc (domaine contoso.com) :: netdom join NYC-SVR2 /domain:contoso.com /UserO:Administrator /PasswordO:* /UserD:CONTOSO\Administrator /PasswordD:* /REBoot:5 .. figure:: data/20121203_037.png .. note:: il est possible de renommer une machine appartenant à un domaine depuis le serveur DC :: netdom renamecomputer mon_ordinateur /newname:votre_ordinateur /userD:mon_domaine\administrateur /passwordd:* /usero:administrateur /passwordo:* /reboot:60 .. warning:: faire un programme qui intègre et renomme automatiquement les machines depuis le master voir pour faire une GPO ordinateur qui désactive IPV6 et fait tout le paramétrage standard Les GPO ------- Une stratégie de groupe permet d'appliquer les règles suivant un couple ordinateur/utilisateur Une GPO peut faire: * sécurité * applocker (blocage d'application suivant l'utilisateur: fonctionne sous 2008) * installation d'application (msi) maj d'application (msu) et patché (msp) Une GPO possède des paramètres La GPMC permet de gérer et de faire appliquer les GPO. Depuis la GPMC on peut lancer la GPME (Editor) qui permet de modifier les paramètres d'une GPO. .. Note:: la GPMC est une fonctionalité à installer .. Note:: Il est possible de créer des paramètres locaux via la command *gpedit.msc* mais les GPO n'ont d'intérêts que sur un domaine Une GPO est lié à une OU par un lien l'objectif est de modifier la base de registre du poste * HKLM * HKLU On peut donc modifier le comportement: * de la machine * de l'utilisateur .. error:: les paramètres de GPO ne s'applique pas sur un *groupe* un objet sur lequel doit s'appliquer une GPO doit pouvoir la lire !!! On peut donc filtrer l'application des GPO. une GPO peut être appliqué sur * locale * site * Domaine * OU * OU enfant Avec un phénomène d'héritage (dans cette ordre) L'ordre d'application est aussi l'ordre d'héritage. Si paramètre contradictoire, le paramètre prendra la valeur de la dernière GPO appliquée Les paramètres complémentaire s'additionne Il est possible sur une OU Enfant de bloque l'héritage. Il existe une notion d'appliquer (=forcer) qui signifie que la GPO forcée sera appliqué en dernier et donc outre passe l'héritage Une GPO peut avoir plusieurs liens vers une OU et inversement L'ordre de l'application des GPOs suit alors la priorité. .. figure:: data/20121203_039.png Il existe une boite nommé "Group Policy Objects" qui contient l'ensemble des GPOs .. figure:: data/20121203_040.png Ordre d'application des GPOs sur une OU est disponible (en prenant en compte forcé, héritage, ...) .. figure:: data/20121203_041.png l'onglet de delagation indique quoi fait qui via les liens GPO .. figure:: data/20121203_042.png on peut aussi autoriser le lancement d'outil GPResult et Group Policy results lors de la création d'une GPO on peut utiliser un modèle (GPO Starter) .. figure:: data/20121203_043.png .. figure:: data/20121203_044.png Il est possible de sauver en Cab(inet) les starter GPOs Il est aussi possible de sauvegarder une GPO (et ces paramètres) La restauration d'un backup d'une GPO ne restaure pas les liens sur les OU. Il est possible sur une GPO d'importer les paramètres d'une autre GPO (en écrasant les siens) Les filtres WMI ce développe en sql et permet à la machine client d'avoir un mode asynchrone. Un filtre WMI permet sur une GPO de faire une requête pour savoir si la GPO s'applique il existe un outil Group Policy result qui permet , à la suite d'une connexion de l'utilisateur 1 sur la machineA, de voir le résultat de la connexion de l'utilisateur 1 sur la machineA .. figure:: data/20121203_045.png On peut aussi utiliser un outil de modeling qui simule une application de GP .. note:: il faut désactiver le firewall du DC On peut voir le résultat d'une connexion sur un poste client via la commande :: gpresult /H result.html on peut forcer l'application d'une gpo via la commande :: gpupdate /force .. note:: il est possible dans l'event viewer du client de voir les logs de l'application des GPO .. figure:: data/20121203_046.png il faut noter que dans la partie security de la GPO on peut indiquer sur quel utilisateur cette GPO s'applique .. figure:: data/20121203_056.png (il s'applique aussi aux utilisteurs de l'OU, mais si vous ne souhaitez pas faire de boucle de rappel pour filtrer computer/user) .. figure:: data/20121203_081.png Détail des GPOs --------------- 2 types: * ordinateur * utilisateurs Il est possible d'ajouter des nouvelles templates administratives suivant les logiciels installés (ex office) .. figure:: data/20121203_047.png Il faut pour cela intégrer des fichiers adm (fournit par l'éditeur) .. figure:: data/20121203_048.png il existe des fichier admx (adm au format xml avec en plus des fichiers adml pour le package de langue), leurs misent en place sur un DC est plus difficile: 1. copier tout les fichiers admx dans C:/windows/PolicyDefinition 2. copier tout les fichiers adml pour le français dans C:/windows/PolicyDefinition/fr-fr/ (suivant la langue) il faut rafraichir le console GPME du DC pour les voir apparaitre Un magasin est un dépot contenant les fichier adml et admx pour l'ensemble des DC du domaine ... afin que les GPOs qui utilisent ces fichiers soient utilisables sur l'ensemble des DC. ce magasin ce trouve sur C:/windows/SYSVOL/sysvol .. figure:: data/20121203_049.png on retouve dans ce dossier les GPOs en physique (on retrouve aussi USER, ...) Ce dossier est copié en dfs entre les différents DC du domaine. Il faut pour que la copie fonctionne générer les magasins :: md \\contoso.com\SYSVOL\contoso.com\Policies\PolicyDefinitions\fr-fr xcopy %systemroot%\PolicyDefinition/ \\contoso.com\SYSVOL\contoso.com\Policies\PolicyDefinitions xcopy %systemroot%\PolicyDefinition/fr-fr/ \\contoso.com\SYSVOL\contoso.com\Policies\PolicyDefinitions\fr-fr à la suite de ces commandes on voit la mise en place des magasins .. figure:: data/20121203_050.png .. note:: la commande md \\domaine.com va entrtainer en plus de la création du dossier le processus de sychronisation des magasins entre DC Il existe une notion de préférence. Les préférences permet de gérer: * le mappage des lecteurs réseaux * mappage IE * mappage imprimante * distribution de clé de registre cela supprimer les bat de démarrage ou reg .. figure:: data/20121203_051.png cela permet à l'utilisateur de modifier ces préférences (mais on peut forcer la remis à 0 des préférences) on peut aussi filtrer la mise en place de paramètre suivant les valeurs de postes (par exemple si un poste est win7 et a plus de 80 Go de libre alors il a pour page internet par défaut google) .. figure:: data/20121203_052.png .. figure:: data/20121203_053.png .. warning:: si je supprime une préference dans une GPO cela supprime tout les préférences on ne retrouve pas les préférences initiales .. note:: on peut faire avec le filtrage une préférence du type: je génère un connecteur réseau que si je suis sur un serveur ou un ordinateur ayant ce nom un filtre si je suis sur un remote desktop .. figure:: data/20121203_054.png Il est possible de déployer des fichiers msi via des GPO. L'installation ce fait sur le compte ordinateur (sans connexion utilisateur) ou utilisateur .. figure:: data/20121203_055.png On peut aussi déployer des msu ou msp Il existe deux modes de déploiement: * affection (en mode silencieux sans choix de l'intervention) * publication (demande réaliser par l'utilisateur) Il faut une machine qui soit point de distribution des msi On peut paramétrer la GPO pour que la suppression de la GPO désinstalle le soft Il possible de figer les groupes et les membres des groupes (utile pour les SAM locaux) Il est possible de créer des templates de sécurité qui seront implémentés dans une nouvelle GPO l'outil est accèssible via mmc .. figure:: data/20121203_057.png .. figure:: data/20121203_058.png Audit ----- Il permet de visualiser les accès non autorisé. Il faut modifier la GPO .. figure:: data/20121203_059.png mais aussi la ressource que souhaite auditer (ex un répertoire) .. figure:: data/20121203_060.png Il faut aussi activer le moteur d'audit via GPO (Audit object access) On peut auditer les processus qui ce lance Il existe une GPO AppLocker permettant de filtrer qui a le droit de lancer une application .. figure:: data/20121203_061.png L'identification de l'executable peut ce faire par Hashage , dossier ou sans identification Délegation ---------- Offrir la possibilité à des utilisateurs d'administrer des groupes ou des fonctions. Ce contrôle peut ce faire dans l'onglet Security des OU .. figure:: data/20121203_062.png (cela necessite les fonctionnalités avancées dbas le console de l'AD View/fonctionality Advanced) On peut utiliser une interface graphique qui change cet onglet de façon plus simple .. figure:: data/20121203_063.png Cette fonctionalité permet de déléguer à un groupe ou à un utilisateur des fonctionnalité d'administration: * reset password * créer supprimer des groupes * ... Pour supprimer un droit de délagation il faut le supprimer dans l'onglet security Il existe au niveau de cette délégation des droits d'héritage. .. note:: cette déléguation à surtout pour but de découper les droits dans une équipe informatique (définition de périmètre) Il existe une commande *dsacls* qui s'applique sur une *OU* et donne la liste des autorisations :: dsacls "ou=user,dc=contoso,dc=com" |more on peut aussi rétablir les droits initiaux :: dsacls "ou=user,dc=contoso,dc=com" /s /t Il est possible de paramétrer des consoles *mmc* (avec les outils RSAT) pour offrir des possibilités de délégation avec un outil plus simple ON peut ainsi filtrer une branche de l'arbre et via une "task" n'offrir que certaines possibilités d'action .. figure:: data/20121203_064.png .. figure:: data/20121203_065.png il faut enregistrer la mmc il faut ajouter une délégation de contrôle pour dire qui a le droit de faire quoi .. figure:: data/20121203_066.png et maintenant on peut avoir ce genre d'outil .. figure:: data/20121203_067.png il faudra mettre la mmc en mode utilisateur (options de mmc) .. figure:: data/20121203_067.png dans l'onglet security de l'OU concerné il faut vérifier que le gens puisse par exemple lire ou modifier les propriétés et dans la partie View customize vous pouvez avoir quelques chose de très minime (il faut la sauver comme autre mmc) .. figure:: data/20121203_068.png .. figure:: data/20121203_069.png Un utlisateur classique ne peut modifier des paramètres techniques .. note:: a essayer avec une gestion des sécurités des OU et des délégations Audit ----- Il est possible d'auditer les machines clients mais aussi l'AD en lui même. Exemple d'audit: * modification de droit * ajout / suppression de persone dans une OU .. figure:: data/20121203_070.png Il est possible de faire une audit par GPO .. figure:: data/20121203_071.png .. note:: avant 2008 il fallait activer les audit par auditpool un audit global permet de surveiller globalement: * un utilisateur * un ordinateur * un système de fichier (création / suppression de fichier) .. note:: il faut activer l'audit du registre dabs object Access pour pouvoir activer Global Object Access Auditing .. attention:: l'audit global peut représenter de grosses volumétrie d'information l'audit est consultable via l'event viewer Sécurité -------- gestion possible des mots de passe et de l'activation des comptes la classe PSO gère les mots de passe (Password Settings Objet) et cela n'est pas intégré dans les GPOs Pour gérer les mots de passe, on applique * GPO * PSO le PSO rajoute une couche de complexité Le PSO ce gère au niveau de ADSIEdit sur la partition domaine .. figure:: data/20121203_072.png il faut créer un nouvel objet PSO .. figure:: data/20121203_073.png le PSO gère l'historique, la longueur, la complexité On retrouve notre PSO dans le container System \ Password Setting Container .. figure:: data/20121203_074.png Par la suite on peut appliquer cette PSO via la modificiation d'un attribut de l'objet PSO .. figure:: data/20121203_075.png ON peut retrouver la PSO sur l'objet User via les attribut (filter construted) .. figure:: data/20121203_076.png Monter de version ----------------- il est possible de monter * le schéma * le niveau fonctionnel sur * la forêt * le domaine pour monter le schéma avec un nouveau serveur 2008 il est possible de lancer sur le maitre d'opération du schéma :: adprep /forestprep pour passer le domaine 2000 -> 2008 :: adprep /domaineprep /gpprep si le domaine passe de 2003 -> 2008 :: adprep /domaineprep RODC ---- Read only domain controler il faut un niveau fonctionnel minimal 2003 avec un DC en 2008 Il faut niveau ajouter rodcprep si le niveau fonctionel est 2003 :: adprep /rodcprep l'objectif d'un rodc est d'avoir dans un site un dc non exploitable et non modifiable. UN RODC n'envoie pas d'info schéma sur le DC maître .. figure:: data/20121203_077.png On peut bloquer les authentifications sur le RODC et faire pour que le DC soit le seul à authentifier. Seul l'authentification est déporté: les autres fonctionnalités sont locales (DNS, DHCP, ...) Le seul objectif est un objectif de sécurité sur un serveur facilement accessible Pour l'installer 1. sur le dc principale il faire une pré-création d'un RODC (on ne génère que l'objet) .. figure:: data/20121203_078.png .. note:: c'est a ce niveau qu'on indique si on garde ou pas les informations d'authentication sur le RODC Il existe un groupe contenant la liste des personnes pouvant utiliser le RODC 2. sur le RODC il suffit de faire un *dcpromo* (en indiquant qu'on rentre dans une foret et un domain existant) 3. configurer la copie ou non des mots de passe .. figure:: data/20121203_079.png Le serveur DNS -------------- une zone est un domaine avec des relation parent / enfant (eni.fr) On ne peut pas créer une zone contenant eni.fr et tutu.fr (eni et tutu sont cousins) le fqdn d'une machine est le nom complet avec le domaine NYC-DC01.contoso.com .. figure:: data/20121203_080.png La zone du domaine est intégrer à l'AD On peut paramétrer la copie des DNS inter domaine ou forêt Il est aussi possible de paramétrer l'age des enregistrement du DNS Si un dns ne peut résoudre le nom il est possible de forwarder la demande sur un autre DNS (=FAI par exemple) Le DNS offre aussi la possiblité d'identifier le serveur qui fournit un service (DHCP, ...) FSMO ---- Floating Single Master Operation : maitre unique flottant = maitre d'opération Ils servent à stabiliser l'AD, en stabilisant les relations entre DC Ils donnent aussi des règles de fonctionnement en donnant des responsabilités à certains DC, devenant ainsi des référents Il existe deux niveaux de maitres d'opérations: * échelle forêt, il y aura 2 rôles: 1. Maître d'opération des noms de domaine: il gère l'ajout ou la suppression de domaine (et donc de DC) 2. Maître de schéma: permet ou pas la modification du schéma (ajout de modèle, d'attribut, ... élévation du schéma) .. note:: il n'est pas possible de supprimer des attributs, on peut seulement les désactiver. On utilise la commande adprep pour modifier le schéma, ou l'ajout de l'application exchange (par exemple) * échelle du domaine, il y aura 3 rôles: 1. Maître RID: un objet au niveau de la forêt est unique (GUID, SID= SIDdomaine + RID) RID: référence unique de l'objet dans le domaine. 2. Maître d'infrastructure: quand un objet change de domaine, il change de SID dans le nouveau domaine. Ce maître gère ces doubles références. 3. Maître émulateur PDC: permet la compatibilité avec NT4. - Il gère la gestion des mots de passe inter DC (copie immédiate) en étant le référent des mots de passe. - l'émulteur PDC fait serveur de temps interDC du domaine (donc si plusieurs DC il suffit que seulement l'emultaur PDC soit connecté au serveur de temps) - si 1 GPO modifié sur 2 DC différents en même temps , lors de la synchronisation la dernière version sera sélectionné Pour visualiser qui à quoi comme rôle :: netdom query fsmo .. figure:: data/20121203_084.png Il existe des outils pour transférer ces rôles d'une machine à une autre .. figure:: data/20121203_082.png .. figure:: data/20121203_083.png Pour le rôle de schéma il faut activer l'editeur de schéma dans *mmc* .. figure:: data/20121203_016.png on peut maintenant ajouter le composant .. figure:: data/20121203_017.png Il est aussi possible de prendre des rôles (=captage) (ex un DC ayant le rôle A brule comment récupérer le rôle) Le captage des rôles au niveau du domaine ne pose pas de soucis (on peut revenir en arrière) ceux de la forêt impose de ne pas pouvoir revenir en arrière. :: ntdsutil il s'agit d'une console ou il faut lancer la commande "roles" .. note:: ? donne la liste des fonctions accessible Pour récupérer le rôle PDC :: ntdsutil roles connections connect to server nyc-dc2.contoso.com set creds contoso administrator Pa$$w0rd quit Seize PDC SYSVOL ------ Contient la partie physique de l'AD Il est répliqué entre les ADs via le service DFSR (distribute file system replication) Il faut activer DFSR sur une architecture à niveau fonctionnel 2008R2 (sinon il s'agit de FRS) Il est possible de transformer FRS en DFSR, en 4 étapes: 0. début: seul le service FRS est utilisé 1. préparé: on copie C:\windows\SYSVOL\domaine\sysvol C:\windows\SYSVOL_DFSR\domaine\sysvol :: dfsrmig /setglobalstate 1 # pour voir la progression dfsrmig /getmigrationstate 2. redirige: on modife le partage SYLVOL vers la nouvelle cible :: dfsrmig /setglobalstate 2 # pour voir la progression dfsrmig /getmigrationstate 3. elimine: on supprime FRS :: dfsrmig /setglobalstate 3 # pour voir la progression dfsrmig /getmigrationstate .. note:: il faut que l'ensemble de dc du domaine soit en 2008R2 avec un niveau fonctionnel 2008R2 Site et subnet -------------- Les DC doivent ce répliquer entre eux. Les DC sont plus ou moins éloigné et la réplication peut poser problème. L'idée est de gérer ces copies.. Un site est un endroit ou il y a une connectivité élevée (mais cela peut représenté plusieurs sites physiques ou inversement un endroit physique avec plusieurs sites AD) Dans un site est identifié pardes ID réseaux et la réplication est immédiate. (un site doit avoir avoir une vitesse interne de 512 Kbits/s) Un sous réseau ne peut être lié qu'à un seul site. .. figure:: data/20121203_085.png Par défaut le client utilise le DC de site (de son sous réseau). Il faut un catalogue global par forêt Il va exister deux types de replication: * intra-site * inter-site Intra-site ~~~~~~~~~~ on utilise le KCC pour gérer la réplication et notament l'ordre de ces réplications La réplication et multmaitre. Si DC1 est modifié il envoi l'info à DC2. Ce dernier envoi l'info sur DC3. Il n'y a pas plus de 3 sauts de réplication. Exemple: on a 5 DC.On modife DC1, on a comme ordre de réplication (géré par KCC) * DC1 -> DC2 -> DC3 -> DC4 (3 sauts donc stop) * DC1 -> DC5 Il est possible de créer des nouvelles connexions (mais normalement KCC s'occupe de tout) .. figure:: data/20121203_086.png Inter-site ~~~~~~~~~~ ISTG est un composant de KCC qui s'occupe de l'inter-site On peut identifier l'ordre des réplication et qui replique avec qui. Par défaut toute les sites ce répliquent avec tout le monde. Cela n'est pas optimisé .. figure:: data/20121203_087.png Par défaut on a .. figure:: data/20121203_088.png mais on peut l'optimiser ainsi .. figure:: data/20121203_089.png Il existe une notion de serveur tête de pont. Cela permet d'indiquer quels sont les serveurs qui réalise les réplications intersite (notion de DC prioritaire entre site) .. figure:: data/20121203_090.png .. note:: on peut aussi gérer le schedule des liens de réplication Il existe deux lignes de commande qui gère la réplication :: repadmin dcdiag .. figure:: data/20121203_091.png