Quelle stratégie pour sécuriser les mots de passe des comptes utilisateurs Active Directory ?

Bonjour à tous

La sécurité des mots de passe des comptes utilisateurs est une question de sécurité majeure.
Des outils de recherche brut force comme John The Ripper perttent de retyrouver facilement un mot de passe simple (moins de 4 caractères et basé sur des mots du dictionnaire). Pour plus d’informations, voir http://syskb.com/cracker-un-mot-de-passe-active-directory-avec-fgdump-et-john/
Un compte utilisateur standard dispose :
– D’un accès en lecture à 90% des propriétés des objets de tous les domaines de la forêt Active Directory.
– D’un accès en lecture à la partition de configuration Active Directory.
– D’un accès à tous les dossiers sécurisés à l’aide des groupes “Utilisateurs authentifiés” et “Utilisateurs du domaine”. Par défaut sous Windows 2003, le groupe “Utilisateurs authentifiés” peut lire les fichiers et écrire de nouveau fichiers sur tous les disques de données.
Avec un compte standard un pirate peut :
– Elaborer une attaque plus ciblée car il dispose de la configuration de l’annuaire et de la configuration réseau (via l’analyse de la configuration des sites Active Directory)
– Exécuter de nombreuses attaques basées sur des failles applicatives. La majorité des attaques nécessitent un accès en lecture seul au service attaqué (SMB, IIS). Le portail METASPLOIT intègre une attaque par exemple qui fait planté un serveur Windows 2008 R2 (écran bleu) via un accès en lecture seul à un partage. Pour plus d’informations, voir :
http://www.metasploit.com/modules/exploit/windows/smb/smb_relay
Nous venons donc de voir l’importance de sécuriser les mots de passe des comptes utilisateurs. Nous allons maintenant voir comment faire.

1. DIFFERENCE ENTRE CHANGEMENT DE MOT DE PASSE ET REINITIALISATION DU MOT DE PASSE :
Le premier point à comprendre est la différence entre le changement d’un mot de passe et sa réinitialisation.
La procédure de changement de mot de passe nécessite que l’utilisateur saisisse l’ancien et le nouveau mot de passe.  La fenêtre de changement de mot de passe apparaît quand le mot de passe de l’utilisateur a expiré une fois que l’utilisateur s’est authentifié (après la mire d’ouverture de session) ou quand l’utilisateur fait CTRL ALT SUPPR et clique sur « Modifier le mot de passe ».
La réinitialisation d’un mot de passe peut se faire depuis la console Utilisateurs et Ordinateurs Active Directory ou Centre d’administration Active Directory (compte Active Directory) ou via la console Gestion de l’ordinateur (compte de la BASE SAM locale). Il n’est pas nécessaire de connaître l’ancien mot de passe. Cette action est effectuée par les équipes informatiques et non par les utilisateurs.
Attention, dans certains cas,  la réinitialisation de mot de passe d’un compte de la base SAM fait perdre l’accès aux données chiffrées avec EFS lorsque la machine est en groupe de travail. Pour plus d’informations voir : http://support.microsoft.com/kb/290260/en-us

