Flexible Security for Your Peace of Mind

Impact de l’exécution de Specops Password Policy sur Active Directory

On nous demande souvent quel est l’impact technique de l’utilisation de nos solutions sur Active Directory, et d’autres services. Dans ce billet de blog, nous allons examiner l’impact de Specops Password Policy et de Breached Password Protection.

Voir la partie 1 de ce blog ici où je regarde l’impact de Specops Password Auditor sur Active Directory. (pas encore disponible en français)

Specops Password Policy et Breached Password Protection

Cette solution vous permet d’appliquer une meilleure politique de mot de passe ou de phrase de passe dans votre environnement AD.

Il y a 4 composants :

  • Specops Password Policy Sentinel : C’est le composant le plus important car il applique les règles indépendamment de la manière dont le mot de passe est modifié. Il fournit également des notifications et crée un retour d’information pour les utilisateurs. Il réside sur tous les contrôleurs de domaine (DC) inscriptibles du domaine. S’il n’est pas installé, nous ne pouvons pas appliquer les règles, il est donc très important de s’assurer qu’il est ajouté au processus de construction de votre DC.
  • Outil d’administration de Specops Password Policy : Cet outil fait ce que son nom indique et vous permet de configurer la solution. Idéalement, il devrait être installé là où vous créez ou modifiez normalement vos GPO, par exemple sur un poste de travail d’administrateur, un serveur de gestion ou même vos DC.
  • Specops Arbiter Service – Ce service n’est requis que si vous avez activé le module Breached Password Protection, et il est responsable de la communication avec le Specops Cloud qui héberge la version complète de la base de données des mots de passe compromis. Il est également chargé de relayer les alertes en cas de détection d’un mot de passe compromis.
  • Specops Authentication Client – Il s’agit du logiciel côté client qui s’exécute sur les clients Windows reliés au domaine que vos utilisateurs utilisent. Il s’agit généralement d’une station de travail ou d’un ordinateur portable, mais il peut également s’agir d’un serveur, par exemple Terminal Server, Citrix, mais pas habituellement des DC ou des serveurs membres ordinaires.

Examinons donc chacun de ces éléments de manière un peu plus détaillée.

Specops Password Policy Sentinel

Cette fonction est composée de 2 parties : un filtre de mot de passe, SPP3FLT.DLL, et un service Windows, appelé Specops Password Sentinel Service.

Le Specops Password Filter

Le filtre de mot de passe est un petit DLL qui s’accroche au processus régulier LSASS.exe qui fonctionne sur chaque DC. Il s’agit d’une procédure standard documentée par Microsoft qui permet aux administrateurs AD de créer leurs propres filtres de mots de passe. Le seul inconvénient de l’installation du filtre est qu’elle nécessite le redémarrage du DC, car LSASS.exe n’est pas un service qui peut être redémarré lorsque le système d’exploitation est en cours d’exécution.

Pour se conformer aux meilleures pratiques de Microsoft, le filtre Specops se trouve toujours derrière le filtre de mot de passe standard de Microsoft qui applique les règles de la stratégie de domaine par défaut (ou autre GPO de niveau supérieur si vous l’avez configuré ainsi), ou toute stratégie de mot de passe à grain fin (FGPP) que vous avez configurée. Il est important de s’en souvenir, car il se peut que vous deviez « simplifier » la stratégie de domaine par défaut ou la stratégie de mot de passe à grain fin pour permettre à des éléments tels que les phrases de passe de fonctionner. En effet, comme elles sont certainement beaucoup plus longues et difficiles à craquer, elles ne répondent généralement pas aux règles de complexité que la plupart des organisations ont activées dans leurs stratégies Microsoft. Ne vous inquiétez pas, nous avons quelques astuces dans notre manche pour contourner ce problème si vous voulez exécuter un essai limité dans votre environnement réel, il suffit de demander de l’aide au support de Specops.

Le programme d’installation est un petit fichier MSI de 4Mo qui peut être poussé depuis un PC d’administration à partir duquel vous exécutez la configuration, ou installé manuellement. Le programme d’installation ne redémarre PAS vos DCs, cela doit être fait manuellement.

Le filtre est responsable de l’application de toutes les règles que vous avez dans votre politique Specops et aussi de la création de la rétroaction personnalisée pour le côté client à lire. Chaque DC devrait avoir au moins 2 CPUs assignés à lui, pour éviter toute situation de blocage. En effet, le processus de changement de mot de passe peut occuper un thread CPU entier. Le fait d’avoir 2 CPU/vCPU signifie qu’il y a toujours un thread de libre pour les autres opérations du DC.

