A travers les nombreux audits AD que j’ai pu réaliser sur le territoire j’ai pu relever des erreurs courantes d’utilisation. Je propose ici quelques clés sur la sécurisation de l’annuaire d’Entreprise.
Les Infrastructures Microsoft héritent encore d’une image de systèmes peu sécurisés (comparativement à Linux ou Mac). La problématique de fond étant le compromis réalisé par Microsoft entre sécurité et simplicité d’intégration.
Les options de sécurité existent dans les outils proposés, mais là où d’autres systèmes appliqueraient un blocage par défaut, MS choisit d’autoriser par défaut en cas de mauvaise configuration. Ainsi on peut voir de nombreux (qui a dit tous ?) systèmes non optimisés et surtout non sécurisés. De nombreux documents existent sur le web listant les bonnes pratiques et les dangers, comme celui de l’ANSSI (Agence nationale de la sécurité des systèmes d’information) que je vous conseille.
Il serait trop long de lister toutes les bonnes pratiques, nous parlerons donc ici seulement de 3 axes de sécurisation de l’annuaire Active Directory.
1) Organiser et nettoyer son AD
L’annuaire reflète l’organisation de l’Entreprise, des utilisateurs et des permissions qui leurs sont associées. Si celui-ci n’est pas ordonné correctement on peut rencontrer des dérives graves :
- Accès à des ressources (données, applications, imprimantes, etc.) pour des utilisateurs non autorisés.
- Attribution de ressources non souhaitées (par truchement des groupes).
- Accès aux machines pour des utilisateurs ayant quittés la société.
Pour éviter cela il convient donc de :
- Désactiver puis supprimer tous les comptes obsolètes.
- Créer un groupe pour chaque fonction et chaque permission (un par répertoire, un par application, etc.), et ne surtout pas créer des groupes multifonction dont les rôles sont oubliés avec le temps.
- Définir une norme de nommage détaillée et claire permettant de comprendre immédiatement le rôle et l’usage d’un compte et d’un groupe. (en ajoutant idéalement des commentaires en description comme l’endroit ou il est utilisé)
- Automatiser au maximum la gestion de l’annuaire à travers l’application RH de l’Entreprise (création / modification / suppression).
- Générer des rapports réguliers des permissions et les soumettre pour validation aux chefs de services (pas d’outil par défaut chez MS, utiliser pour cela du PowerShell ou des outils tiers comme GDI de SF2I ou DatAdvantage de Varonis).
- Surveiller de manière régulière les logs (applicatif, système et sécurité) à l’aide ici aussi de PowerShell ou d’outils tiers (comme ElasticSearch, Splunk).
Tout ceci devant être automatiser pour ne pas être juste des bonnes résolutions de janvier oubliées par manque de temps dès février 🙂
2) Limiter les connexions
Empêcher des agents d’accéder au poste de leur chef semble déjà une bonne idée en soi. (j’ai quelques histoires croustillantes sur ce sujet) Si un utilisateur n’est pas mobile, il peut donc être intéressant de le restreindre à sa machine ou à celles de son service.
Mais plus important encore sont les comptes de service et les comptes administrateurs présentant un risque important en cas de compromission / piratage. Il faut savoir que par défaut quand un administrateur ce connecte sur un poste son mot de passe est conservé en cache. (et donc potentiellement récupérable)
- Définir pour chaque administrateur un compte utilisateur et un compte d’administrateur nominatif. Voir deux comptes administrateur : un pour la gestion AD (pour ne pas risquer de ballader le mdp sur des postes) et un pour la gestion des postes clients. Cela permet d’assurer un suivi et une responsabilisation. Le compte « administrateur » ne devant être connu que par un seul admin (voir dans le coffre du DSI ou du RSSI).
- Ne donner que le droit minimum nécessaire aux comptes administrateurs.
- Restreindre l’authentification des comptes Administrateurs et des comptes de Services aux types d’authentification nécessaire (Interactive, Réseau, Bureau a distance, Service, Tache) et aux machines concernées.
- Définir un mot de passe d’administrateur local différent sur chaque poste et le changer régulièrement par GPO (à l’aide de l’outil LAPS fourni par MS).
- Activer le chiffrement des disques, principalement sur les ordinateurs portables pour empêcher la récupération de mdp ou de données (BitLocker intégré dans les clients Windows).
3) Refuser les authentifications non sécurisées
Par défaut… je crois que c’est le point le plus effrayant de cet article… Windows autorise l’authentification NTLM en cas d’échec du Kerberos.
Pour les plus jeunes, l’authentification NTLM était le système d’authentification développé par Microsoft pour Windows NT. Le NTLM étant peu sécurisé il doit être limité au strict minimum, voir interdit.
Certaines applications requêtant l’AD en LDAP et s’authentifiant souvent en envoyant leur mdp en clair sur le réseau.
- Surveiller les connexions non sécurisées NTLM et LDAP.
- Configurer correctement les SPN, (Service Principal Name) permettant de déclarer avec quel noms et mode les machines ou comptes peuvent authentifier les utilisateurs (afin d’éviter des serveurs pirates). Les SPN sont donc indispensables au fonctionnement du Kerberos dans le cas d’utilisation d’Alias ou de comptes de service (configurés automatiquement avec le nom de la machine).
- Configurer les applications pour n’autoriser QUE le Kerberos et le LDAPS (en SSL).
- Idéalement bloquer le NTLM et le LDAP au niveau de l’Active Directory (après reconfiguration de toutes les applications en mode sécurisé).
N’hésitez pas à poster vos questions en commentaires.