2. LES PARAMETRES DE STRATEGIE DE MOT DE PASSE :
Active Directory permet de définir les paramètres suivant pour le mot de passe des comptes utilisateurs du domaine :
Historique des mots de passe : ce paramètre permet d’empêcher les utilisateurs de réutiliser le même mot de passe lorsque le mot de passe expire ou lorsque l’utilisateur change son mot de passe.
Durée de vie minimale du mot de passe : ce paramètre permet d’empêcher l’utilisateur de changer son mot de passe après changement pendant un certain nombre de jours. Ce paramètre permet surtout d’empêcher les utilisateurs de changer plusieurs fois leurs mots de passe successivement pour contourner l’historique de mot de passe. Sans ce paramètre activé, avec un historique de mots de passe définis sur 5 mots de passe, il suffit un utilisateur de changer 6 fois de suite son mot de passe pour pouvoir continuer à utiliser son mot de passe actuel.
Durée de vie maximale du mot de passe : le mot de passe expirera au bout d’un certain nombre de jours (par défaut 42). L’utilisateur sera invité à l’ouverture de session à changer son mot de passe.
Longueur minimum du mot de passe : ce paramètre définit le nombre de caractères minimums du mot de passe.
Les mots de passe doivent respecter les exigences de complexité : ce paramètre permet d’obliger les utilisateurs à définir un mot de passe qui contient 3 des 4 familles de caractères. Les 4 familles de caractères sont lettres minuscules (a à z), lettres majuscules (A à Z), les chiffres (0 à 9) et les caractères spéciaux (@é#è?…). Nous verrons que les options de complexité des mots de passe Active Directory sont trop faibles pour vraiment sécuriser les mots de passe. Exemple de mot de passe complexe pas vraiment sécurisé : P@ssword

3. LES NOUVEAUTES DU MODE NATIF 2008 :
Par défaut les stratégies de mots de passe se définissent au niveau de la stratégie « Default Domain Policy » uniquement. Si vous définissez une stratégie de mot de passe au niveau d’une OU, cette dernière s’applique en fait aux comptes de la base SAM locale des machines dont le compte ordinateur est dans cette OU.
Pour plus d’informations, voir article : http://msreport.free.fr/?p=156
Si votre domaine est en mode natif 2008 et ultérieur, il est possible d’activer les stratégies de mot de passe fines (Granular Password Policy).
Le schéma Active Directory inclue deux nouvelles classes d’objets qui sont activées en mode natif 2008 :
– Password Settings Container
– Password Settings.
Les stratégies de mot de passe fines sont donc un mécanisme parallèle aux stratégies de mot de passe classiques (qui ne peuvent toujours être définies qu’un niveau de la stratégie de groupe Default Domain Policy).
Ce mécanisme permet d’affecter une stratégie de mot de passe spécifique à un compte utilisateur ou un groupe. Les paramètres de stratégies (historique, durée de vie minimum, maximum, complexité de mot de passe) sont identiques avec les stratégies de mots de passe fines.
Pour créer les stratégies de mots de passe fine, il faut utiliser ADSIEDIT et appliquer la procédure suivante : http://www.windowsecurity.com/articles/Configuring-Granular-Password-Settings-Windows-Server-2008-Part-1.html
Il existe heureusement des outils gratuits pour faire cela en interface graphique comme SPECOPS PASSWORD POLICY BASICS. Pour plus d’information, voir http://www.specopssoft.com/
Pour plus d’informations sur les stratégies de mots de passe fine (Granular Password Policy), voir les articles suivants :
http://technet.microsoft.com/en-us/library/cc770394(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc770842(WS.10).aspx
http://www.windowsecurity.com/articles/Configuring-Granular-Password-Settings-Windows-Server-2008-Part-1.html

4. COMMENT AMELIORER LE FILTRE DE COMPLEXITE DES STRATEGIES DE MOTS DE PASSE :
Quand nous l’avons vu le filtre de complexité de la stratégie de mot de passe est assez basique.
Voir l’article http://technet.microsoft.com/fr-fr/library/cc786468(WS.10).aspx
En effet, Active Directory considère que les mots de passe suivant sont complexes : Password01 ou Proservia01
Il est possible de personnaliser le filtre de stratégie de mot de passe en réécrivant la DLL passfilt.dll.
Les liens ci dessous contiennent des exemples de fichier passfit.dll modifiés et les explications sur le fonctionnement de cette DLL. Attention, développer / implémenter une passfilt.dll modifiée sans le support d’un éditeur tiers est très dangereux. Je vous invite à partir sur une solution payante sauf si vous disposez en interne d’une équipe de développeur compétent.
http://identitycontrol.blogspot.com/2007/10/inside-active-directory-password-filter.html
http://msdn.microsoft.com/en-us/library/ms721882(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms721849(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms721884(VS.85).aspx
http://www.devx.com/security/Article/21522/0/page/1
http://www.codeproject.com/KB/winsdk/LoginFilter.aspx
http://ntsecurity.nu/toolbox/strongpass/
Il existe de nombreuses solutions payantes comme nFront Password Filter, Specops Password Policy qui font cela très bien (mais c’est cher !).
http://nfrontsecurity.com/products/nfront-password-filter/
http://www.specopssoft.com/products/specops-password-policy

5. LES BONNES PRATIQUES POUR LA STRATEGIE DE MOTS DE PASSE :
Quels sont les risques :
– Une stratégie de mot de passe trop faible expose la société à un risque de piratage des mots de compte utilisateur via une attaque brute force. Un script essaie automatiquement des milliers de mots de passe en se basant sur les mots du dictionnaire.
– Une stratégie de mot de passe trop complexe expose la société à des comportements inappropriés de la part des utilisateurs. Ces derniers finissent par écrire le mot de passe en dessous de leur clavier ce qui est finalement encore moins sécurisé qu’un mot de passe faible. Qui est en effet capable de retenir ce mot de passe : 1ju9N4V87Nh54iI ?

En général, je préconise la stratégie suivante :
Historique de mot de passe : 24
Durée de vie maximum du mot de passe : 42 jours
Durée de vue minimale du mot de passe : 1 jour
Longueur du mot de passe : 8 caractères
Complexité du mot de passe : activé. Il peut être intéressant d’investir dans des logiciels additionnels pour disposer d’un dictionnaire avec des mots de passe interdits comme Password01 ou les noms propres.
Si vous souhaitez aller au-delà en terme de sécurité des mots de passe, je vous préconise de partir sur une solution d’authentification avec des cartes à puces (SMART CARD). Pour plus d’informations, voir :
http://technet.microsoft.com/fr-fr/library/ff404294(WS.10).aspx
Attention, lire les articles suivants si vous utilisez une autorité de certification non Microsoft comme OpenTrust CA :
http://blogs.technet.com/b/instan/archive/2011/05/17/smartcard-logon-using-certificates-from-a-3rd-party-on-a-domain-controller-and-kdc-event-id-29.aspx
http://support.microsoft.com/kb/281245/en-us
http://support.microsoft.com/kb/291010/en-us

Enfin la règle d’or est de faire valider la stratégie de mots de passe par la direction.
En effet il est important que les utilisateurs adhèrent à la stratégie de mots de passe de l’entreprise (ils ne doivent pas noter leur mot de passe derrière leur clavier). Pour cela, la direction doit communiquer, établir un règlement (charte informatique) et prévoir des sanctions disciplinaires en cas d’infraction majeur.

6. LA PROCEDURE DE CHANGEMENT / REINITIALISATION DES MOTS DE PASSE :
Maintenant que l’on a vu les solutions techniques pour sécuriser les mots de passe, on va parler de la procédure de réinitialisation des mots de passe qui reste un point noir au niveau de la sécurité.
Pour rappel, on réinitialise le mot de passe d’un compte utilisateur quand l’utilisateur ne se rappelle plus de son mot de passe ou quand le mot de passe a expiré et que l’utilisateur ne peut pas effectuer un login classique pour appliquer la procédure de changement du mot de passe (cas des utilisateurs externes à l’entreprise qui se connectent à des applications web publiées sur Internet).
Dans la majorité des entreprises, cette action est à la charge de la hotline, parfois même d’une hotline externalisée à l’autre bout de la planète. L’équipe HOTLINE ne connaît donc pas les utilisateurs.
Il est donc très simple de se faire passer pour une employée de l’entreprise et d’obtenir le mot de passe de cette personne. Pour se prémunir de ce problème, certaines entreprises imposent à l’utilisateur de répondre à certaines questions personnelles. Cependant la gestion de ce questionnaire reste très complexe.
C’est là qu’interviennent des outils tiers comme nFront Web Password Change ou Specops Password Reset. Ces outils permettent aux utilisateurs de réinitialiser leur mot de passe depuis la mire d’ouverture de session ou depuis un portail web à l’aide d’un formulaire à base de questions / réponses :
http://www.specopssoft.com/products/specops-password-reset
http://nfrontsecurity.com/products/nfront-web-password-change/

A+
Guillaume MATHIEU
PROSERVIA
La connaissance s’accroît quand on la partage
http://msreport.free.fr

A propos Guillaume Mathieu

Directeur Technique chez Flexsi
Ce contenu a été publié dans Active Directory, Annuaire, Outils, Sécurité, Système, Windows 2003 Server, Windows Server 2008, Windows Server 2008 R2, avec comme mot(s)-clé(s) , , , , . Vous pouvez le mettre en favoris avec ce permalien.

2 réponses à Quelle stratégie pour sécuriser les mots de passe des comptes utilisateurs Active Directory ?

  1. Ibrahim dit :

    J’aprécie beaucoup la qualité de vos articles. Je suis Admin Windows et je trouve très concises vos contributions. Bravo!

  2. Ambroise dit :

    J’apprécie ton article et c’est très bien fait. Je suis Admin et je me réfère beaucoup à ton site. On pourra t’apporter notre contribution s’il le faut. Merci et beaucoup de courage.

Laisser un commentaire