Le filtre crée également un objet ClassStore d’historique des mots de passe sous chaque compte utilisateur dans AD. Il s’agit d’un objet AD ordinaire, AUCUNE EXTENSION DE SCHEMA n’est nécessaire. Par défaut, l’historique des mots de passe de l’utilisateur est crypté de manière non réversible, il existe quelques règles qui exigent un cryptage réversible, mais elles ne sont pas régulièrement utilisées. Cet objet ClassStore stocke également tous les jours supplémentaires que l’utilisateur aurait pu gagner en utilisant un mot de passe plus long si vous avez activé l‘expiration du mot de passe basée sur la longueur dans vos politiques.


La même fonctionnalité d’expiration du mot de passe basée sur la longueur nécessite également un groupe de sécurité pour permettre aux admins de pouvoir lire quand le mot de passe d’un utilisateur expirera dans Specops Password Auditor. Ce groupe est appelé « Specops Password Policy Custom Expiration Readers » et est créé dans le conteneur Users. Il peut être renommé et déplacé, si nécessaire, après sa création.


Le filtre installé sur l’émulateur PDC est également chargé de vérifier que les numéros de licence sont corrects, et écrit une nouvelle somme de contrôle de licence dans le dossier SYSVOL chaque nuit (00:01) qui est ensuite répliquée à l’aide de la réplication SYSVOL normale vers tous les autres DCs afin qu’ils soient tenus à jour. L’émulateur PDC est également responsable de la production d’une liste d’utilisateurs qui doivent recevoir un e-mail d’expiration de mot de passe chaque nuit. Une fois qu’il dispose de cette liste, il transmet cette information au deuxième rôle du Sentinel.

Specops Password Sentinel Service

Ce service a deux fonctions, la première étant d’envoyer des notifications par e-mail. Il peut s’agir de notifications d’expiration de mot de passe pour les utilisateurs finaux, mais aussi d’envoi d’e-mails pour Specops Breached Password Protection si un utilisateur a défini un mot de passe compromis et doit le changer. La deuxième fonction n’est nécessaire que si vous utilisez la base de données complète du module Breached Password Protection (plus de 3 milliards de hashes de mots de passe compromis et mis à jour quotidiennement).

Ainsi, comme il est chargé d’envoyer des courriels, il doit pouvoir communiquer avec votre serveur ou relais de messagerie. Vous devrez connaître le nom DNS/l’adresse IP, le port utilisé par le serveur de messagerie, si TLS est requis, ainsi qu’un nom d’utilisateur et un mot de passe si les connexions anonymes ne sont pas autorisées. Il est entièrement compatible avec tous les systèmes de messagerie connus, y compris Microsoft 365.

Si vous ne disposez pas du module Breached Password Protection, le seul DC utilisant la messagerie sera celui qui détient le rôle FSMO d’émulateur PDC. Si vous disposez de ce module, tous les DCs en écriture devront avoir accès au serveur SMTP.

Vous pouvez choisir d’utiliser le système Specops Mail plutôt que votre propre système, mais la plupart des clients ne choisissent pas cette option car cela signifie qu’ils doivent autoriser l’adresse IP du serveur Specops Mail à travers leurs filtres anti-spam.

Enfin, l’autre processus que ce service gère sur le PDC DC est la possibilité de scanner les mots de passe de vos utilisateurs à la recherche de nouveaux mots de passe violés chaque fois que la base de données Express est mise à jour (environ 6 fois par an). Cela signifie que si un utilisateur définit un mot de passe parfaitement correct aujourd’hui, mais qu’il se retrouve demain sur notre liste Express, cet utilisateur sera obligé de le changer lors de sa prochaine connexion, une fois que vous aurez téléchargé la nouvelle base de données Express. C’est une bonne chose en théorie, mais attention, si de nombreuses personnes travaillent à domicile, elles n’ont pas forcément la possibilité de changer leur mot de passe à distance, à moins que vous ne disposiez d’un système de réinitialisation de mot de passe en libre-service, par exemple Specops uReset.

Outils d’administration Specops Password Policy

Les outils d’administration de la politique de mot de passe de Specops doivent être installés là où vous éditez normalement vos GPOs. Ils nécessitent l’installation de la dernière version de .net pour fonctionner, et ne peuvent évidemment être exécutés qu’à partir d’une machine reliée à un domaine.


