Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste

L’homme, comme vous le savez, est un être paresseux.
Et encore plus lorsqu’il s’agit de choisir un mot de passe fort.

Je pense que chaque administrateur a déjà été confronté au problème de l'utilisation de mots de passe légers et standard. Ce phénomène se produit souvent parmi les échelons supérieurs de la direction des entreprises. Oui, oui, précisément parmi ceux qui ont accès à des informations secrètes ou commerciales et il serait extrêmement indésirable d'éliminer les conséquences des fuites/piratages de mots de passe et d'autres incidents.

Dans ma pratique, il y a eu un cas où, dans un domaine Active Directory avec une politique de mot de passe activée, des comptables sont parvenus indépendamment à l'idée qu'un mot de passe comme « Pas$w0rd1234 » correspondait parfaitement aux exigences de la politique. La conséquence a été l’utilisation généralisée de ce mot de passe partout. Parfois, il ne différait que par sa série de chiffres.

Je voulais vraiment pouvoir non seulement activer une politique de mot de passe et définir un jeu de caractères, mais également filtrer par dictionnaire. Pour exclure la possibilité d'utiliser de tels mots de passe.

Microsoft nous informe via le lien que quiconque sait tenir correctement un compilateur, un IDE entre ses mains et sait prononcer correctement C++, est capable de compiler la bibliothèque dont il a besoin et de l'utiliser selon sa propre compréhension. Votre humble serviteur n’en est pas capable, j’ai donc dû chercher une solution toute faite.

Après une longue heure de recherche, deux options pour résoudre le problème ont été révélées. Je parle bien sûr de la solution OpenSource. Après tout, il existe des options payantes, du début à la fin.

Numéro d'option 1. Ouvrir le filtre mot de passe

Il n'y a eu aucun commit depuis environ 2 ans maintenant. L'installateur natif fonctionne de temps en temps, il faut le corriger manuellement. Crée son propre service distinct. Lors de la mise à jour d'un fichier de mots de passe, la DLL ne récupère pas automatiquement le contenu modifié ; vous devez arrêter le service, attendre un délai d'attente, modifier le fichier et démarrer le service.

Pas de glace !

Numéro d'option 2. PassFiltEx

Le projet est actif, vivant et il n’est même pas nécessaire de donner un coup de pied au corps froid.
L'installation du filtre implique la copie de deux fichiers et la création de plusieurs entrées de registre. Le fichier de mots de passe n'est pas verrouillé, c'est-à-dire qu'il est disponible pour édition et, selon l'idée de l'auteur du projet, il est simplement lu une fois par minute. De plus, en utilisant des entrées de registre supplémentaires, vous pouvez configurer davantage à la fois le filtre lui-même et même les nuances de la politique de mot de passe.

So.
Donné : domaine Active Directory test.local
Poste de travail de test Windows 8.1 (pas important pour les besoins du problème)
filtre de mot de passe PassFiltEx

  • Téléchargez la dernière version à partir du lien PassFiltEx
  • Copie PassFiltEx.dll в C: WindowsSystem32 (ou % SystemRoot% System32).
    Copie PassFiltExBlacklist.txt в C: WindowsSystem32 (ou % SystemRoot% System32). Si nécessaire, nous le complétons avec nos propres modèles
    Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste
  • Modification de la branche de registre : HKLMSYSTEMCurrentControlSetControlLsa => Forfaits de notifications
    Ajouter PassFiltEx jusqu'à la fin de la liste. (L'extension n'a pas besoin d'être spécifiée.) La liste complète des packages utilisés pour l'analyse ressemblera à ceci "rassfm scecli PassFiltEx«.
    Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste
  • Redémarrez le contrôleur de domaine.
  • Nous répétons la procédure ci-dessus pour tous les contrôleurs de domaine.

Vous pouvez également ajouter les entrées de registre suivantes, ce qui vous offre plus de flexibilité dans l'utilisation de ce filtre :

Section: HKLMLOGICIELPassFiltEx - est créé automatiquement.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, par défaut : PassFiltExBlacklist.txt

    Nom du fichier de la liste noire — vous permet de spécifier un chemin personnalisé vers un fichier avec des modèles de mots de passe. Si cette entrée de registre est vide ou n'existe pas, le chemin par défaut est utilisé, à savoir - % SystemRoot% System32. Vous pouvez même spécifier un chemin réseau, MAIS vous devez vous rappeler que le fichier modèle doit disposer d'autorisations claires pour la lecture, l'écriture, la suppression et la modification.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, par défaut : 60

    TokenPercentageOfPassword — permet de préciser le pourcentage du masque dans le nouveau mot de passe. La valeur par défaut est de 60 %. Par exemple, si le pourcentage d'occurrence est de 60 et que la chaîne starwars se trouve dans le fichier modèle, alors le mot de passe Guerres des étoiles1 ! sera rejeté tandis que le mot de passe starwars1!DarthVader88 sera accepté car le pourcentage de la chaîne dans le mot de passe est inférieur à 60 %

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, par défaut : 0

    RequireCharClasses — vous permet d'étendre les exigences en matière de mot de passe par rapport aux exigences standard en matière de complexité des mots de passe ActiveDirectory. Les exigences de complexité intégrées nécessitent 3 des 5 types de caractères possibles : majuscules, minuscules, chiffres, spéciaux et Unicode. À l’aide de cette entrée de registre, vous pouvez définir vos exigences en matière de complexité de mot de passe. La valeur qui peut être spécifiée est un ensemble de bits, dont chacun est une puissance de deux correspondante.
    Autrement dit, 1 = minuscule, 2 = majuscule, 4 = chiffre, 8 = caractère spécial et 16 = caractère Unicode.
    Donc, avec une valeur de 7, les exigences seraient « Majuscule » ET minuscule ET chiffre", et avec une valeur de 31 - "Majuscule ET minuscule ET figure ET symbole spécial ET Caractère Unicode."
    Vous pouvez même combiner - 19 = « Majuscules ET minuscule ET Caractère Unicode."

  • Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste

Un certain nombre de règles lors de la création d'un fichier modèle :

  • Les modèles ne sont pas sensibles à la casse. Par conséquent, l'entrée du fichier guerres des étoiles и Guerres des étoiles sera déterminé comme étant la même valeur.
  • Le fichier de la liste noire est relu toutes les 60 secondes, vous pouvez donc le modifier facilement ; après une minute, les nouvelles données seront utilisées par le filtre.
  • Il n'existe actuellement aucune prise en charge Unicode pour la correspondance de modèles. Autrement dit, vous pouvez utiliser des caractères Unicode dans les mots de passe, mais le filtre ne fonctionnera pas. Ce n'est pas critique, car je n'ai pas vu d'utilisateurs utiliser des mots de passe Unicode.
  • Il est conseillé de ne pas autoriser les lignes vides dans le fichier modèle. Dans le débogage, vous pouvez alors voir une erreur lors du chargement des données à partir d'un fichier. Le filtre fonctionne, mais pourquoi ces exceptions supplémentaires ?

Pour le débogage, l'archive contient des fichiers batch qui vous permettent de créer un journal puis de l'analyser en utilisant, par exemple, Analyseur de messages Microsoft.
Ce filtre de mot de passe utilise Event Tracing pour Windows.

Le fournisseur ETW pour ce filtre de mot de passe est 07d83223-7594-4852-babc-784803fdf6c5. Ainsi, par exemple, vous pouvez configurer le suivi des événements après le redémarrage suivant :
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Le traçage démarrera après le prochain redémarrage du système. Arrêter:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Toutes ces commandes sont spécifiées dans les scripts StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Pour une vérification unique du fonctionnement du filtre, vous pouvez utiliser DémarrerTracing.cmd и ArrêterTraçage.cmd.
Afin de lire facilement l'échappement de débogage de ce filtre dans Microsoft Message Analyzer Il est recommandé d'utiliser les paramètres suivants :

Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste

Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste

Lors de l'arrêt de la connexion et de l'analyse Microsoft Message Analyzer tout ressemble à ceci :

Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste

Ici, vous pouvez voir qu'il y a eu une tentative de définition d'un mot de passe pour l'utilisateur - le mot magique nous le dit SET en débogage. Et le mot de passe a été rejeté en raison de sa présence dans le fichier modèle et de sa correspondance à plus de 30 % dans le texte saisi.

Si une tentative de changement de mot de passe réussie est effectuée, nous voyons ce qui suit :

Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste

Il y a quelques inconvénients pour l'utilisateur final. Lorsque vous essayez de modifier un mot de passe inclus dans la liste des fichiers de modèles, le message à l'écran n'est pas différent du message standard lorsque la politique de mot de passe n'est pas transmise.

Comment interdire les mots de passe standard et faire en sorte que tout le monde vous déteste

Par conséquent, préparez-vous aux appels et aux cris : « J'ai saisi le mot de passe correctement, mais cela ne fonctionne pas.

Résumé.

Cette bibliothèque permet d'interdire l'utilisation de mots de passe simples ou standards dans un domaine Active Directory. Disons « Non ! » des mots de passe comme : « P@ssw0rd », « Qwerty123 », « ADm1n098 ».
Oui, bien sûr, les utilisateurs vous apprécieront encore plus pour le soin apporté à leur sécurité et pour la nécessité de proposer des mots de passe époustouflants. Et peut-être que le nombre d'appels et de demandes d'aide concernant votre mot de passe augmentera. Mais la sécurité a un prix.

Liens vers les ressources utilisées :
Article Microsoft concernant une bibliothèque de filtres de mots de passe personnalisés : Filtres de mot de passe
PassFiltEx : PassFiltEx
Lien de sortie: Dernière version
Listes de mots de passe :
Daniel Miessler énumère : Lien.
Liste de mots de lowpass.com : Lien.
Liste de mots du dépôt berzerk0 : Lien.
Analyseur de messages Microsoft : Analyseur de messages Microsoft.

Source: habr.com

Ajouter un commentaire