Introduction aux Domaines Windows
Dans un environnement réseau de petite taille, l'administration individuelle de chaque poste de travail reste gérable. Cependant, dès que l'infrastructure s'étend à des centaines de machines et d'utilisateurs répartis sur plusieurs sites, cette approche devient intenable. C'est ici qu'intervient le concept de domaine Windows.
Un domaine Windows regroupe un ensemble d'utilisateurs et d'ordinateurs sous une autorité administrative commune. L'objectif principal est de centraliser la gestion des composants réseau au sein d'un dépôt unique appelé Active Directory (AD). Le serveur qui héberge et exécute les services d'annuaire est désigné sous le nom de Contrôleur de Domaine (DC).
Les avantages majeurs de cette architecture incluent :
- Gestion centralisée des identités : Provisionnement et administration des comptes utilisateurs à l'échelle du réseau entier.
- Application de stratégies de sécurité : Déploiement uniforme de configurations et de restrictions sur les postes et les utilisateurs.
Services de Domaine Active Directory (AD DS)
Le cœur d'un domaine Windows repose sur les services AD DS. Ce service fonctionne comme une base de données hiérarchique (stockée dans le fichier NTDS.dit) répertoriant tous les objets du réseau : utilisateurs, groupes, ordinateurs, imprimantes, etc.
Objets Utilisateurs
Les utilisateurs sont des entités de sécurité capables de s'authentifier et d'accéder à des ressources. Ils représentent généralement deux types d'entités :
- Personnes physiques : Employés ou collaborateurs nécessitant un accès au système d'information.
- Comptes de service : Identités dédiées à l'exécution d'applications spécifiques (comme IIS ou SQL Server), configurées avec le principe du moindre privilège.
Objets Ordinateurs
Chaque machine jointe au domaine possède son propre objet ordinateur, traité comme un principal de sécurité. Ces comptes disposent de mots de passe complexes, générés et rotés automatiquement par le système. Par convention, le nom du compte ordinateur correspond au nom d'hôte de la machine suffixé par un signe dollar (ex: SRV-WEB01$).
Groupes de Sécurité
Les groupes de sécurité facilitent l'attribution de droits d'accès à des ressources. Plutôt que d'assigner des permissions individuellement, les administrateurs ajoutent des utilisateurs à des groupes. Parmi les groupes intégrés critiques, on retrouve :
| Groupe | Fonction |
|---|---|
| Administrateurs du domaine | Contrôle total sur l'ensemble du domaine et des contrôleurs. |
| Opérateurs de serveur | Gestion des contrôleurs de domaine sans pouvoir modifier les groupes administratifs. |
| Opérateurs de sauvegarde | Accès en lecture/écriture à tous les fichiers pour les opérations de sauvegarde. |
| Utilisateurs du domaine | Regroupe par défaut tous les comptes utilisateurs standard. |
Unités d'Organisation (OU) et Délégation
Les Unités d'Organisation sont des conteneurs logiques utilisés pour structurer les objets AD selon le modèle de l'entreprise (par département, région, etc.). Il est crucial de distinguer les OU des groupes de sécurité :
- Les OU servent à appliquer des stratégies de configuration (GPO) et à déléguer l'administration. Un objet ne peut appartenir qu'à une seule OU.
- Les Groupes servent à gérer les autorisations d'accès aux ressources. Un utilisateur peut appartenir à de multiples groupes.
Délégation de Contrôle
Pour éviter que les administrateurs du domaine ne soient sollicités pour des tâches routinières, il est possible de déléguer des droits spécifiques sur une OU. Par exemple, accorder à une équipe de support de premier niveau le droit de réinitialiser les mots de passe uniquement pour l'OU du département commerrcial.
Voici comment un technicien pourrait réinitialiser un mot de passe et forcer sa modification à la prochaine connexion via PowerShell, en utilisant des variables et une approche structurée :
$identiteCible = "commercial.j.doe"
$nouveauMotDePasseSecurise = ConvertTo-SecureString "P@ssw0rdTemporaire2024!" -AsPlainText -Force
try {
Set-ADAccountPassword -Identity $identiteCible -NewPassword $nouveauMotDePasseSecurise -Reset -ErrorAction Stop
Set-ADUser -Identity $identiteCible -ChangePasswordAtLogon $true
Write-Host "Mot de passe réinitialisé avec succès pour $identiteCible."
} catch {
Write-Error "Échec de la réinitialisation : $_"
}
Stratégies de Groupe (GPO)
Les objets de stratégie de groupe (GPO) permettent de déployer des configurations spécifiques aux utilisateurs et aux ordinateurs au sein d'une OU. Une GPO contient des paramètres de configuration ordinateur (appliqués au démarrage) et des paramètres de configuration utilisateur (appliqués à l'ouverture de session).
Les GPO sont stockées et répliquées via le partage réseau SYSVOL sur tous les contrôleurs de domaine. Pour forcer l'actualisation des stratégies sur une machine cible sans attendre le cycle de rafraîchissement par défaut, on peut utiliser la commande suivante :
# Actualisation immédiate des GPO sur une machine distante spécifique
Invoke-GPUpdate -Computer "PC-FINANCE-04" -Force -RandomDelayInMinutes 0
Protocoles d'Authentification Réseau
Lorsqu'un utilisateur accède à une ressource réseau, son identité doit être vérifiée. Windows s'appuie principalement sur deux protocoles :
Kerberos
Protocole par défaut dans les environnements modernes, Kerberos utilise un système de tickets pour éviter la transmission des mots de passe sur le réseau. Le processus implique le Centre de Distribution de Clés (KDC), hébergé sur le DC :
- L'utilisateur s'authentifie auprès du KDC et reçoit un Ticket Granting Ticket (TGT), chiffré avec le hash du compte
krbtgt. - Pour accéder à un service, l'utilisateur présente son TGT au KDC pour obtenir un Ticket Granting Service (TGS) spécifique au service cible.
- L'utilisateur présente le TGS au serveur hébergeant le service, qui le déchiffre et valide l'accès.
NetNTLM
Protocole hérité basé sur un mécanisme de défi-réponse (challenge-response). Le serveur envoie un défi aléatoire au client. Le client chiffre ce défi avec le hash NTLM de son mot de passe et renvoie la réponse. Le serveur transmet ces éléments au DC qui recalcule la réponse attendue pour valider l'identité. Bien que conservé pour des raisons de compatibilité, NTLM est vulnérable à plusieurs attaques par relais et devrait être restreint autant que possible.
Arborescences, Forêts et Relations d'Approbation
Lorsqu'une organisation s'étend, un seul domaine peut ne plus suffire. Active Directory permet de structurer plusieurs domaines de manière hiérarchique.
Arbres (Trees)
Un arbre regroupe plusieurs domaines partageant un espace de noms contigu (ex: racine.local, fr.racine.local, us.racine.local). Chaque domaine possède ses propres contrôleurs et bases de données, mais ils partagent un schéma et une configurasion communs. Le groupe Administrateurs de l'entreprise dispose de droits sur l'ensemble de l'arborescence.
Forêts (Forests)
Une forêt est l'instance la plus externe de sécurité dans Active Directory. Elle regroupe un ou plusieurs arbres qui ne partagent pas nécessairement le même espace de noms (ex: suite à une fusion d'entreprises). Tous les domaines d'une forêt partagent le même schéma, le même catalogue global et la même configuration.
Relations d'Approbation (Trusts)
Pour permettre aux utilisateurs d'un domaine d'accéder aux ressources d'un autre domaine, des relations d'approbation doivent être établies. Ces relations peuvent être :
- Unidirectionnelles : Le domaine A fait confiance au domaine B. Les utilisateurs de B peuvent accéder aux ressources de A, mais l'inverse n'est pas vrai.
- Bidirectionnelles : Les utilisateurs des deux domaines peuvent accéder aux ressources de l'autre. C'est le comportement par défaut au sein d'une même forêt.
Il est important de noter que l'approbation ne confère pas automatiquement des droits d'accès ; elle rend simplement possible l'attribution de permissions entre les domaines concernés.