Cela dit, il est également utile de les installer sur au moins un DC car vous pouvez alors tester votre configuration de messagerie avec le bouton intégré. Lorsque vous ouvrez les outils d’administration pour la première fois, un fichier de licence vous est demandé. Depuis la version 7.6, il s’agit d’un fichier .json dont le contenu sera écrit dans le conteneur SYSTEM>Specops de votre AD. Nous l’écrivons ici pour qu’il soit facilement accessible, mais cela signifie que seul un compte de niveau administrateur de domaine peut ajouter/mettre à niveau une licence.


Les outils d’administration sont fournis sous la forme d’un fichier MSI avec zéro configuration, ce qui vous permet de les installer facilement.

Au cours du processus d’installation des outils d’administration, vous serez également invité à « Installer les extensions de menu ADUC ».


Il s’agit d’une étape totalement facultative, mais elle nécessite des droits d’administrateur d’entreprise (supérieurs à ceux d’administrateur de domaine), car elle doit écrire des informations de spécification d’affichage dans le conteneur de configuration de votre AD. CE N’EST PAS UNE MISE À JOUR DU SCHEMA et c’est complètement réversible, mais cela fournit une fonctionnalité utile en ce sens que vous obtiendrez un élément de menu supplémentaire lorsque vous faites un clic droit sur un utilisateur dans ADUC qui vous dira quelle politique de mot de passe s’applique à eux.


L’intégration la plus importante concerne l’éditeur de stratégie de groupe, car c’est par lui que vous créez vos stratégies. Plutôt que d’utiliser l’interface limitée ADMX, nous avons décidé d’utiliser les API fournies par Microsoft pour étendre la stratégie de groupe. Vous trouverez les paramètres de Specops Password Policy sous Configuration utilisateur>Paramètres Windows>Specops Password Policy.


Encore une fois, AUCUNE EXTENSION DE SCHEMA n’est requise pour cela, et cela fournit une interface de gestion beaucoup plus riche et conviviale pour les administrateurs.

Comme toute autre GPO, vous pouvez filtrer ces politiques en fonction des OU, des groupes ou des utilisateurs en utilisant les options de filtrage de sécurité dans la console de gestion des politiques de groupe. Nous ne prenons cependant pas en charge le filtrage WMI en raison de la manière dont la politique est appliquée ou plus précisément « non appliquée » car elle n’écrit rien dans le répertoire de stockage des utilisateurs dans le registre d’un ordinateur local. Elle est purement traitée par le Sentinel sur le DC lorsque le mot de passe de l’utilisateur est modifié ou réinitialisé. Lorsque vous créez une nouvelle politique Specops Password, tous les paramètres sont stockés dans le dossier Policies de SYSVOL. Tous les dictionnaires personnalisés que vous ajoutez à la politique seront également stockés dans ce dossier. Faites donc attention à la taille des dictionnaires que vous pouvez trouver sur Internet auprès de sources tierces, car ils peuvent être énormes. Ces dictionnaires sont chargés dans la RAM lorsque vous redémarrez votre DC, ils ne devraient donc pas poser de problèmes car ils sont relativement petits.

Les autres paramètres de mots de passe/passphrases ne sont pas stockés dans le fichier .pol et sont plutôt écrits dans un fichier INI, car comme je l’ai mentionné ci-dessus, ils n’ont pas besoin d’être écrits sur les PCs clients.

Vous pouvez avoir autant de politiques que vous le souhaitez, contenant autant de paramètres différents que vous le souhaitez. La plupart des organisations finissent par en avoir au moins 3, une pour les utilisateurs, une pour les administrateurs et une pour les comptes de service, mais vous pouvez en avoir besoin de plus, par exemple une pour les utilisateurs du département finance affectés par la norme PCI DSS.

L’outil d’administration de domaine de Specops Password Policy vous permet également de vérifier l’état des Sentinels installés sur vos DCs. Pour ce faire, il doit être en mesure de se connecter à eux sur l’ensemble standard de ports que l’ADUC exigerait, et il doit également être en mesure de se connecter au partage Admin$ de chaque DC.


Notez qu’il peut afficher deux numéros de version différents pour un même DC. Cela peut se produire juste après la mise à niveau, mais pas encore le redémarrage du DC. Une fois le DC redémarré, les versions installées et en cours d’exécution devraient correspondre.

