Active Directory
Types de domaines Active Directory
La forêt Active Directory est une structure hiérarchique, dans laquelle se trouve un domaine racine de la forêt, des sous-domaines, et des domaines racine d’un arbre. Un seul domaine est le domaine racine de toute la forêt.
Tous les domaines de la forêt se font automatiquement confiance (trust), et chaque domaine est une frontière de sécurité, de réplication, et d’authentification. Tous les domaines sont des sous-ensembles de la forêt.
Dans une même forêt Active Directory, on peut retrouver trois types de domaines :
-
domaine racine de la forêt ;
-
domaine racine d’un arbre ;
-
sous-domaine.
Schéma de la forêt du lab avec les trois types de domaine
1. Le lab pour la mise en œuvre des domaines
Voici le premier lab qui sera mis en œuvre dans ce chapitre. Il grandira au fur et à mesure des manipulations abordées, pour atteindre la taille que l’on peut constater dans le schéma avec pas moins de six machines Windows Server.
Il contient deux forêts ecole.com et independants.fr, dans deux réseaux distincts. Le domaine elearning.com sera rattaché au domaine ecole.com.
Le routeur BLR (borderline router) qui fait le lien entre les deux réseaux sera réalisé avec une machine Windows Server, nous verrons ensemble sa configuration. Vous êtes libre d’utiliser d’autres systèmes pour servir de routeur.
Une fois l’architecture entièrement déployée, nous y apporterons quelques modifications pour nous exercer sur les derniers sujets du chapitre.
Mais avant de mettre la main à la pâte et de commencer à déployer des machines virtuelles, nous devons passer en revue certains concepts de base.
2. Domaine racine de la forêt
C’est le premier domaine que l’on crée, il est le parent de tous les autres domaines. On peut distinguer deux utilisations du domaine racine :
-
Le domaine racine dédié : il ne sert qu’à administrer les autres domaines, on ne mettra dedans aucun utilisateur à part les administrateurs. Il ne représente aucun emplacement géographique ou organisationnel au sein de la forêt. Il permet de hiérarchiser et de déléguer l’administration...
Mise en œuvre d’une forêt multidomaine
Nous allons maintenant commencer le lab et voir la mise en œuvre d’une forêt avec un domaine racine, deux sous-domaines, et un domaine racine d’un arbre. Il sera aussi créé une relation d’approbation de type raccourci entre les deux sous-domaines.
Le domaine racine sera ecole.com, les sous-domaines paris.ecole.com et nantes.ecole.com, le domaine racine d’un arbre eleaning.com.
Ajouter un domaine a une forêt et créer une relation d’approbation doit se faire avec un compte qui est administrateur de l’entreprise, ce qui est le cas de l’administrateur du domaine racine.
D’un point de vue réseau, dans ce chapitre, tous les contrôleurs de domaine sont dans le même réseau physique, et le même réseau IP 192.168.1.0/24, afin de simplifier les problématiques réseau, et se concentrer sur l’Active Directory.
1. Création du domaine racine
a. Considérations sur le matériel des contrôleurs de domaine
Microsoft recommande de prendre en compte certains critères pour les différents composants du serveur qui va héberger Active Directory :
-
Espace disque :
-
40 à 60 Ko par objet Active Directory ;
-
110 % de la taille de la base de données en espace libre, pour la défragmentation de la base de données.
-
Mémoire vive :
-
taille totale de la base de données et taille totale du dossier sysvol ;
-
taille recommandée pour le système d’exploitation ;
-
besoin des applications tierces et rôles supplémentaires ;
-
prévoir environ 33 % de mémoire en plus pour l’évolution des besoins.
-
Carte réseau : 1 Go/seconde recommandé. Requis pour Windows Server.
-
Processeur : 1000 utilisateurs maximum par cœur. Cache L4.
Autres considérations :
Avec la taille et le prix des SSD actuels, un disque dédié aux données d’Active Directory devrait convenir dans l’immense majorité des scénarios.
La taille de la mémoire vive doit permettre de stocker, en plus du système, toutes les données Active Directory en RAM, afin de ne pas avoir à chercher les données sur le disque, toujours plus lent...
Relation d’approbation de forêt et approbation externe
Ces relations d’approbation se font entre des forêts totalement indépendantes les unes des autres. Elles peuvent être mises en place pour des collaborations entre des entreprises distinctes, ou lors de rachat d’entreprises.
Puisque les infrastructures réseau des différentes forêts sont elles aussi indépendantes, et probablement sur des réseaux distants, pour pouvoir mettre en œuvre des relations d’approbation de forêt et des relations d’approbation externes, il est possible qu’il faille configurer des pare-feu pour laisser passer les communications entre les différents contrôleurs de domaine.
Les ports utilisés par les contrôleurs de domaine sont les suivants :
-
DNS : TCP/UDP port 53 ;
-
LDAP : TCP/UDP port 389 ;
-
authentification Kerberos : TCP/UDP port 88 ;
-
mot de passe Kerberos : TCP/UDP port 464a ;
-
RPC : TCP/UDP port 135a ;
-
NetBIOS : TCP/UDP port 137 - 138a ;
-
SMB : TCP/UDP port 445a ;
-
LDAP SSL : TCP/UDP port 636a ;
-
catalogue global : TCP/UDP port 3268 - 3269.
De plus, il est nécessaire de faire des réglages au niveau des DNS de ces infrastructures, afin que les contrôleurs de domaine puissent router les requêtes DNS et résoudre mutuellement leurs noms de domaines.
1. Configuration des DNS
Plusieurs configurations de DNS peuvent permettre de mettre en œuvre des relations d’approbation externes et de forêt :
-
des redirecteurs conditionnels, solution la plus simple à déployer, qui indique à quelle adresse réseau joindre le DNS de l’autre domaine ;
-
des zones secondaires, solution assez semblable aux redirecteurs conditionnels, qui a l’avantage d’être mise à jour dynamiquement ;
-
un serveur DNS racine commun, qui doit contenir les délégations DNS de chaque nom de domaine, solution plus complexe et pas vraiment adaptée.
Dans ce chapitre, des redirecteurs conditionnels seront utilisés.
2. Relation d’approbation de forêt
Une relation d’approbation de forêt se fait entre les deux domaines racines des deux forêts. Elle est forcément transitive vers d’éventuels sous-domaines, et peut être...
Rôles FSMO
1. Introduction aux rôles FSMO
Quand on déploie plusieurs contrôleurs de domaine pour un même domaine, celui qui est installé en premier est dit contrôleur « principal », et tous les autres contrôleurs qui seront mis en œuvre par la suite dans ce domaine seront dits « secondaires ».
Si tous les contrôleurs d’un domaine permettent la gestion des objets Active Directory, seul le contrôleur principal possède au départ certaines fonctionnalités. C’est ce qu’on appelle les rôles FSMO.
L’acronyme FSMO veut dire Flexible Single Master Operation. La base de données Active Directory est basée sur un modèle dit « multimaître » ce qui permet à n’importe quel contrôleur du domaine d’écrire dans la base de données. Cela peut générer des conflits si plusieurs modifications d’un même objet ont lieu en même temps. Il existe un mécanisme pour gérer ces conflits, cela entraîne le fait que le dernier contrôleur de domaine où a eu lieu une modification l’emporte sur les autres. C’est l’approche last writer wins.
Pour autant, certaines modifications ne sont possibles que depuis le serveur qui détient les rôles FSMO, afin d’empêcher les conflits plutôt que d’avoir à les résoudre. C’est un modèle à « maître unique » qui est alors employé. Un exemple de réglage qui ne peut être effectué que depuis un seul contrôleur de domaine est celui on l’on décide quel serveur va être la source d’horloge pour synchroniser l’heure sur tous les serveurs.
Il existe donc cinq rôles FSMO qui remplissent chacun une ou plusieurs fonctions, et qui au départ sont sur le contrôleur de domaine principal. Comme nous le verrons, il est possible de changer les rôles FSMO de serveur, mais ils ne peuvent exister que sur un seul serveur, soit au niveau de la forêt, soit au niveau du domaine.
En résumé, pour certaines opérations l’on va utiliser un modèle à maître unique, mais de manière flexible. Cette façon...
Base de données Active Directory
La base de données Active Directory est contenue dans un fichier au format JET qui s’appelle ntds.dit et qui se trouve si l’on garde l’emplacement par défaut, ce qui n’est pas recommandé, à l’emplacement c:\windows\ntds qui est présent dans tous les contrôleurs de domaine d’une forêt.
1. Partitions de la base de données
La base de données contient différentes partitions, qui se répliquent de différentes manières selon le cas.
Partition de configuration
Elle est créée à la création de la forêt. Elle contient des informations sur la forêt. La structure de la forêt, les domaines et sous-domaines, les contrôleurs de domaine…
Elle est répliquée dans tous les contrôleurs de domaine de la forêt.
Partition de schéma
La partition du schéma contient la définition de tous les types d’objets que l’on peut créer, ainsi que les règles de création et de manipulation d’objets dans le schéma.
Répliquée dans tous les contrôleurs de domaine de la forêt.
Partition de domaine
Créée lorsque l’on crée un domaine. Elle contient la liste des utilisateurs, des groupes, des OU, et les réglages spécifiques au domaine.
Elle est répliquée sur les contrôleurs de domaine d’un même domaine.
Partitions des applications
Elles sont créées par des applications comme le DNS ou Exchange. Il peut y avoir plusieurs partitions d’application dans la base de données. Il est possible de créer des partitions d’application nous-mêmes.
Pour le DNS, on aura deux partitions d’application :
-
ForestDNSzones répliquée sur tous les contrôleurs de domaine de la forêt ;
-
DomainDNSzones répliquée au sein d’un même domaine.
Il existe plusieurs possibilités pour visualiser les partitions de la base de données Active Directory, nous allons utiliser l’utilitaire ADSIedit.msc
Ouvrez une invite cmd...
Schéma Active Directory
Le schéma Active Directory contient la liste de tous les types d’objets, comme utilisateur, groupe, unité d’organisation, contrôleur de domaine, etc., et la liste de tous les attributs possibles pour chaque type d’objet, comme le nom, le SID, ou encore le numéro de téléphone.
Chaque version de Windows Server vient avec un numéro de version du schéma, et le schéma de Windows Server 2022 est la quatre vint huitième version !
Le schéma est géré par le contrôleur de domaine qui a le rôle FSMO de maître du schéma, qui est unique au sein de la forêt. Les modifications seront ensuite répliquées sur les autres contrôleurs de domaine de la forêt.
1. Prérequis à la modification du schéma
Il est possible de modifier le schéma, en ajoutant un type d’objet, ou un attribut a un type d’objet déjà existant. Toute modification du schéma doit être faite à partir du serveur qui a le rôle maître du schéma.
Pour savoir quel serveur a le rôle, nous avons déjà vu la commande :
netdom query fsmo
Mais il aussi possible de le faire en PowerShell. La commande suivante nous donnera le nom du serveur qui est le maître du schéma :
Get-ADForest | Select-Object name, schemamaster
Il est aussi possible de faire une commande pour voir quels rôles FSMO a le serveur sur lequel on se trouve :
Get-ADDomainController | Select-Object OperationMasterRoles
Pour pouvoir modifier le schéma, il faut s’être authentifié avec un compte qui appartient aux groupes administrateurs de l’entreprise et administrateurs du schéma.
Pour visualiser et effectuer...
Dossier sysvol
Le dossier sysvol qui est créé à la promotion d’un serveur en contrôleur de domaine est un partage qui contient principalement deux choses : les stratégies de groupe et des scripts d’ouverture de session, typiquement pour monter des partages réseau à l’ouverture de Windows.
Par défaut sysvol se trouve dans le dossier Windows, il est possible de choisir un autre emplacement lors de la promotion du serveur en contrôleur de domaine. Ce dossier est partagé pour que les machines clients puissent accéder aux gpo et aux scripts.
Sysvol contient quatre sous-dossiers.
Le dossier domaine
Ce dossier contient deux sous-dossiers, policies où se trouvent les stratégies de groupe, et scripts ou l’on mettra les scripts d’ouverture de session.
Les dossiers staging et staging area
Ils servent à la réplication de sysvol, staging contient les données en attente de réplication.
Le sous-dossier sysvol
Dans le dossier sysvol il y a donc un autre dossier sysvol, il contient un point de jonction, sorte de raccourci, qui permet aux machines distantes d’accéder au partage.
1. Vérification de la réplication
Ce dossier est répliqué dans les contrôleurs de domaine, et l’on évite d’y mettre d’autres types de données pour ne pas allonger les temps de réplication....
Sites Active Directory
1. Concepts de base
Les sites Active Directory sont une fonctionnalité qui a pour but de gérer les domaines étendus sur plusieurs emplacements physiques, comme entre plusieurs villes. Cela sous-entend qu’une connectivité réseau est établie, par exemple avec des VPN site à site.
Ils servent notamment à régler la réplication de la base de données Active Directory entre des sites physiques distants. Il est aussi possible de lier des GPO à un site.
Grâce aux sites Active Directory, on peut donc créer et gérer une topologie de réplication, qui peut être différente de la topologie réseau, entre plusieurs emplacements physiques. Par défaut, il n’y a qu’un seul site Active Directory et tous les contrôleurs de domaine sont dedans.
Dans Windows Server il y a une console de gestion dédiée aux sites, on peut y accéder par le menu Start - Windows Administrative Tools - Active Directory Sites and Services.
À l’ouverture de la console, on peut voir le site par défaut qui s’appelle Default-First-Site-Name et les contrôleurs de domaine qui sont dedans.
Lorsque l’on ajoute des contrôleurs de domaines dans un domaine, un processus appelé KCC (Knowledge Consistency Checker) va créer automatiquement des objets de connexion, sur les contrôleurs de domaine, et ces objets vont être utilisés pour la réplication.
Chaque contrôleur de domaine a ainsi un objet de connexion pour chaque autre contrôleur du domaine.
On peut voir ces objets de connexion dans le profil Active Directory d’un serveur/onglet Général/NTDS settings/Connections. Ils sont générés automatiquement, mais peuvent aussi être créés à la main, ou édités. Si les objets de connexion sont créés à la main ou édités, alors ils ne seront plus gérés par le KCC. Ils représentent la réplication entrante venant d’un autre serveur.
En plus de gérer les connexions, le KCC va aussi gérer les topologies de réplication à l’intérieur d’un site et entre différents sites.
a. Réplication intrasite...
Contrôleur de domaine en lecture seule
Un contrôleur de domaine en lecture seule, un RODC, est un serveur qui répliquera les modifications de la base de données Active Directory, mais depuis lequel on ne pourra faire aucune modification.
Il y a plusieurs cas de figure dans lesquels on peut vouloir déployer un RODC, selon les besoins métier ou l’infrastructure.
Nous voulons déployer un contrôleur de domaine dans un site distant, dans lequel nous ne maîtrisons pas totalement la sécurité physique, qui n’est pas aussi bien sécurisé que le siège de la compagnie.
Le contrôleur de domaine sera dans un site distant où il n’y a pas de technicien à qui l’on fait entièrement confiance pour l’administration du serveur.
En effet, dans le cas d’un déploiement dans des locaux distants, les RODC apportent plusieurs avantages.
-
Ils vont nous permettre de décider quels identifiants sont mis en cache dans le serveur et d’éviter que les identifiants à hauts privilèges soient stockés localement.
-
Il est possible de déléguer son installation à un utilisateur qui a moins de privilèges.
-
Lorsqu’un utilisateur ouvre sa session Windows pour la première fois dans un site géré par un RODC, ses identifiants sont importés depuis le contrôleur de domaine principal, et mis en cache dans le RODC. Cela peut ralentir la première ouverture de session, mais seuls les identifiants des utilisateurs du site local sont stockés dans le RODC.
-
Et bien sûr, personne ne peut effectuer de modifications depuis le RODC.
Il y a cependant quelques limitations :
-
Un RODC ne peut pas avoir de rôles FSMO.
-
Un RODC ne peut pas être une tête de pont pour la réplication.
-
Au niveau du DNS comme de l’Active Directory, un RODC n’accepte l’écriture que depuis un autre contrôleur de domaine.
-
Quand une machine client se connecte pour la première fois, son enregistrement dans la zone DNS de l’Active Directory est fait sur le contrôleur principal puis synchronisé sur le RODC. Là aussi, cela peut occasionner des ralentissements.
-
Enfin, s’il y a des dizaines, voire des centaines d’utilisateurs dans le site distant, on préférera...
Gestion avec PowerShell
Pour finir ce chapitre sur l’Active Directory, nous allons voir comment gérer des utilisateurs, des groupes et des unités d’organisation avec PowerShell.
1. Peupler Active Directory
Dans cette section, beaucoup de commandes utilisent le caractère d’échappement, le backtick qui se fait avec [AltGr] è, puis espace. Il permet d’aller à la ligne sans interrompre la commande. Il ne doit pas y avoir d’espace après le backtick, il faut aller à la ligne immédiatement.
Pour peupler Active Directory, commencez par créer des unités d’organisation avec la commande suivante :
New-ADOrganizationalUnit
Créez l’unité d’organisation Nantes et les sous-unités ordinateurs et utilisateurs.
Puis, créez un utilisateur avec la commande suivante :
New-ADUser
Il y a beaucoup d’options disponibles pour cette commande puisqu’elle reprend ce qu’on peut mettre dans le profil Active Directory d’un utilisateur.
Dans notre exemple, nous commençons par déclarer une variable qui contiendra le mot de passe. Pour remplir cette variable, le système va nous donner la main pour taper le mot de passe, qui sera caché à l’écran puis qu’il s’agira d’une chaîne de caractères sécurisée.
Pour le reste des options, on retrouve les deux logins SamAccountName et UserPrincipalName, seul le SamAccountname est obligatoire....