Introduction
Active Directory (AD) est au cœur des infrastructures informatiques des entreprises. Il gère les identités, les accès et les ressources d’un réseau. Cependant, il est souvent mal sécurisé, ce qui en fait une cible privilégiée pour des attaquants.
Une compromission d’AD peut avoir des conséquences désastreuses. En effet, un attaquant qui en prend le contrôle peut accéder à l’ensemble du réseau, voler des données et déployer des logiciels malveillants. Dans cet article, nous passerons en revue les bonnes pratiques pour sécuriser votre Active Directory. Nous reviendrons notamment sur les failles et attaques courantes ; ainsi que les défauts de configuration pouvant compromettre la sécurité de votre AD.
Guide complet sur la sécurité d’Active Directory (AD)
- Comprendre l’Active Directory et son rôle clé dans les infrastructures informatiques
- Quelles sont les bonnes pratiques pour sécuriser Active Directory ?
- Réalisez un pentest pour évaluer et renforcer la sécurité de votre AD
- Conclusion
Comprendre l’Active Directory et son rôle clé dans les infrastructures informatiques
Qu’est-ce qu’Active Directory ?
Active Directory (AD) est un service annuaire développé par Microsoft. Il constitue l’épine dorsale de la gestion des identités et des accès dans les environnements Windows.
Son objectif principal est de centraliser l’authentification et l’administration des ressources (utilisateurs, machines, applications, permissions) au sein d’un réseau.
L’AD repose sur une structure hiérarchique organisée en domaines, forêts, unités organisationnelles (UO) et objets :
- Un domaine est une entité logique regroupant des objets AD sous une même politique de gestion et d’authentification.
- Une forêt est un ensemble de domaines qui partagent un schéma commun mais peuvent avoir des politiques distinctes.
- Les unités organisationnelles servent à organiser et structurer les objets du domaine en fonction de l’organisation de l’entreprise (ex. département RH, IT, Comptabilité).
- Chaque ressource (utilisateur, ordinateur, groupe, imprimante, etc.) est un objet AD avec des attributs spécifiques.
Le contrôleur de domaine (Domain Controller – DC) est un serveur qui héberge AD et gère l’authentification des utilisateurs. Son rôle est de vérifier les identifiants (nom d’utilisateur et mot de passe) et d’appliquer les politiques de sécurité via les Group Policy Objects (GPO).
Les GPO permettent de définir des configurations spécifiques sur les machines du réseau, comme les règles de mot de passe, les paramètres de connexion ou les restrictions d’accès.
Enfin, En termes d’authentification, Active Directory repose sur deux protocoles principaux : Kerberos et NTLM (NT LAN Manager).
Pourquoi la sécurité de l’AD est cruciale ?
Active Directory est un élément critique du réseau d’une organisation. Il contrôle l’accès aux ressources critiques : fichiers sensibles, applications métiers, serveurs et postes de travail. Sa compromission peut mettre en péril l’ensemble du système d’information.
Un attaquant qui parvient à s’introduire avec un compte utilisateur classique peut chercher à obtenir des droits plus élevés. Pour cela, il exploite des vulnérabilités ou des mauvaises configurations : Kerberoasting, délégations kerberos mal configurées, mouvement latéraux, prise de contrôle d’un contrôleur de domaine, etc.
Pour réduire ces risques, il est essentiel de sécuriser Active Directory de manière proactive. Cela passe par une réduction de la surface d’attaque, une segmentation stricte des accès et des systèmes, un durcissement des systèmes et une détection avancée des intrusions.
Voyons cela plus en détail.
Quelles sont les bonnes pratiques pour sécuriser Active Directory ?
Cloisonner les composants de l’AD : Focus sur le Tier Model
La sécurité d’Active Directory repose sur une approche de défense en profondeur, et l’un des principes fondamentaux pour limiter les risques est le cloisonnement des composants.
Dans un environnement où les cyberattaques deviennent de plus en plus sophistiquées, un accès non contrôlé à l’AD peut avoir des conséquences désastreuses pour l’organisation.
Le Tier Model, recommandé par l’ANSSI, permet d’appliquer une séparation stricte entre les niveaux de privilèges et les ressources critiques.
L’objectif est simple : empêcher qu’une compromission au niveau des postes utilisateurs (les plus exposés) ne puisse entraîner l’élévation des privilèges jusqu’aux contrôleurs de domaine.
Pourquoi segmenter l’Active Directory ?
La segmentation basée sur le Tier Model présente plusieurs avantages stratégiques en matière de cybersécurité :
- Réduction des risques d’élévation de privilèges : Un attaquant qui compromet un poste utilisateur ne doit jamais pouvoir élever ses privilèges jusqu’aux serveurs ou aux contrôleurs de domaine.
- Isolation des ressources critiques : Les systèmes essentiels (contrôleurs de domaine, serveurs métiers) sont protégés des menaces provenant d’équipements moins sécurisés.
- Limitation des attaques latérales : Une bonne segmentation freine la propagation d’une attaque au sein du réseau, rendant plus difficile l’exploitation de vulnérabilités transversales.
- Meilleure gestion des accès et des permissions : En compartimentant les rôles et les accès, on empêche des administrateurs ou utilisateurs de disposer de droits inutiles.
Comprendre le modèle en trois niveaux (Tiers)
Le Tier Model repose sur la hiérarchisation des privilèges et des ressources administrées au sein de l’organisation. Il est structuré en trois niveaux :
- Le Tier 0 représente le cœur de confiance du système. Il regroupe les systèmes et comptes les plus sensibles de l’organisation : les contrôleurs de domaine (DC), les comptes administrateurs AD, les serveurs de gestion des identités (PKI, ADFS, etc.) ainsi que les comptes et systèmes ayant des droits d’administration sur AD. De fait, une compromission à ce niveau donne à l’attaquant un contrôle total sur l’Active Directory et, par extension, sur tout le système d’information.
- Le Tier 1 englobe les ressources essentielles au fonctionnement de l’entreprise. Il regroupe les serveurs métiers et applicatifs, les bases de données critiques, les systèmes industriels et équipements spécialisés ainsi que les comptes administrateurs de serveurs applications. Une compromission à ce niveau pourrait affecter les données métiers critiques et perturber les services IT internes et externes.
- Enfin le Tier 2 se concentre sur les postes utilisateurs et les périphériques (imprimantes, scanners et autres périphériques connectés). Notons par ailleurs que les postes de travail utilisateurs sont la porte d’entrée principale des attaques (phishing, malware, exécution de code malveillant). Ainsi, un attaquant cherchant à élever ses privilèges commencera presque toujours par compromettre un compte utilisateur standard.
Assurer l’étanchéité entre les Tiers
L’efficacité du Tier Model repose sur une isolation stricte entre chaque niveau. Un principe fondamental est qu’un Tier ne doit jamais administrer un Tier de niveau supérieur. Voici les règles essentielles pour garantir une segmentation efficace :
- Tout d’abord, les administrateurs Tier 0 n’utilisent que des postes sécurisés dédiés (PAW) et ne se connectent jamais à des ressources de niveau inférieur.
- Ensuite, les serveurs Tier 1 ne doivent jamais être accessibles en administration depuis un poste utilisateur Tier 2.
- De plus, les comptes et groupes d’administration doivent être strictement limités et revus régulièrement.
- Enfin, l’usage de sessions RDP, PowerShell Remote et autres outils d’administration doit être encadré et surveillé.
L’application rigoureuse du Tier Model permet de réduire drastiquement les possibilités de compromission d’un environnement Active Directory. En effet, une organisation qui cloisonne efficacement ses ressources et applique des contrôles stricts d’administration diminue significativement les risques liés aux mouvements latéraux et aux élévations de privilèges.
Toutefois, ce modèle ne constitue pas une solution unique, mais doit être combiné avec d’autres bonnes pratiques de sécurité.
Réduire la surface d’attaque Active Directory
Active Directory est une cible de choix pour les attaquants cherchant à élever leurs privilèges ou à se déplacer latéralement dans un réseau.
Plusieurs techniques permettent d’exploiter des vulnérabilités bien connues des services AD (AD CS, AD DS, AD FS). Il est donc crucial d’appliquer des contrôles stricts pour réduire la surface d’attaque et minimiser les risques.
Protéger l’AD contre le Kerberoasting
Le Kerberoasting est une attaque qui permet à un attaquant ayant un compte valide d’extraire des tickets de service Kerberos et de tenter de les cracker hors ligne pour récupérer des mots de passe en clair.
Cela fonctionne car les tickets de service sont chiffrés avec le hash du mot de passe du compte de service associé. Si ce compte utilise un mot de passe faible, l’attaquant peut le casser avec des outils comme Hashcat et obtenir un accès.
Pour réduire le risque de cette vulnérabilité, les contrôles de sécurité suivants doivent être mis en œuvre :
- Utiliser des gMSA (Group Managed Service Accounts) pour ces objets. Ils disposeront d’une gestion automatique des mots de passe avec une rotation empêchant leur cassage.
- Limiter les privilèges des comptes avec un SPN (Service Principal Name) et éviter qu’ils soient membres de groupes à haut privilège (ex. : Domain Admins) afin de réduire l’impact d’une compromission.
Contrer l’AS-REP Roasting
L’AS-REP Roasting est une attaque qui cible les comptes utilisateurs configurés avec l’option « Do not require Kerberos preauthentication ».
Un attaquant sans privilège peut demander un ticket d’authentification (AS-REP) pour ces comptes et récupérer une réponse chiffrée avec le hash du mot de passe de l’utilisateur. Si ce compte utilise un mot de passe faible, l’attaquant peut le casser avec Hashcat et obtenir un accès au compte.
Pour réduire le risque de cette vulnérabilité, les contrôles de sécurité suivants doivent être mis en œuvre :
- Activer la pré-authentification Kerberos sur tous les comptes. Si un compte doit la contourner, limiter ses privilèges et éviter qu’il soit membre de groupes à haut privilège (ex. : Domain Admins).
- Utiliser des mots de passe forts : minimum 30 caractères en veillant à ce qu’ils soient uniques et gérés correctement.
Empêcher l’ajout de machines au domaine AD
La présence de l’attribut MachineAccountQuota
vient d’une configuration par défaut dans l’Active Directory. Cet attribut permet à n’importe quel utilisateur authentifié de créer jusqu’à 10 comptes machines dans le domaine.
Un attaquant sans privilège peut exploiter cela en enregistrant un nouvel ordinateur ; et obtenir ainsi un compte machine avec des identifiants propres. Il pourra ensuite utiliser cette machine pour réaliser différentes attaques au sein du domaine (notamment des attaques par délégation).
Pour réduire le risque de cette vulnérabilité, il faut tout simplement empêcher les utilisateurs non privilégiés d’ajouter des machines au domaine en définissant l’attribut MachineAccountQuota à 0.
Désactiver la délégation sans contrainte (Unconstrained Delegation)
La délégation sans contrainte (Unconstrained Delegation) est une configuration risquée qui permet à une machine d’usurper l’identité des utilisateurs se connectant à cette dernière pour accéder à d’autres services.
Contrairement à la « Constrained Delegation », qui limite ces droits à des services spécifiques, l’Unconstrained Delegation autorise l’accès à n’importe quel service.
Lorsqu’un utilisateur s’authentifie à une machine avec cette configuration, son ticket Kerberos (TGT) est stocké dans la mémoire du processus LSASS. Un attaquant qui compromet cet ordinateur peut extraire ces tickets et s’en servir pour se faire passer pour l’utilisateur et élever ses privilèges. Si un administrateur de domaine s’est connecté, l’attaquant peut récupérer son ticket et prendre le contrôle total de l’environnement.
Par ailleurs, il existe des techniques permettant de forcer un utilisateur à s’authentifier ; ce qui rend cette attaque encore plus dangereuse.
Pour réduire le risque de cette vulnérabilité, les contrôles de sécurité suivants doivent être mis en œuvre :
- Désactiver l’Unconstrained Delegation sur les objets machines ou utiliser la « Resource-Based Constrained Delegation » à la place si nécessaire.
- Configurer les comptes privilégiés comme « sensibles et ne pouvant pas être délégués ».
- Ajouter les comptes privilégiés au groupe de sécurité « Protected Users » pour empêcher leur délégation.
- Désactiver le service « Print Spooler » sur les contrôleurs de domaine pour éviter son exploitation dans des attaques d’authentification forcée.
Durcissement avancé de la sécurité Active Directory
Appliquer les correctifs de sécurité à un environnement Active Directory est une première étape essentielle, mais insuffisante pour garantir une protection efficace. De nombreuses configurations par défaut de Microsoft ne sont pas optimisées pour la sécurité, laissant des vulnérabilités exploitables par les attaquants.
Il est donc nécessaire de renforcer la posture de sécurité en mettant en place des mesures complémentaires telles que la restriction des accès administratifs, la surveillance des connexions et le durcissement des protocoles de communication.
Renforcement de LDAP : Channel Binding & Signing
LDAP Channel Binding & Signing est une fonctionnalité de sécurité qui permet de renforcer l’authentification et la confidentialité des communications LDAP (Lightweight Directory Access Protocol) via des mécanismes cryptographiques.
En activant LDAP Signing, les connexions LDAP sont sécurisées contre les attaques Man in the Middle (MitM), empêchant ainsi un attaquant d’intercepter ou de modifier les données échangées entre un client et un contrôleur de domaine.
De plus, l’activation de LDAP Channel Binding réduit les risques d’usurpation d’identité en exigeant une liaison plus stricte entre la connexion TLS et la session LDAP sous-jacente.
Sécurisation des communications SMB avec SMB Signing
Le SMB (Server Message Block) Signing est un mécanisme de sécurité qui assure l’intégrité et l’authenticité des communications SMB en signant numériquement chaque message échangé entre un client et un serveur.
En activant cette fonctionnalité, chaque requête SMB est associée à une signature cryptographique, empêchant ainsi les attaques de type relais (SMB Relay) où un attaquant pourrait intercepter et rejouer des communications authentifiées.
Protection des comptes sensibles avec le groupe Protected Users
Le groupe de sécurité « Protected Users » est une fonctionnalité introduite avec Windows Server 2012 R2. Il permet d’appliquer automatiquement des restrictions de sécurité renforcées aux comptes qui y sont ajoutés. Ces restrictions incluent l’interdiction d’utiliser des méthodes d’authentification faibles (comme NTLM, Kerberos avec DES/RC4, ou la délégation sans contrainte) ; empêchant ainsi plusieurs types d’attaques, notamment le Pass the Hash et le Pass the Ticket.
En intégrant les comptes à privilèges (comme les administrateurs de domaine) dans ce groupe, on réduit considérablement la surface d’attaque en imposant une authentification plus sécurisée et en limitant la durée de validité des tickets Kerberos.
Gestion sécurisée des comptes administrateurs locaux avec LAPS (Local Administrator Password Solution)
Local Administrator Password Solution (LAPS) est une solution Microsoft permettant de gérer automatiquement les mots de passe des comptes administrateurs locaux des postes de travail et serveurs. LAPS génère et stocke des mots de passe uniques, complexes et régulièrement renouvelés pour chaque machine.
Surveillance et journalisation des événements Active Directory
Une surveillance efficace de l’Active Directory permet d’identifier rapidement les comportements suspects et de réagir avant qu’un attaquant ne compromette l’environnement.
La mise en place d’une journalisation détaillée et d’un suivi en temps réel des événements critiques est essentielle pour maintenir une sécurité robuste.
Activation des logs et centralisation via un SIEM
Le journal d’audit de Windows doit être activé pour enregistrer les événements liés aux connexions, aux modifications d’objets Active Directory et à la création de comptes.
Cependant, stocker ces logs localement est insuffisant : une centralisation avec un SIEM (Security Information and Event Management) est nécessaire pour détecter et corréler les incidents en temps réel.
Une fois les logs collectés, des règles doivent être définies pour identifier les activités suspectes et déclencher des alertes automatiques.
Détection des activités suspectes et réponse aux incidents
Certains événements doivent être surveillés de près, car ils indiquent souvent une tentative de compromission :
- Une série d’échecs d’authentification sur des comptes à privilèges peut signaler une attaque brute force.
- Un accès inhabituel à des ressources sensibles (serveurs critiques, bases de données) peut révéler une tentative d’exfiltration de données.
- La création d’un nouveau compte disposant de privilèges élevés en dehors des processus normaux est un signe potentiel d’escalade de privilèges.
- Toute modification des GPO non autorisée doit être analysée immédiatement, car les attaquants les manipulent pour établir une persistance ou désactiver des contrôles de sécurité.
L’intégration d’alertes automatiques sur ces actions permet aux équipes de sécurité d’intervenir rapidement avant qu’une attaque ne se propage.
Surveillance des GPO et des modifications critiques d’Active Directory
Les Group Policy Objects (GPO) jouent un rôle clé dans la configuration et la gestion des postes et serveurs d’un domaine. Les attaquants tentent souvent de les modifier pour désactiver des protections, créer des backdoors ou propager des payloads malveillants.
Ainsi, il est impératif de :
- Suivre toutes les modifications apportées aux GPO critiques, en particulier celles appliquées aux contrôleurs de domaine.
- Comparer régulièrement les configurations actuelles aux standards de sécurité définis.
- Mettre en place des snapshots réguliers des stratégies de groupe pour détecter toute altération suspecte.
Réalisez un pentest pour évaluer et renforcer la sécurité de votre AD
Un pentest Active Directory est un exercice indispensable pour évaluer les vulnérabilités de l’environnement et tester la robustesse des contrôles de sécurité.
En adoptant une approche proactive, il est possible de corriger les failles avant qu’elles ne soient exploitées, limitant ainsi les risques de compromission et assurant une meilleure résilience face aux cyberattaques.
Conclusion
Sécuriser Active Directory est une tâche continue. La configuration initiale ne suffit pas : une surveillance constante et des tests réguliers sont nécessaires pour anticiper les menaces.
Un AD bien protégé repose sur plusieurs piliers : réduction des privilèges, durcissement des configurations, surveillance active et audits de sécurité. En appliquant ces bonnes pratiques, les entreprises peuvent limiter les risques et renforcer leur résilience face aux cyberattaques.
Auteurs : Alexis PARET – Pentester & Amin TRAORÉ – CMO @Vaadata