Les modèles de stratégie de mot de passe sont stockés dans le partage SYSVOL sous le dossier Policies\SpecopsPassword avec tous les fichiers de langue.


Ces dossiers ne prennent pas beaucoup de place, seulement quelques kilo-octets.

Cependant, remarquez également le dossier Dictionnaires. Si le module Breached Password Protection est installé et configuré pour utiliser la base de données Express, ce dossier occupera 5 Go d’espace sur le volume SYSVOL de chaque DC et ne peut actuellement pas être déplacé. Nous avons procédé de cette manière afin de nous assurer que le mot de passe de l’utilisateur peut être traité dans la base de données Express aussi rapidement que possible (car elle est locale à chaque DC) et qu’elle est cohérente dans tout le domaine. Veuillez vous assurer que vos DCs ont suffisamment d’espace avant de cliquer sur le bouton de téléchargement. REMARQUE : cette base de données de 5 Go n’est PAS chargée en mémoire comme les autres options de dictionnaires ordinaires que j’ai mentionnées ci-dessus, elle est uniquement stockée sur le disque. Lorsque vous mettez à jour la base de données express, quel que soit l’endroit où vous exécutez les outils d’administration, la nouvelle base de données express est téléchargée dans un dossier temporaire. Une fois terminée, elle sera déplacée vers le partage SYSVOL du DC le plus proche, puis DFS-R sur le DC décidera quelles parties de chaque fichier ont été modifiées et répliquera les différences vers le reste des DC. Si le domaine utilise toujours FRS pour répliquer SYSVOL, tous les fichiers seront à nouveau répliqués vers les autres DC. Je vous conseille donc de migrer vers DFS-R pour la réplication SYSVOL si vous prévoyez d’utiliser la base de données Express. La base de données Express n’est pas mise à jour automatiquement – nous ne voulons pas que vos DCs soient à court d’espace disque. Elle est mise à jour régulièrement, tous les 2 à 3 mois, donc si vous recevez un email de Specops ou si vous remarquez qu’une nouvelle mise à jour est disponible lorsque vous utilisez Specops Password Auditor ou dans les outils d’administration de Specops Password Policy, assurez-vous de faire la mise à jour pour vous donner la meilleure protection possible (vérifiez l’espace disque de votre DC avant !).

Voilà donc comment nous utilisons les dictionnaires basés sur le site, mais qu’en est-il de la base de données Breached Password Protection Complete ? Cela nous amène à la dernière section.

Le Service Specops Arbiter

Il s’agit d’un petit service qui se situe entre vos DCs et la base de données Specops Breached Password Protection Complete dans le Cloud. La raison pour laquelle nous avons ce service est que vous n’avez pas besoin d’autoriser vos DCs à se connecter en dehors de votre réseau. Il agit presque comme un proxy entre vos DCs et notre base de données dans le Cloud. Vous pouvez avoir plusieurs arbitres pour la tolérance aux pannes, il vous suffit d’installer le service sur un autre serveur relié à un domaine et disposant d’un accès Internet (n’oubliez pas d’installer la dernière version de .net) et d’enregistrer l’arbitre dans les outils d’administration avec votre clé API.

Chaque fois que vous enregistrez un arbitre, une entrée est créée dans le conteneur du système dans AD afin que les DCs puissent les trouver.


Comment cela fonctionne-t-il exactement ? Lorsqu’un utilisateur modifie son mot de passe, celui-ci remonte au DC et est traité par le filtre Specops qui vérifie si le module Breached Password Protection est activé, si l’option de vérification avec la base de données Complete dans le Cloud est activée dans la politique qui s’applique à l’utilisateur qui modifie son mot de passe.

Si cette option est activée, le mot de passe de l’utilisateur sera d’abord haché (SHA256), puis haché à nouveau (BCRYPT) par le service Specops Password Sentinel, qui enverra ensuite uniquement les 4 premiers caractères de ce hachage à l’arbitre ou à l’arbitre qui répondra en premier, sur le port 4383. L’arbitre interrogera ensuite, sur le port 443 en utilisant TLS 1.2, la base de données Breached Password Protection Complete et lui demandera de renvoyer tous les hachages de sa base de données qui commencent par ces 4 premiers caractères. N’essayez pas d’inspecter ce trafic HTTPS car il sera détecté comme une attaque de type “man in the middle” et la transmission s’arrêtera. Vous pouvez verrouiller la requête à une URL spécifique si nécessaire : https://breach-protection.specopssoft.com et également http://crl.godaddy.com pour vérifier le certificat.

