Active Directory : comment interdire l’utilisation de certains mots de passe ?
Sommaire
I. Présentation
Dans cet article, nous allons voir pourquoi et comment interdire l’utilisation de certains mots de passe pour les comptes utilisateurs de l’Active Directory.
Dans un environnement Active Directory, la sécurité des mots de passe est un élément central pour protéger les comptes utilisateurs contre les cyberattaques. Cependant, même avec une politique de mot de passe stricte, certains utilisateurs ou administrateurs choisissent des mots de passe faibles ou pouvant être facilement devinés. Afin de renforcer la sécurité de votre domaine, il est possible d'interdire l’utilisation de certains mots de passe.
II. Pourquoi interdire certains mots de passe ?
Il existe plusieurs cas de figure pour lesquels il est souhaitable d’interdire le paramétrage de certains mots de passe spécifiques par les utilisateurs ou les administrateurs.
Plus un Active Directory est volumineux et ancien, plus les risques de mauvaises pratiques et faiblesses notables sont présents. Durant mon parcours en tant que pentester, j’ai eu l’occasion de réaliser de nombreux tests d’intrusion internes au sein d’entreprises de tailles, maturités et natures différentes. Dans de nombreux cas, la réutilisation entre plusieurs comptes utilisateur d’un même mot de passe m’a permis de compromettre plusieurs comptes utilisateurs, parfois même privilégiés, m'amenant alors vers la compromission complète du domaine.
Pour améliorer son niveau de sécurité et sa robustesse face à une cyberattaque, il peut être envisagé d’interdire certains mots de passe spécifiques, notamment lorsqu’ils découlent des situations suivantes.
A. Premier mot de passe commun à tous les comptes
Une pratique courante au sein des équipes d’administration consiste à assigner le même premier mot de passe (que l’on nommera « par défaut ») à tout nouvel utilisateur, avec la consigne de le changer rapidement bien entendu. Un exemple classique d’un tel mot de passe peut-être "Bienvenue2024!".
Cependant, ce changement de mot de passe n’est pas systématiquement réalisé, notamment lorsqu’il n’est pas imposé techniquement. Dans bien des cas, il est possible de retrouver des comptes utilisateurs avec ce mot de passe même plusieurs années après leur création... Soit parce qu’ils n’ont jamais été utilisés, soit parce que l'obligation de changement de mot de passe n'a pas été appliquée (comptes techniques, comptes de test, comptes "temporaires").
Dans de tels cas et lorsque l'on veut mettre fin à cette mauvaise pratique, il peut être intéressant d’interdire spécifiquement ce mot de passe pour les prochaines créations de comptes ou modification de mot de passe.
B. Mauvaise procédure de réinitialisation de mot de passe
Un autre cas que j’ai pu croiser à de nombreuses reprises est celui de la réinitialisation de mot de passe. Lorsqu’un utilisateur oublie son mot de passe (ce qui arrive à chaque retour de vacances, notamment avec une politique de mot de passe complexe), les administrateurs ont parfois le réflexe par simplicité de réinitialiser son mot de passe par un nouveau qui sera toujours le même, par exemple : "ResetPassword!". Puis, ils répondront à l'utilisateur de la façon suivante : « J’ai réinitialisé ton mot de passe avec le mot de passe par défaut ».
Ainsi, les utilisateurs finissent par tous connaître le mot de passe en question et peuvent tenter de compromettre leur petit voisin avec. Ce cas de figure est notamment exploitable par un attaquant ayant pris connaissance de ce mot de passe après compromission de l’application web de ticketing, par exemple.
C. Manque d’originalité lors du changement de mot de passe
Lorsque l’utilisation d’un premier mot de passe « commun » à tous les utilisateurs est la pratique en place. Les utilisateurs finissent souvent, lorsqu’un changement de mot de passe est imposé, par y appliquer une modification très mineure et prévisible telle que "Bienvenue2025!", "ResetPassword1!".
Dans de tels cas, et notamment lorsque l’on veut mettre fin à l’utilisation d’un mot de passe « par défaut », reliquat des mauvaises pratiques d’antan, il peut être intéressant d’interdire ce mot de passe par défaut et ses éventuels dérivés faibles ("Bienvenue2025 !", "Bievenue2026 !", etc.).
Ainsi, cette interdiction s’appliquera aux utilisateurs, mais aussi aux administrateurs et membre de l'équipe Help Desk.
Enfin, il est important de noter le manque d’originalité des utilisateurs lors de la définition de leur mot de passe. D’après mes expériences, qui m’ont amené à consulter de très nombreux mots de passe au sein d’Active Directory compromis, une écrasante majorité de ceux-ci sont simplement une combinaison de quelques éléments simples comme "[NomDeL'Entreprise]2024", "[NomDeLaPetiteAmie][DateDelaRencontre]","[NomRegion][CodePostal]","[NomDeL'Enfant][DateDeNaissance]", etc. Certains de ces patterns, notamment ceux contenant le nom de l'entreprise ou de la région ou du département, peuvent là aussi être interdits si l’on dispose des bons outils.
D. Le cas des mots de passe compromis
Il peut également être judicieux de souhaiter bloquer l'utilisation de certains mots de passe déjà compromis. Dans les faits, plusieurs circonstances peuvent révéler la compromission d’un mot de passe ou d’un compte utilisateur, comme une enquête numérique menée suite à une compromission ou un incident suspect, ou encore une recherche OSINT (Open Source Intelligence) réalisée par votre équipe de sécurité ou un prestataire externe.
L'idée de cette démarche est d'effectuer des recherches actives dans des sources "ouvertes" et de tenter de détecter si des comptes, accès ou mots de passe de nos utilisateurs ont fuité et sont revendus sur le Dark Net. Si un accès compromis est découvert, il convient bien entendu de désactiver le compte, de changer son mot de passe et d'insérer ce dernier dans la liste des mots de passe interdits. Cela permet d'être sûr qu'il ne sera jamais réutilisé par cet utilisateur, ni par un autre.
E. Quels sont les risques ?
Les risques associés à l'utilisation d'un mot de passe compromis ou d'un même mot de passe faible par plusieurs comptes sont bien sûr importants. Ils incluent la compromission de comptes utilisateurs par un attaquant en « boite noire » (ne disposant que d’un accès réseau, sans comptes valides sur l’AD jusqu’alors) ou par un autre utilisateur afin d'usurper une identité, soit l’élévation de privilège d’un utilisateur vers un profil "administrateur" par exemple.
Dans les faits, la découverte d’un mot de passe lors d’une cyberattaque, notamment lorsqu’il semble avoir une structure intelligible, entraîne mécaniquement une tentative de brute force ou de password spraying de la part de l’attaquant. Il va alors chercher à répondre à la question : "est-ce que d’autres utilisateurs ont le même mot de passe ou un dérivé faible de celui-ci ?".
Pour en savoir plus sur ces attaques, je vous oriente vers notre article à ce sujet :
- IT-Connect - L’essentiel sur les attaques brute force : principes, types d’attaques et mesures de protection
Enfin, il faut noter qu’il est fréquent que les équipes IT découvrent l’usage massif de mots de passe communs après :
- une investigation numérique suite à une compromission
- un test d’intrusion ayant mené à la compromission du domaine et la récupération/analyse de la base NTDS.DIT de l’Active Directory
- un audit occasionnel des mots de passe de l’Active Directory
- une revue des procédures organisationnelles de gestion du cycle de vie des comptes utilisateurs
Si ces événements ne sont pas encore survenus dans votre SI, il est temps d’envisager de telles mesures proactives (évitez toutefois d’attendre la première option !).
Maintenant que nous avons dressé ce constat, voyons quelles peuvent être les mesures à prendre pour interdire le paramétrage de mots de passe spécifique au sein de l’Active Directory.
III. Les politiques de mot de passe dans Active Directory
Le premier élément sur lequel agir pour renforcer globalement le niveau de robustesse des mots de passe est bien sûr la politique de mot de passe de votre Active Directory.
Cette politique de mot de passe permet de définir plusieurs critères afin de garantir un format et une robustesse minimale de tous les mots de passe modifiés ou créés après son application (ce détail est important). Parmi ces critères, nous retrouvons bien entendu :
- La longueur minimale des mots de passe
- L’obligation d’utiliser des caractères spéciaux, chiffres, majuscules et minuscules
- Le renouvellement périodique des mots de passe
Pour aller plus loin dans la définition d’une politique de mot de passe efficace, je vous oriente vers notre article à ce sujet :
Cependant, les outils de l’Active Directory concernant cette politique de mot de passe ne permettent pas nativement d’interdire le paramétrage de certains mots de passe par les utilisateurs. Ainsi, le mot de passe "Bienvenue2024!" est sûrement conforme à votre politique de mot de passe, il n’en est pas moins prévisible et Microsoft ne fournit pas les outils nécessaires pour bloquer son utilisation. Egalement, même si un mot de passe compromis est découvert par une recherche OSINT, vous ne pourrez jamais être sûr que celui-ci n'est pas en ce moment même utilisé par l'un de vos utilisateurs.
IV. Filtres de mots de passe interdits sur l’AD : quelles solutions techniques
Pour aller plus loin que la politique de mot de passe, nous allons passer en revue certains outils qui nous permettent d’interdire explicitement le paramétrage de certains mots de passe par les utilisateurs ou les administrateurs.
Comme nous l’avons vu précédemment, ce besoin peut apparaître à la suite d’une compromission, d’un test d’intrusion, d’un audit des mots de passe AD ou d’un changement dans la procédure d’assignation des mots de passe.
Souvent, une amélioration des pratiques d’administration concernant la création de comptes utilisateur consiste à se dire « on arrête d’utiliser ce mot de passe par défaut, maintenant, ils seront générés aléatoirement ». Mais, les mauvaises pratiques ont la vie dure et il est parfois nécessaire de s’aider d’outils techniques pour mettre concrètement en place ces restrictions.
A. Utilisation du service Microsoft Entra Password Protection
Si votre AD on-premise est lié à un tenant Azure via Entra ID Connect, vous pouvez utiliser Microsoft Entra Password Protection (anciennement Azure AD Password Protection) pour bloquer des mots de passe communs ou faibles grâce à des listes personnalisées. Il s'appuie sur une base de mots de passe gérées par Microsoft, à laquelle s'ajoutent vos mots de passes interdits. Voici à quoi ressemble l’interface qui permet de configurer cette interdiction :
Ainsi, même si votre AD on-premise peut être protégé par cette protection, il faut noter qu’il ne s’agit pas d’un outil gratuit. En effet, vos utilisateurs synchronisés doivent être couverts par une licence Microsoft Entra ID Premium P1 ou P2 pour pouvoir être protégé par Microsoft Entra Password Protection.
Pour en savoir plus sur la mise en place de cette protection, je vous oriente vers notre article à ce sujet :
Dans le cas où vous n’êtes pas en mesure d’utiliser Microsoft Entra Password Protection pour interdire des mots de passe spécifiques, d’autres solutions sont possibles.
B. La solution Specops Password Policy
En termes de solution payante et proposée par un éditeur tiers, nous pouvons aussi inclure Specops Password Policy (SPP) qui propose un grand nombre de fonctionnalités autour de la sécurité et l’audit des mots de passe AD :
- Analyse des mots de passe compromis présents dans l'AD
- Création d’un dictionnaire personnalisé illimité de mots et mots de passe bloqués propres à votre organisation
- Interdiction des noms d’utilisateur, caractères consécutifs, mots de passe incrémentiels lors du paramétrage du mot de passe
- Interdiction d'utilisation de mots de passe compromis (attaques en cours)
- Gestion de l'expiration de mots de passe et de l'aide à l'utilisateur
- Etc.
La fonctionnalité permettant d’interdire des mots de passe spécifiques aux utilisateurs est donc particulièrement adaptée ici. Voici à quoi ressemble la gestion de cette interdiction dans Specops Password Policy :
Cette solution permet donc d'inclure dans un dictionnaire de mots et des mots de passe complet à bloquer. Les mots de passe à intégrer dans cette liste sont bien sûr ceux que vous avez pu identifier dans les cas précédemment cités : mauvaises habitudes de création, réinitialisation des comptes, mais aussi ceux que vous savez comme déjà compromis. N’oubliez pas également d’envisager les dérivés faibles de ces mots de passe pour les intégrer également dans votre liste de blocage.
À ce propos, la solution Specops Password Policy intègre une fonctionnalité qui permet de bloquer les dérivés des mots de passe de sa blacklist, il va générer lui-même ces dérivés possibles à l’aide caractère de substitutions classiques ou d'incrémentation de nom ("Bienvenue2024!" devenant "Bi3nvenue2O24", ou "Bienvenue2025" par exemple), ce qui évite d’avoir à imaginer tous les cas possibles :
La solution Specops Password Policy permet d’ailleurs d’aller bien au-delà de la restriction de mots de passe spécifiques puisqu’il y est possible d’interdire les caractères identiques et consécutifs, ou encore de créer des expressions régulières pour empêcher certains patterns dans les mots de passe.
Pour revenir à la notion de blocage des mots de passe compromis mentionnée plus tôt dans cet article, Specops Password Policy propose la fonctionnalité Breached Password Protection. Ce service compare les hashs des mots de passe des utilisateurs d'Active Directory à une liste constamment mise à jour de hashs de mots de passe compromis.
Cette base contient 4 milliards d'entrées issues de fuites de données majeures et de mots de passe utilisés dans des attaques réelles. Specops alimente également cette liste avec des données provenant de ses propres honeypots.
Lors d'un changement de mot de passe dans Active Directory, le service bloque et avertit les utilisateurs si le mot de passe qu'ils ont choisi se trouve dans la liste de mots de passe bannis.
Pour découvrir plus en détail Specops Password Policy et ses nombreuses fonctionnalités autour de la sécurité des mots de passe des comptes AD, je vous invite à lire notre tutoriel complet dans lequel vous pouvez retrouver également notre vidéo de démonstration.
C. Sensibilisation des utilisateurs
La sensibilisation des utilisateurs est un autre outil, imparfait, mais indispensable, pour renforcer la robustesse des mots de passe au sein d’un Active Directory. Bien que des politiques de sécurité et des filtres de mots de passe puissent être mis en place, le facteur humain reste souvent le maillon faible de la chaîne de sécurité. En cela, il est important de former les utilisateurs en leur expliquant ce qu’est un bon mot de passe et les bonnes raisons d’adopter des pratiques de création de mots de passe robustes et uniques.
Un levier puissant de sensibilisation est de s’appuyer sur des exemples concrets, notamment dans le cas où leur entité aurait déjà été attaquée. Les utilisateurs seront d’autant plus réceptifs lorsqu’ils comprendront que ces risques ne sont pas théoriques, mais bien réels.
Il peut notamment être impactant de citer des statistiques internes si vous disposez déjà de résultat d'audit de sécurité sur votre système d'information. Si vous avez déjà appliqué une mesure pour forcer ces utilisateurs à changer leur mot de passe, une démonstration concrète lors d’une session de sensibilisation peut être particulièrement efficace. En montrant des exemples de mots de passe incriminés (ex. : "Bienvenue2024!" suivi de "Bienvenue2025!"), vous pouvez illustrer à quel point de légères variations d’un même mot de passe ne suffisent pas à garantir la sécurité.
En plus des sensibilisations, il peut être utile de mettre concrètement à l’épreuve la robustesse des mots passe au travers des audits techniques plus larges (tests d’intrusion) ou au contraire orientés sur les mots de passe de l’Active Directory.
V. Conclusion
Nous avons vu dans cet article dans quel cas il est possible de voir apparaître des mots de passe qui, bien que robustes, sont communs à plusieurs comptes utilisateurs et peuvent donc poser un risque de sécurité. Nous avons également vu les impacts qui en découlent et surtout quelles solutions permettent aujourd’hui d’interdire des mots de passe spécifiques pour les comptes utilisateur de l’Active Directory.
Empêcher l’utilisation de certains mots de passe dans Active Directory est donc une mesure de sécurité indispensable pour réduire les risques d'attaque sur les comptes utilisateurs.
Si cet article vous a aidé à mieux comprendre comment améliorer la sécurité de vos mots de passe dans Active Directory, pensez à partager vos retours d'expérience en commentaire ou sur notre Discord !
Cet article contient une communication commerciale.
Bonjour,
il existe cela aussi : https://github.com/JacksonVD/PwnedPasswordsDLL-API
Cordialement,
Evers André
Bonjour, à tester effectivement, même si après lecture du README je suis un peu dubitatif sur le fonctionnement. Ca à l’air d’être une DLL qui requête en direct des API externes à partir des mots de passe trouvés au sein de l’AD. Attention à la sécurité/confidentialité, à creuser ! 🙂
Il y a egalerment la solution Lithnet & « have i been pwned? »
Lithnet! très bon produit :
https://lithnet.io/products
Bonjour, effectivement ça a l’air d’être une solution intéressante également. Merci pour le partage 🙂
Couplé avec la base de have i been pwned? , c’est excellent !
Bonjour,
Vous avez entendu parler de la méthode Fine-Grained Password Policy (FGPP) ? La FGPP, ou stratégie de mot de passe affinée, s’intègre aux politiques de mot de passe appliquées dans le cadre de l’Active Directory.
https://specopssoft.com/blog/create-fine-grained-password-policy-active-directory/
Bonjour,
Oui bien entendu, nous en avons déjà fait un article 🙂
Mais, cela ne permet d’empêcher l’utilisation de certains mots de passe (de façon directe), mais seulement de durcir la politique de mots de passe.