Laboratoire Active Directory: Monitoring et Audit
Objectifs Pédagogiques
Compétences visées
- Comprendre l'importance du monitoring dans une infrastructure Active Directory
- Configurer les politiques d'audit avancées pour tracer les événements de sécurité
- Gérer les journaux d'événements Windows (taille, rétention, analyse)
- Créer une structure organisationnelle adaptée au monitoring et à la séparation des rÎles
- Implémenter des comptes de service dédiés aux outils de monitoring
- Appliquer des GPOs de sécurité pour renforcer la surveillance de l'infrastructure
Scénario Entreprise
Contexte professionnel
MonitoringTech SPRL est une PME bruxelloise spécialisée dans les services informatiques gérés (Managed Services Provider). L'entreprise compte 24 employés répartis en 4 départements:
- IT Operations (5 personnes): GÚre l'infrastructure serveurs, réseau et virtualisation
- Security (5 personnes): Responsable de la sécurité informatique, audits et conformité
- Ressources Humaines (5 personnes): Gestion du personnel et formation
- Finance (5 personnes): Comptabilité, contrÎle de gestion, reporting financier
Suite à un incident de sécurité récent (tentative d'accÚs non autorisé détectée tardivement), la direction a mandaté l'équipe IT Operations et Security pour mettre en place une infrastructure de monitoring robuste avec traçabilité complÚte des événements critiques.
Le laboratoire simule cette infrastructure aprÚs déploiement des solutions de monitoring (PRTG, collecteur de logs SIEM, outils d'audit).
Durée Estimée
Temps d'exécution
- Exécution du script: 5-8 minutes
- Configuration manuelle des GPOs: 15-20 minutes
- Exploration et vérification: 20-30 minutes
- Total: ~50 minutes
Prérequis
Avant de commencer
- Windows Server 2022 avec rÎle AD DS installé et configuré
- Domaine maxtec.be fonctionnel
- PowerShell ISE ouvert en tant qu'Administrateur
- Modules PowerShell:
ActiveDirectory,GroupPolicy(installés automatiquement avec AD DS) - Espace disque: ~500 MB libre pour les journaux d'événements étendus
Structure Créée par le Script
Vue d'ensemble de l'arborescence
OU=MONITORING,DC=maxtec,DC=be
â
âââ OU=ITOperations
â âââ OU=Users (5 utilisateurs)
â âââ OU=Computers (stations IT)
â âââ OU=Groups (GG-MONITORING-ITOperations-Users, GG-MONITORING-ITOperations-Admin)
â
âââ OU=Security
â âââ OU=Users (5 utilisateurs)
â âââ OU=Computers (stations Security)
â âââ OU=Groups (GG-MONITORING-Security-Users, GG-MONITORING-Security-Admin, GG-MONITORING-SecurityAuditors)
â
âââ OU=RH
â âââ OU=Users (5 utilisateurs)
â âââ OU=Computers (stations RH)
â âââ OU=Groups (GG-MONITORING-RH-Users, GG-MONITORING-RH-Admin)
â
âââ OU=Finance
â âââ OU=Users (5 utilisateurs)
â âââ OU=Computers (stations Finance)
â âââ OU=Groups (GG-MONITORING-Finance-Users, GG-MONITORING-Finance-Admin)
â
âââ OU=ServiceAccounts
â âââ svc_monitoring (compte service PRTG/Nagios)
â âââ svc_backup (compte service sauvegarde AD)
â âââ svc_audit (compte service collecte logs)
â âââ svc_replication (compte service vĂ©rification rĂ©plication)
â âââ GG-MONITORING-ServiceAccounts (groupe)
â
âââ OU=Computers
âââ OU=DomainControllers (MON-DC01, MON-DC02)
âââ OU=Servers (MON-SRV-MONITORING, MON-SRV-LOG, MON-SRV-BACKUP, MON-SRV-FILE)
âââ OU=Workstations (MON-WS-IT01, MON-WS-IT02, MON-WS-SEC01, MON-WS-SEC02, MON-WS-RH01, MON-WS-FIN01)
Unités Organisationnelles (OUs)
Structure des OUs
OU Racine:
OU=MONITORING,DC=maxtec,DC=be- Conteneur principal du laboratoire
Départements (4 OUs):
| Département | Chemin DN | Sous-OUs |
|---|---|---|
| ITOperations | OU=ITOperations,OU=MONITORING,... |
Users, Computers, Groups |
| Security | OU=Security,OU=MONITORING,... |
Users, Computers, Groups |
| RH | OU=RH,OU=MONITORING,... |
Users, Computers, Groups |
| Finance | OU=Finance,OU=MONITORING,... |
Users, Computers, Groups |
OUs Spéciales:
OU=ServiceAccounts- Comptes de service pour outils monitoringOU=Computers- Tous les ordinateurs (DCs, serveurs, stations)OU=DomainControllers- ContrĂŽleurs de domaineOU=Servers- Serveurs d'infrastructureOU=Workstations- Stations de travail utilisateurs
Protection contre suppression
Toutes les OUs sont créées avec -ProtectedFromAccidentalDeletion $false pour faciliter les exercices de reconstruction et nettoyage du laboratoire.
Utilisateurs
Département IT Operations
Ăquipe infrastructure et opĂ©rations
| Nom Complet | Login | Fonction | Mot de passe | |
|---|---|---|---|---|
| Alexandre Martin | alexandre | alexandre@maxtec.be | Responsable Infrastructure | Monitor2024! |
| Béatrice Dubois | beatrice | beatrice@maxtec.be | Administrateur SystÚmes | Monitor2024! |
| Charles Lefebvre | charles | charles@maxtec.be | Ingénieur Réseau | Monitor2024! |
| Diane Bernard | diane | diane@maxtec.be | Technicien Support | Monitor2024! |
| Ămile Rousseau | emile | emile@maxtec.be | SpĂ©cialiste Virtualisation | Monitor2024! |
Logique d'appartenance:
- TOUS les utilisateurs â
GG-MONITORING-ITOperations-Users - Alexandre (premier alphabĂ©tiquement) â
GG-MONITORING-ITOperations-Admin
Département Security
Ăquipe sĂ©curitĂ© et audit
| Nom Complet | Login | Fonction | Mot de passe | |
|---|---|---|---|---|
| Fabien Moreau | fabien | fabien@maxtec.be | Responsable Sécurité (RSSI) | Monitor2024! |
| Gabrielle Simon | gabrielle | gabrielle@maxtec.be | Analyste Sécurité Senior | Monitor2024! |
| Henri Laurent | henri | henri@maxtec.be | Auditeur SystĂšmes | Monitor2024! |
| Isabelle Michel | isabelle | isabelle@maxtec.be | Spécialiste Conformité | Monitor2024! |
| Julien Leroy | julien | julien@maxtec.be | Analyste SOC | Monitor2024! |
Logique d'appartenance:
- TOUS les utilisateurs â
GG-MONITORING-Security-Users - Fabien (premier alphabĂ©tiquement) â
GG-MONITORING-Security-Admin - Henri, Isabelle, Julien â
GG-MONITORING-SecurityAuditors(auditeurs en lecture seule)
Département Ressources Humaines
Ăquipe RH
| Nom Complet | Login | Fonction | Mot de passe | |
|---|---|---|---|---|
| Karine Fontaine | karine | karine@maxtec.be | Directrice Ressources Humaines | Monitor2024! |
| Laurent Chevalier | laurent | laurent@maxtec.be | Gestionnaire Paie | Monitor2024! |
| Marie Girard | marie | marie@maxtec.be | Responsable Recrutement | Monitor2024! |
| Nicolas Bonnet | nicolas | nicolas@maxtec.be | Assistant RH | Monitor2024! |
| Olivia Dupont | olivia | olivia@maxtec.be | Formatrice Interne | Monitor2024! |
Logique d'appartenance:
- TOUS les utilisateurs â
GG-MONITORING-RH-Users - Karine (premier alphabĂ©tiquement) â
GG-MONITORING-RH-Admin
Département Finance
Ăquipe financiĂšre
| Nom Complet | Login | Fonction | Mot de passe | |
|---|---|---|---|---|
| Pascal Roux | pascal | pascal@maxtec.be | Directeur Financier (CFO) | Monitor2024! |
| Quentin Garnier | quentin | quentin@maxtec.be | ContrĂŽleur de Gestion | Monitor2024! |
| Rachel Fabre | rachel | rachel@maxtec.be | Comptable Senior | Monitor2024! |
| Sylvain Perrin | sylvain | sylvain@maxtec.be | Analyste Financier | Monitor2024! |
| Théa Morel | thea | thea@maxtec.be | Assistante Comptable | Monitor2024! |
Logique d'appartenance:
- TOUS les utilisateurs â
GG-MONITORING-Finance-Users - Pascal (premier alphabĂ©tiquement) â
GG-MONITORING-Finance-Admin
Comptes de Service
Comptes techniques pour monitoring
| Nom Compte | Description | Mot de passe | Propriétés |
|---|---|---|---|
| svc_monitoring | Compte service PRTG/Nagios | ServiceP@ss2024! | PasswordNeverExpires |
| svc_backup | Compte service sauvegarde AD | ServiceP@ss2024! | PasswordNeverExpires |
| svc_audit | Compte service collecte logs audit | ServiceP@ss2024! | PasswordNeverExpires |
| svc_replication | Compte service vérification réplication AD | ServiceP@ss2024! | PasswordNeverExpires |
Tous les comptes de service appartiennent au groupe GG-MONITORING-ServiceAccounts.
Propriétés des comptes utilisateurs
- Comptes activés par défaut
- Mot de passe:
Monitor2024!(utilisateurs normaux) ouServiceP@ss2024!(comptes service) - Pas de changement obligatoire du mot de passe Ă la premiĂšre connexion
- Format email:
login@maxtec.be
Groupes de Sécurité
Convention de nommage OBLIGATOIRE
TOUS les groupes utilisent le préfixe GG- (Global Group). Cette convention est strictement appliquée dans tout le laboratoire.
Groupes Départementaux
Groupes par département
| Nom du Groupe | Scope | Description | Membres |
|---|---|---|---|
| GG-MONITORING-ITOperations-Users | Global | Tous utilisateurs IT Ops | alexandre, beatrice, charles, diane, emile |
| GG-MONITORING-ITOperations-Admin | Global | Administrateurs IT Ops | alexandre |
| GG-MONITORING-Security-Users | Global | Tous utilisateurs Security | fabien, gabrielle, henri, isabelle, julien |
| GG-MONITORING-Security-Admin | Global | Administrateurs Security | fabien |
| GG-MONITORING-SecurityAuditors | Global | Auditeurs en lecture seule | henri, isabelle, julien |
| GG-MONITORING-RH-Users | Global | Tous utilisateurs RH | karine, laurent, marie, nicolas, olivia |
| GG-MONITORING-RH-Admin | Global | Administrateurs RH | karine |
| GG-MONITORING-Finance-Users | Global | Tous utilisateurs Finance | pascal, quentin, rachel, sylvain, thea |
| GG-MONITORING-Finance-Admin | Global | Administrateurs Finance | pascal |
Groupes Spéciaux Monitoring
Groupes transverses pour monitoring
| Nom du Groupe | Scope | Description | Membres |
|---|---|---|---|
| GG-MONITORING-MonitoringAdmins | Global | AccĂšs complet monitoring (PRTG, SIEM, logs) | alexandre, beatrice, fabien |
| GG-MONITORING-ServiceAccounts | Global | Comptes de service monitoring | svc_monitoring, svc_backup, svc_audit, svc_replication |
Ordinateurs
ContrĂŽleurs de Domaine
DCs - Infrastructure AD
| Nom | Description | Localisation |
|---|---|---|
| MON-DC01 | ContrĂŽleur de domaine principal | DataCenter Brussels |
| MON-DC02 | ContrĂŽleur de domaine secondaire | DataCenter Antwerp |
Serveurs d'Infrastructure
Serveurs - Outils monitoring et support
| Nom | Description | Localisation |
|---|---|---|
| MON-SRV-MONITORING | Serveur monitoring PRTG/Nagios | DataCenter Brussels |
| MON-SRV-LOG | Serveur centralisation logs (SIEM) | DataCenter Brussels |
| MON-SRV-BACKUP | Serveur sauvegarde et récupération | DataCenter Antwerp |
| MON-SRV-FILE | Serveur fichiers départemental | DataCenter Brussels |
Stations de Travail
Workstations - Postes utilisateurs
| Nom | Utilisateur Assigné | Département | Localisation |
|---|---|---|---|
| MON-WS-IT01 | Alexandre Martin | IT Operations | Brussels Office - Floor 2 |
| MON-WS-IT02 | Béatrice Dubois | IT Operations | Brussels Office - Floor 2 |
| MON-WS-SEC01 | Fabien Moreau | Security | Brussels Office - Floor 3 |
| MON-WS-SEC02 | Gabrielle Simon | Security | Brussels Office - Floor 3 |
| MON-WS-RH01 | Karine Fontaine | RH | Brussels Office - Floor 1 |
| MON-WS-FIN01 | Pascal Roux | Finance | Brussels Office - Floor 1 |
Stratégies de Groupe (GPOs)
Configuration manuelle requise
Les GPOs sont créées comme shells vides par le script. La configuration des paramĂštres doit ĂȘtre effectuĂ©e manuellement via GPMC en suivant les instructions dĂ©taillĂ©es ci-dessous.
GPO 1: Configuration Journaux ĂvĂ©nements
MONITORING - Configuration Journaux ĂvĂ©nements
Objectif: Augmenter la taille des journaux Windows pour conserver plus d'événements de monitoring
Liée à : OU=MONITORING,DC=maxtec,DC=be
Configuration manuelle dans GPMC:
Ătape 1 - Journal SĂ©curitĂ© (Security Log):
- Computer Configuration â Policies â Administrative Templates â Windows Components
- Event Log Service â Security
- Specify the maximum log file size (KB) = Enabled â Valeur:
2097151KB (2 GB) - Control Event Log behavior when the log file reaches its maximum size = Enabled â SĂ©lectionner: "Overwrite events as needed"
Ătape 2 - Journal Application:
- Computer Configuration â Policies â Administrative Templates â Windows Components
- Event Log Service â Application
- Specify the maximum log file size (KB) = Enabled â Valeur:
524288KB (512 MB)
Ătape 3 - Journal SystĂšme:
- Computer Configuration â Policies â Administrative Templates â Windows Components
- Event Log Service â System
- Specify the maximum log file size (KB) = Enabled â Valeur:
524288KB (512 MB)
Vérification:
# Appliquer la GPO
gpupdate /force
# Vérifier la taille du journal Sécurité
Get-WinEvent -ListLog Security | Select-Object LogName, MaximumSizeInBytes
# Ouvrir Event Viewer et vérifier les propriétés
eventvwr.msc
# Clic droit sur Security â Properties â Maximum log size = 2 GB
GPO 2: Restrictions Stations Sensibles
MONITORING - Restrictions Stations Sensibles
Objectif: Bloquer l'accÚs aux périphériques USB amovibles sur les stations IT et Security pour éviter l'exfiltration de données
Liée à :
OU=Computers,OU=Security,OU=MONITORING,...OU=Computers,OU=ITOperations,OU=MONITORING,...
Configuration manuelle dans GPMC:
Bloquer périphériques USB amovibles:
- Computer Configuration â Policies â Administrative Templates â System
- Removable Storage Access
- All Removable Storage classes: Deny all access = Enabled
Vérification:
- Connecter une clé USB à un ordinateur du département Security ou IT Operations
- Exécuter:
gpupdate /force - La clĂ© USB doit ĂȘtre bloquĂ©e avec message d'erreur Windows
- VĂ©rifier dans Event Viewer: Security log â Event ID 4663 (tentative accĂšs refusĂ©)
GPO 3: Verrouillage Session Automatique
MONITORING - Verrouillage Session Automatique
Objectif: Verrouiller automatiquement les sessions inactives aprÚs 10 minutes pour éviter les accÚs non autorisés
Liée à : OU=MONITORING,DC=maxtec,DC=be
Configuration manuelle dans GPMC:
Délai verrouillage automatique:
- Computer Configuration â Policies â Windows Settings â Security Settings
- Local Policies â Security Options
- Interactive logon: Machine inactivity limit = 600 secondes (10 minutes)
Vérification:
- Appliquer la GPO:
gpupdate /force - Ouvrir une session utilisateur
- Laisser l'ordinateur inactif pendant 10 minutes
- L'écran doit se verrouiller automatiquement avec écran de connexion Windows
Politiques de Sécurité
Politique de Mots de Passe (Domain-level)
Configurée automatiquement par PowerShell
Cette politique est directement configurée par le script via Set-ADDefaultDomainPasswordPolicy:
| ParamĂštre | Valeur | Description |
|---|---|---|
| Longueur minimale | 12 caractĂšres | Force des mots de passe robustes |
| Complexité | Activée | Majuscules, minuscules, chiffres, symboles requis |
| Ăge maximum | 90 jours | Rotation obligatoire tous les 3 mois |
| Ăge minimum | 1 jour | EmpĂȘche changements rĂ©pĂ©titifs rapides |
| Historique | 24 mots de passe | Mémorise les 24 derniers mots de passe |
| Seuil verrouillage | 5 tentatives | Compte bloqué aprÚs 5 échecs |
| Durée verrouillage | 30 minutes | Déverrouillage automatique aprÚs 30 min |
| FenĂȘtre observation | 30 minutes | Compteur rĂ©initialisĂ© aprĂšs 30 min sans Ă©chec |
Vérification:
# Consulter la politique actuelle
Get-ADDefaultDomainPasswordPolicy -Identity "maxtec.be"
# Tester en modifiant le mot de passe d'un utilisateur
Set-ADAccountPassword -Identity "diane" -NewPassword (ConvertTo-SecureString "faible" -AsPlainText -Force)
# Doit échouer car ne respecte pas les critÚres
Politiques d'Audit Avancées
Configurées automatiquement par auditpol.exe
Le script active 12 politiques d'audit via la commande auditpol /set. Les événements sont enregistrés dans le journal Sécurité de Windows.
| CatĂ©gorie | Sous-catĂ©gorie | Success | Failure | ĂvĂ©nements tracĂ©s |
|---|---|---|---|---|
| Logon/Logoff | Logon | â | â | Connexions utilisateurs (Event ID 4624, 4625) |
| Logon/Logoff | Logoff | â | â | DĂ©connexions utilisateurs (Event ID 4634, 4647) |
| Account Logon | Credential Validation | â | â | Validation credentials Kerberos/NTLM (Event ID 4768, 4769, 4771) |
| Account Management | User Account Management | â | â | CrĂ©ation/modification/suppression comptes (Event ID 4720, 4722, 4723, 4724, 4726) |
| Account Management | Security Group Management | â | â | Modifications groupes de sĂ©curitĂ© (Event ID 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4756, 4757, 4758) |
| Account Management | Computer Account Management | â | â | Gestion comptes ordinateurs (Event ID 4741, 4742, 4743) |
| Policy Change | Audit Policy Change | â | â | Modifications politiques d'audit (Event ID 4719, 4912) |
| Policy Change | Authentication Policy Change | â | â | Modifications politiques authentification (Event ID 4706, 4707, 4713, 4716, 4717, 4718, 4739) |
| Privilege Use | Sensitive Privilege Use | â | â | Utilisation privilĂšges sensibles (Event ID 4672, 4673, 4674) |
| DS Access | Directory Service Access | â | â | AccĂšs objets AD DS (Event ID 4662) |
| DS Access | Directory Service Changes | â | â | Modifications objets AD DS (Event ID 5136, 5137, 5138, 5139, 5141) |
| Object Access | File Share | â | â | AccĂšs partages rĂ©seau (Event ID 5140, 5142, 5143, 5144, 5145) |
Vérification:
# Afficher toutes les politiques d'audit configurées
auditpol /get /category:*
# Vérifier une sous-catégorie spécifique
auditpol /get /subcategory:"Logon"
# Consulter les événements d'audit dans Event Viewer
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} -MaxEvents 20 | Format-Table TimeCreated, Message -AutoSize
# Filtrer événements échecs de connexion
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625} -MaxEvents 10
Instructions d'Exécution
Ătape 1: PrĂ©parer l'environnement
Prérequis techniques
- Vous devez ĂȘtre connectĂ© en tant qu'Administrateur du domaine sur le contrĂŽleur de domaine
- Le domaine maxtec.be doit ĂȘtre fonctionnel
- Ouvrir PowerShell ISE en tant qu'Administrateur (clic droit â ExĂ©cuter en tant qu'administrateur)
Ătape 2: Copier le script
Récupération du script
- Localisez le fichier
MonitoringLab_Setup.ps1dans le rĂ©pertoirescripts/ - Option A: Ouvrir directement dans PowerShell ISE (File â Open â
MonitoringLab_Setup.ps1) - Option B: Copier-coller le contenu complet du script dans l'éditeur PowerShell ISE
Ătape 3: Lire les commentaires
Comprendre avant d'exécuter
Avant d'exécuter, parcourez le script pour comprendre:
- Les 9 étapes principales (OUs, utilisateurs, groupes, ordinateurs, GPOs, etc.)
- Les conventions de nommage (préfixe GG- pour les groupes)
- Les mots de passe par défaut utilisés
- Les politiques de sécurité appliquées
Ătape 4: ExĂ©cuter le script
Lancement interactif
- Dans PowerShell ISE, appuyer sur F5 (ou cliquer sur le bouton vert "Run Script")
- Le script vous demandera confirmation pour chaque étape majeure
-
Répondre avec:
- O (Oui) pour exécuter l'étape
- N (Non) pour sauter l'étape
- Q (Quitter) pour arrĂȘter complĂštement le script
-
Observer la sortie console avec codes couleur:
- đą Vert: Objet créé avec succĂšs
- đĄ Jaune: Objet existe dĂ©jĂ (idempotence)
- đŽ Rouge: Erreur lors de la crĂ©ation
Ătape 5: Configurer les GPOs manuellement
Configuration GPMC requise
AprÚs exécution du script, 3 GPOs sont créées mais vides. Vous devez les configurer manuellement:
- Ouvrir Group Policy Management Console (gpmc.msc)
- Naviguer vers Forest: maxtec.be â Domains â maxtec.be â Group Policy Objects
-
Pour chaque GPO créée (voir section GPOs ci-dessus):
- Clic droit â Edit
- Suivre les chemins de navigation indiqués dans la section GPOs
- Configurer les paramÚtres exacts spécifiés
- Fermer GPMC Editor
-
Appliquer les GPOs:
gpupdate /force
Ătape 6: VĂ©rifier la crĂ©ation
Validation post-exécution
Utilisez les commandes PowerShell ci-dessous pour vérifier que tout est correct (voir section "Vérification Post-Exécution").
Vérification Post-Exécution
Commandes PowerShell de Vérification
Vérifier les OUs créées
# Afficher toutes les OUs sous MONITORING
Get-ADOrganizationalUnit -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be" |
Select-Object Name, DistinguishedName |
Sort-Object DistinguishedName
# Compter le nombre total d'OUs
(Get-ADOrganizationalUnit -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be").Count
# Attendu: ~21 OUs
Vérifier tous les utilisateurs créés
# Lister tous les utilisateurs dans MONITORING
Get-ADUser -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be" -Properties EmailAddress, Title, Department |
Select-Object Name, SamAccountName, EmailAddress, Title, Department, Enabled |
Format-Table -AutoSize
# Compter les utilisateurs
(Get-ADUser -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be").Count
# Attendu: 24 utilisateurs (20 normaux + 4 comptes service)
# Vérifier un utilisateur spécifique
Get-ADUser -Identity "alexandre" -Properties *
Vérifier les groupes et leurs membres
# Lister tous les groupes avec préfixe GG-MONITORING
Get-ADGroup -Filter 'Name -like "GG-MONITORING*"' |
Select-Object Name, GroupScope, GroupCategory, Description |
Format-Table -AutoSize
# Afficher les membres d'un groupe spécifique
Get-ADGroupMember -Identity "GG-MONITORING-ITOperations-Users" |
Select-Object Name, SamAccountName, objectClass
# Afficher tous les groupes avec leurs membres (détaillé)
Get-ADGroup -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be" | ForEach-Object {
Write-Host "`n[GROUPE] $($_.Name)" -ForegroundColor Cyan
Get-ADGroupMember -Identity $_.Name | Select-Object Name, SamAccountName | Format-Table
}
Vérifier les ordinateurs créés
# Lister tous les ordinateurs dans MONITORING
Get-ADComputer -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be" -Properties Description, Location |
Select-Object Name, Description, Location, Enabled |
Format-Table -AutoSize
# Compter les ordinateurs
(Get-ADComputer -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be").Count
# Attendu: 12 ordinateurs (2 DCs + 4 serveurs + 6 stations)
# Lister uniquement les DCs
Get-ADComputer -Filter * -SearchBase "OU=DomainControllers,OU=Computers,OU=MONITORING,DC=maxtec,DC=be"
Vérifier les GPOs créées
# Lister toutes les GPOs MONITORING
Get-GPO -All | Where-Object {$_.DisplayName -like "MONITORING*"} |
Select-Object DisplayName, GpoStatus, CreationTime, Description |
Format-Table -AutoSize
# Vérifier les liens GPO
Get-GPO -Name "MONITORING - Configuration Journaux ĂvĂ©nements" | Get-GPOReport -ReportType Xml
Vérifier la politique de mots de passe
# Afficher la politique de mots de passe du domaine
Get-ADDefaultDomainPasswordPolicy -Identity "maxtec.be"
# Résultat attendu:
# MinPasswordLength: 12
# ComplexityEnabled: True
# MaxPasswordAge: 90 jours
# LockoutThreshold: 5
Vérifier les politiques d'audit
# Afficher toutes les politiques d'audit
auditpol /get /category:*
# Vérifier une catégorie spécifique
auditpol /get /category:"Account Logon"
# Vérifier les événements d'audit récents
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} -MaxEvents 5 | Format-List
Exporter la structure en CSV pour référence
# Exporter les utilisateurs
Get-ADUser -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be" -Properties EmailAddress, Title, Department |
Select-Object Name, SamAccountName, EmailAddress, Title, Department, Enabled |
Export-Csv -Path "C:\Labos\MonitoringLab_Utilisateurs.csv" -NoTypeInformation -Encoding UTF8
# Exporter les groupes avec membres
$groups = Get-ADGroup -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be"
$groupData = @()
foreach ($group in $groups) {
$members = Get-ADGroupMember -Identity $group.Name | Select-Object -ExpandProperty SamAccountName
$groupData += [PSCustomObject]@{
GroupName = $group.Name
Members = ($members -join "; ")
MemberCount = $members.Count
}
}
$groupData | Export-Csv -Path "C:\Labos\MonitoringLab_Groupes.csv" -NoTypeInformation -Encoding UTF8
# Exporter les ordinateurs
Get-ADComputer -Filter * -SearchBase "OU=MONITORING,DC=maxtec,DC=be" -Properties Description, Location |
Export-Csv -Path "C:\Labos\MonitoringLab_Ordinateurs.csv" -NoTypeInformation -Encoding UTF8
Vérification Manuelle (GUI)
Vérification via outils graphiques
Active Directory Users and Computers (dsa.msc):
- Ouvrir Active Directory Users and Computers
- Naviguer vers maxtec.be â MONITORING
- Vérifier la présence de toutes les OUs départementales
-
Dans chaque département:
- Vérifier les utilisateurs dans
OU=Users - Vérifier les groupes dans
OU=Groups - Double-cliquer sur un groupe â Onglet Members â VĂ©rifier les appartenances
- Vérifier les utilisateurs dans
-
Vérifier les comptes de service dans
OU=ServiceAccounts - Vérifier les ordinateurs dans
OU=Computers(DCs, Servers, Workstations)
Group Policy Management Console (gpmc.msc):
- Ouvrir Group Policy Management
- Naviguer vers Forest: maxtec.be â Domains â maxtec.be â Group Policy Objects
- Vérifier la présence des 3 GPOs MONITORING-*
- Clic droit sur chaque GPO â Edit â VĂ©rifier les paramĂštres configurĂ©s
- VĂ©rifier les liens: naviguer vers OU=MONITORING â Onglet Linked Group Policy Objects
Event Viewer (eventvwr.msc):
- Ouvrir Event Viewer
- Naviguer vers Windows Logs â Security
- Clic droit â Properties â VĂ©rifier Maximum log size = 2 GB (aprĂšs configuration GPO)
- Filtrer les événements d'audit:
- Event ID 4624: Connexions réussies
- Event ID 4625: Ăchecs de connexion
- Event ID 4720: Création compte utilisateur
- Event ID 4728: Ajout membre Ă un groupe
Concepts Clés Démontrés
Compétences Active Directory mises en pratique
1. Architecture AD pour le Monitoring
- Séparation des responsabilités via OUs départementales
- OU dédiée aux comptes de service (meilleure pratique de sécurité)
- OU centralisée pour les ordinateurs avec sous-catégorisation (DCs/Servers/Workstations)
2. Gestion des Identités et AccÚs (IAM)
- Comptes utilisateurs avec attributs complets (titre, département, email)
- Comptes de service avec propriétés spécifiques (PasswordNeverExpires, CannotChangePassword)
- Groupes de sécurité Global Groups (GG-) pour gérer les permissions
- Séparation rÎles admin vs. utilisateurs standards
3. Audit et Traçabilité
- Politiques d'audit avancées via
auditpol.exe - Traçage des connexions, modifications de comptes, changements de politiques
- AccĂšs aux objets AD DS et partages fichiers
- Journaux d'événements étendus pour conserver l'historique
4. Politiques de Sécurité
- Politique de mots de passe renforcée (12 caractÚres, complexité, rotation)
- Verrouillage automatique des comptes aprÚs tentatives échouées
- Verrouillage automatique des sessions inactives
- Restriction des périphériques USB pour limiter l'exfiltration de données
5. Group Policy Objects (GPOs)
- Création de GPOs via PowerShell
- Configuration manuelle dans GPMC pour paramĂštres Windows natifs
- Liaison de GPOs à des OUs spécifiques (héritage)
- Application sélective selon les départements
6. Monitoring Infrastructure
- Comptes de service dédiés pour outils de monitoring (PRTG, Nagios, SIEM)
- Groupe spécial MonitoringAdmins pour accÚs administratif complet
- Groupe SecurityAuditors pour auditeurs en lecture seule
- Serveurs dédiés pour centralisation logs et backups
Exercices Pratiques
Exercices disponibles
Le laboratoire Monitoring comprend 6 exercices progressifs avec scripts de vérification automatique:
Niveau Débutant:
- Exercice 01: Exploration de la Structure Monitoring - Découverte guidée de l'arborescence AD et des objets créés
- Exercice 02: Analyse des ĂvĂ©nements d'Audit - Consultation des logs Security et identification des Ă©vĂ©nements critiques
Niveau Intermédiaire:
- Exercice 03: Configuration ComplĂšte des GPOs - Configuration manuelle des 3 GPOs dans GPMC et tests de fonctionnement
- Exercice 04: Gestion des Comptes de Service - Modification des comptes service et attribution de permissions monitoring
Niveau Avancé:
- Exercice 05: Création d'une Politique d'Audit Personnalisée - Définir et implémenter une nouvelle politique d'audit pour un besoin métier spécifique
- Exercice 06: Simulation Incident de Sécurité et Investigation - Scénario réaliste d'incident avec analyse forensique des logs AD
Dépannage
ProblĂšmes Courants
Erreurs fréquentes et solutions
| Erreur | Cause Possible | Solution |
|---|---|---|
| "OU already exists" | Structure déjà créée lors d'une exécution précédente | Utiliser le script MonitoringLab_Cleanup.ps1 pour nettoyer, ou appuyer sur 'N' pour sauter l'étape |
| "Access denied" | PowerShell ISE non exĂ©cutĂ© en tant qu'Administrateur | Fermer PowerShell ISE, clic droit â ExĂ©cuter en tant qu'administrateur |
| "Module ActiveDirectory not found" | Module AD non chargé (rare avec AD DS installé) | Exécuter: Import-Module ActiveDirectory |
| "Cannot validate argument on parameter 'Identity'" | Erreur de syntaxe DN ou nom groupe incorrect | Vérifier l'orthographe exacte du DN dans le script (respecter majuscules/minuscules) |
| "The specified account already exists" | Utilisateur existe déjà dans AD | Le script est idempotent: il affichera un message jaune et continuera |
| GPO créée mais paramÚtres vides | Configuration manuelle non effectuée | Ouvrir GPMC et suivre les instructions de configuration dans la section GPOs ci-dessus |
| "auditpol : Access is denied" | Permissions insuffisantes | Exécuter PowerShell en tant qu'Administrateur du domaine |
Commandes de Diagnostic
Commandes utiles pour diagnostiquer les problĂšmes
Vérifier le rÎle AD DS:
# Vérifier que AD DS est installé et démarré
Get-WindowsFeature -Name AD-Domain-Services
# Résultat attendu: Install State = Installed
Vérifier le domaine actuel:
# Afficher les informations du domaine
Get-ADDomain
# Vérifier le nom DNS du domaine
(Get-ADDomain).DNSRoot
# Attendu: maxtec.be
Vérifier les privilÚges de l'utilisateur connecté:
# Vérifier l'appartenance aux groupes Admins
whoami /groups | findstr "Admins"
# Ou avec PowerShell
([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
# Doit retourner: True
Vérifier la connectivité avec le DC:
# Tester la connexion LDAP au DC
Test-Connection -ComputerName (Get-ADDomainController).HostName -Count 2
# Afficher le DC actuellement utilisé
(Get-ADDomainController).HostName
Vérifier les modules PowerShell chargés:
# Lister les modules importés
Get-Module
# Vérifier spécifiquement ActiveDirectory et GroupPolicy
Get-Module -Name ActiveDirectory, GroupPolicy
# Si absents, les importer manuellement
Import-Module ActiveDirectory
Import-Module GroupPolicy
Diagnostic complet de l'environnement AD:
# Script de diagnostic complet
Write-Host "=== Diagnostic Environnement AD ===" -ForegroundColor Cyan
Write-Host "`nDomaine:" -ForegroundColor Yellow
Get-ADDomain | Select-Object Name, DNSRoot, DomainMode
Write-Host "`nContrĂŽleur de domaine:" -ForegroundColor Yellow
Get-ADDomainController | Select-Object HostName, IPv4Address, OperatingSystem
Write-Host "`nUtilisateur actuel:" -ForegroundColor Yellow
whoami
Write-Host "`nPrivilĂšges administratifs:" -ForegroundColor Yellow
([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
Write-Host "`nModules PowerShell chargés:" -ForegroundColor Yellow
Get-Module | Select-Object Name, Version
Ăvolutions Possibles du Laboratoire
Extensions futures pour approfondir l'apprentissage
Pour approfondir ce laboratoire dans des sessions avancées, vous pourriez:
-
Intégration SIEM Réel
- Installer un collecteur de logs (ELK Stack, Splunk Free, Wazuh)
- Configurer la collecte automatique des événements Windows Security
- Créer des tableaux de bord de monitoring en temps réel
-
Fine-Grained Password Policies (FGPP)
- Créer des politiques de mots de passe différenciées par département
- Politique plus stricte pour Security (15 caractĂšres minimum)
- Politique moins stricte pour RH (10 caractĂšres)
-
Monitoring de Réplication AD
- Scripts PowerShell pour surveiller l'état de réplication entre MON-DC01 et MON-DC02
- Alertes automatiques en cas de problÚme de réplication
- Dashboard de santé AD avec
Get-ADReplicationFailure
-
Sauvegarde et Restauration AD
- Configuration de sauvegardes systĂšme Windows Server Backup
- Sauvegarde de l'état systÚme AD (System State)
- Exercices de restauration autoritaire et non-autoritaire
-
Audit Avancé avec PowerShell
- Scripts de génération de rapports d'audit automatiques
- Détection d'anomalies (connexions en dehors des heures ouvrables)
- Alerting par email lors d'événements critiques
-
Intégration Azure AD Connect (Hybride)
- Synchronisation avec Azure AD pour simulation cloud hybride
- Monitoring de la synchronisation
- Audit des identités cloud et on-premises
-
Scénarios de Réponse aux Incidents
- Exercices de compromission simulée (compte piraté)
- Procédures de réponse (désactivation compte, analyse logs)
- Post-mortem et documentation d'incident
-
Performance Monitoring AD
- Compteurs de performance Windows (LDAP queries, authentications)
- Monitoring des ressources serveurs (CPU, RAM, disque DCs)
- Baseline de performance et alertes de dépassement
-
Gestion des Certificats et PKI
- Installation d'une autorité de certification (CA)
- Déploiement de certificats pour utilisateurs/ordinateurs
- Monitoring de l'expiration des certificats
-
Advanced Threat Analytics (ATA) / Microsoft Defender for Identity
- Installation de Microsoft Defender for Identity
- Détection de comportements anormaux (Pass-the-Hash, Golden Ticket)
- Intégration avec le monitoring AD existant