Le Specops Cloud renverra alors environ 5000 enregistrements à l’Arbitre. L’arbitre enverra ensuite ces enregistrements au DC qui comparera les 5000 hachages reçus avec le hachage du mot de passe de l’utilisateur. S’il ne trouve pas de correspondance, c’est parfait !


Mais s’il trouve une correspondance, en fonction de ce qui est configuré dans le GPO, il peut obliger l’utilisateur à changer le mot de passe compromis à la prochaine connexion, et alerter l’utilisateur/le service d’assistance en lui envoyant un e-mail et/ou un SMS. L’adresse e-mail est lue à partir du champ e-mail de l’utilisateur dans AD, et peut être envoyée via votre configuration SMTP interne qui a été définie dans les outils d’administration du DC qui a traité le changement, ou l’e-mail peut être créé et envoyé par notre service Cloud via l’arbitre. Si les alertes SMS sont activées, elles sont toujours envoyées par le service SMS de Specops via l’arbitre.

Specops Authentication Client

Ce client est utilisé dans toutes les solutions de mot de passe de Specops (Password Policy, Password Reset, uReset) et remplit différentes fonctions selon les services que vous avez installés. Dans cet article de blog, je vais juste le détailler en relation avec Specops Password Policy.

Le client a une taille d’environ 7 Mo et se présente sous la forme d’un MSI sans configuration. Cela signifie qu’il peut facilement être déployé via n’importe quel système de déploiement MSI, y compris Group Policy, SCCM, Specops Deploy, etc. Il n’est pas nécessaire de le reconditionner, il est prêt à l’emploi et existe en versions 64 bits. Vous pouvez déployer le client sur n’importe quel système d’exploitation Windows joint à un domaine à partir de Windows 10, ainsi que sur n’importe quel système d’exploitation Windows Server à partir de 2016, par exemple les serveurs de bureau à distance. Il existe également un modèle ADMX qui peut être utilisé pour contrôler le comportement du client via une GPO appliquée aux ordinateurs clients. Typiquement, si vous utilisez uniquement Specops Password Policy dans votre environnement, vous n’utiliserez ce fichier ADMX que pour désactiver la création des raccourcis du menu Démarrer pour les systèmes de réinitialisation de mot de passe en libre-service. Il y a quelques autres paramètres disponibles pour les utilisateurs de Password Policy, mais ils sont utilisés pour résoudre les problèmes où le client ne peut pas trouver le message de retour personnalisé et ne parvient pas à afficher ce message personnalisé aux utilisateurs.

Le principal avantage de l’installation du client est le retour d’information qu’il fournit à l’utilisateur lorsqu’il change son mot de passe, comme indiqué ci-dessous :

specops password policy 7.6 and the specops authentication client 7.15 screenshot

Cette rétroaction dynamique n’est disponible que sur les postes de travail Windows 10/11 x64. Le retour d’information vers les systèmes d’exploitation de niveau inférieur est disponible, mais il n’apparaît qu’après que l’utilisateur ait soumis son mot de passe, et non pendant qu’il le tape – c’est donc une autre bonne raison de passer au dernier OS client !

Habituellement, l’échec de l’affichage du message personnalisé est dû à un conflit avec la politique de MS, j’ai mentionné la phrase de passe contre le scénario du mot de passe complexe DDP dans la section Specops Password Filter, mais il pourrait également être un conflit avec un autre fournisseur d’accréditation comme un tiers VPN, SSO, le client de cryptage de disque qui peut causer cela. Veuillez contacter le support Specops pour résoudre ces problèmes – nous sommes toujours heureux de vous aider et de vous conseiller.

Le client fournit également une notification d’expiration du mot de passe par le biais d’une info-bulle ou d’une fenêtre contextuelle, mais cela nécessite une « ligne de site » vers un DC lors de la connexion, tout comme celle de Microsoft. Si vous avez des personnes travaillant à distance, assurez-vous d’activer les notifications par e-mail dans vos politiques Specops Password Policy, également, si vous n’avez pas un VPN Always On tel que DirectAccess.

Conclusion

J’espère que ce blog détaillé a été utile et explique en détail quel impact le déploiement de Specops Password Auditor, Specops Password Policy et Breached Password Protection aura sur votre Active Directory et les raisons pour lesquelles Specops a pris certaines de ces décisions de conception.

(Dernière mise à jour le 05/11/2024)

Revenir sur le blog