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
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, ...)
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)
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
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)
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
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
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
Au niveau des rôles, le rôle Active Directory Domain Service permet d’ajouter les outils d’administration des AD à distant
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)
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
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é)
Note
UAC: équivalent du “lancer en tant que” (runas)
sur l’AD il y a les OU et les containers
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
on peut maintenant ajouter le composant
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
On peut voir ainsi toutes les partitions de l’AD (user, configuration, ...)
il existe un mode d’affichage avancé dns la gestion de l’AD
avec ce mode d’affichage il est possible de savoir ou ce trouve un objet dans ces propriétés
et un editeur d’attribut (si on ne passe pas par “find”)
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 PROPLASTf.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
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
le domaine local donne les autorisation et on les applique à des groupes globaux
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
mais
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
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)
le scope d’un groupe est généré lors de la création du groupe
Il est possible de faire gérer par quelqu’un d’autre que l’administrateur la gestion d’un groupe
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, ...
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 ....
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 computersecuritédroit utilisateur)
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
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
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é.
Il existe une boite nommé “Group Policy Objects” qui contient l’ensemble des GPOs
Ordre d’application des GPOs sur une OU est disponible (en prenant en compte forcé, héritage, ...)
l’onglet de delagation indique quoi fait qui via les liens GPO
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)
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
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
il faut noter que dans la partie security de la GPO on peut indiquer sur quel utilisateur cette GPO s’applique
(il s’applique aussi aux utilisteurs de l’OU, mais si vous ne souhaitez pas faire de boucle de rappel pour filtrer computer/user)
Détail des GPOs¶
2 types:
- ordinateur
- utilisateurs
Il est possible d’ajouter des nouvelles templates administratives suivant les logiciels installés (ex office)
Il faut pour cela intégrer des fichiers adm (fournit par l’éditeur)
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:
- copier tout les fichiers admx dans C:/windows/PolicyDefinition
- 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
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
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
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)
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
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
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
Audit¶
Il permet de visualiser les accès non autorisé.
Il faut modifier la GPO
mais aussi la ressource que souhaite auditer (ex un répertoire)
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
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
(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
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
il faut enregistrer la mmc
il faut ajouter une délégation de contrôle pour dire qui a le droit de faire quoi
et maintenant on peut avoir ce genre d’outil
il faudra mettre la mmc en mode utilisateur (options de mmc)
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)
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
Il est possible de faire une audit par GPO
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
il faut créer un nouvel objet PSO
le PSO gère l’historique, la longueur, la complexité
On retrouve notre PSO dans le container System Password Setting Container
Par la suite on peut appliquer cette PSO via la modificiation d’un attribut de l’objet PSO
ON peut retrouver la PSO sur l’objet User via les attribut (filter construted)
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
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
- sur le dc principale il faire une pré-création d’un RODC (on ne génère que l’objet)
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
- sur le RODC il suffit de faire un dcpromo (en indiquant qu’on rentre dans une foret et un domain existant)
- configurer la copie ou non des mots de passe
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
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:
- Maître d’opération des noms de domaine: il gère l’ajout ou la suppression de domaine (et donc de DC)
- 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:
- 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.
- 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.
- 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
Il existe des outils pour transférer ces rôles d’une machine à une autre
Pour le rôle de schéma il faut activer l’editeur de schéma dans mmc
on peut maintenant ajouter le composant
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:
- début: seul le service FRS est utilisé
- préparé: on copie C:windowsSYSVOLdomainesysvol C:windowsSYSVOL_DFSRdomainesysvol
dfsrmig /setglobalstate 1
# pour voir la progression dfsrmig /getmigrationstate
- redirige: on modife le partage SYLVOL vers la nouvelle cible
dfsrmig /setglobalstate 2
# pour voir la progression dfsrmig /getmigrationstate
- 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.
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)
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é
Par défaut on a
mais on peut l’optimiser ainsi
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)
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