Active Directory : améliorer la sécurité du partage SYSVOL avec les chemins UNC durcis
Sommaire
I. Présentation
Dans ce tutoriel, nous allons évoquer la notion de chemins UNC durcis, ou en anglais, les "Hardened UNC Paths", en environnement Active Directory. Ceci va nous permettre d'améliorer la sécurité des partages "SYSVOL" et "NETLOGON".
Nous verrons comment et pourquoi il est important de configurer cette fonctionnalité de sécurité. Avant cela, commençons par quelques rappels sur les chemins UNC.
Pour aller plus loin dans la sécurité du partage SYSVOL, vous pouvez lire cet article :
II. Rappels sur les chemins UNC
Les chemins UNC (Universal Naming Convention) sont des chemins utilisés pour accéder aux ressources partagées sur un réseau, que ce soit des fichiers ou des dossiers. En environnement Windows, lorsque l'on accède à une ressource distante via le protocole SMB, un chemin UNC doit être spécifié pour mener à cette ressource.
Un chemin UNC s'écrit de cette façon sur Windows :
\\nom du serveur\nom du partage\chemin\dossier\fichier
Un chemin UNC commence par un double antislash ("\\") pour indiquer qu'il s'agit d'un chemin réseau. La première information à préciser est le nom du serveur, puis le nom du partage. À la suite, il convient de préciser le chemin à suivre à l'intérieur du partage pour atteindre la ressource désirée.
Voici un exemple de chemin UNC pour accéder à un fichier situé sur le partage nommé "partage" du serveur "srv-fichiers.it-connect.local".
\\srv-fichiers.it-connect.local\partage\documents\it-connect.pdf
En environnement Active Directory, les chemins UNC sont très souvent utilisés pour accéder aux ressources. Sans parler du partage de données, ils sont notamment utilisés pour la lecture des données présentes dans les partages "SYSVOL" et "NETLOGON". Parmi les informations stockées dans le partage SYSVOL, nous pouvons citer les fichiers de stratégies de groupe (GPO). Ainsi, les ordinateurs et serveurs du domaine doivent être en mesure de lire ces informations, via le réseau, par l'intermédiaire d'un chemin UNC.
III. L'intérêt d'améliorer la sécurité des chemins UNC
Lorsque la fonction de durcissement des chemins UNC est activée, des mécanismes sont activés pour renforcer la sécurité de la communication entre le client et le serveur.
L'objectif est de lutter contre certaines attaques, notamment les attaques par spoofing où l'attaquant va chercher à se faire passer pour le serveur auquel tente de se connecter un utilisateur souhaitant accéder à une ressource. L'identité du serveur est alors usurpée par celui de l'attaquant, et l'utilisateur est susceptible d'exécuter un fichier malveillant sur son ordinateur.
Cette fonctionnalité a été introduite dans Windows à la suite d'une vulnérabilité découverte en 2015, liée à l'application des stratégies de groupe en environnement Active Directory. Elle est évoquée de façon détaillée dans cet article du site Microsoft. Au sein de cet article, nous pouvons lire : "Si une partie malveillante peut usurper, falsifier ou rediriger les communications entre le fournisseur UNC et le serveur cible, elle peut être en mesure d'amener la stratégie de groupe à exécuter des programmes ou des scripts malveillants à la place ou en plus des scripts sélectionnés par les administrateurs du système."
La configuration de la fonction de chemins UNC durcis permet de spécifier des règles de sécurité plus strictes pour l'accès aux ressources réseau, en fonction d'un nom de serveur ou d'un nom de partage. Nous pouvons obliger l'authentification mutuelle, ce qui implique l'utilisation de Kerberos et le refus d'utiliser NTLM, ainsi que l'interdiction d'utiliser des connexions anonymes. L'intégrité des échanges est également améliorée, ce qui permet de lutter contre les attaques de type man-in-the-middle.
La configuration des chemins UNC durcis est une bonne pratique. C'est d'ailleurs l'une des recommandations présentes dans le guide du CIS Benchmark pour Windows Server, ainsi qu'un point de sécurité vérifié par l'outil PingCastle.
IV. Configuration des chemins UNC durcis par GPO
Notre objectif va être de renforcer les accès sur les chemins UNC lors des connexions sur les partages "SYSVOL" et "NETLOGON", hébergés sur les contrôleurs de domaine Active Directory. Ces partages contiennent les fichiers de stratégie de groupe, mais aussi, potentiellement, des scripts et exécutables. C'est un espace de stockage sensible qu'il est important de protéger et que l'on retrouve dans tous les domaines AD.
Ceci va nous permettre d'améliorer la sécurité sur les accès à destination des partages "SYSVOL" et "NETLOGON", et donc, du processus de synchronisation des stratégies de groupe.
Nous devons créer une nouvelle stratégie de groupe à partir de la console "Gestion de stratégie de groupe". Par exemple, cette GPO peut s'appeler "Sécurité - UNC Hardened Paths".
Une fois que cette GPO est créée, nous devons la modifier et parcourir l'arborescence de paramètres de cette façon :
- Configuration ordinateur > Stratégies > Modèles d'administration > Réseau > Fournisseur réseau
Ce qui donne :
Ici, se situe le paramètre "Chemins d'accès UNC renforcés" que nous devons activer et configurer. Choisissez l'état "Activé" puis faites défiler le panneau "Options" afin de pouvoir cliquer sur le bouton "Afficher...".
Une fenêtre apparait. Deux valeurs sont requises pour chaque ligne :
- Nom de la valeur : c'est-à-dire le modèle de chemin UNC.
- Valeur : la configuration de sécurité relative à ce chemin UNC.
Il y a trois paramètres possibles, et chaque paramètre peut être activé (1) ou désactivé (0).
- RequireMutualAuthentication : lorsque cette propriété est définie sur 1, le fournisseur UNC doit pouvoir authentifier l'identité du serveur distant (en plus de la vérification de l'identité du client par le serveur) afin de bloquer les attaques par spoofing. Ceci implique l'utilisation de Kerberos pour l'authentification, car NTLM ne supporte pas l'authentification mutuelle.
- RequireIntegrity : lorsque cette propriété est définie sur 1, le fournisseur UNC doit utiliser des contrôles d'intégrité pour détecter les tentatives de manipulation sur les requêtes ou les réponses, lors d'un échange entre le client et le serveur. Ceci implique l'utilisation de la signature SMB.
- RequirePrivacy : lorsque cette propriété est définie sur 1, le fournisseur UNC doit chiffrer les échanges entre le client et le serveur. Ceci implique l'utilisation du chiffrement SMB, disponible à partir de SMB v3.
Remarque : sur Windows, un composant nommé MUP (Multiple UNC Provider) est en charge de sélectionner le bon fournisseur UNC pour accéder à une ressource. Par défaut, le SMB est utilisé, mais ce n'est pas la seule possibilité. Voir cette page de la documentation Microsoft.
Pour un maximum de sécurité, nous aurions envie d'activer l'ensemble de ces fonctions de sécurité. Néanmoins, l'option "RequirePrivacy" impose d'utiliser des machines au moins sous Windows 8 et Windows Server 2012, sinon la connexion sera rejetée. C'est un point à considérer, en fonction de votre environnement.
En ce qui nous concerne, voici la configuration à appliquer :
\\*\SYSVOL RequireMutualAuthentication=1, RequireIntegrity=1
\\*\NETLOGON RequireMutualAuthentication=1, RequireIntegrity=1
Cela signifie que les paramètres de durcissement s'appliqueront lors de l'accès aux partages "SYSVOL" et "NETLOGON", peu importe le serveur sur laquelle est effectuée la connexion. Ceci assure des connexions sécurisées pour ces partages essentiels au bon fonctionnement de l'Active Directory. L'astérisque joue un rôle clé puisque l'accès au SYSVOL peut être effectué à partir du nom de domaine ou du nom d'un contrôleur de domaine.
Ce qui donne :
Ensuite, validez. Il ne reste plus qu'à appliquer cette GPO au niveau du domaine pour que cette règle de sécurité s'applique à tous les ordinateurs.
De plus, voici quelques indications quant au rôle de l'astérisque ("*") au moment de spécifier le chemin ciblé :
- \\<Serveur>\<Partage> : l'entrée de configuration s'applique au partage qui porte le nom spécifié sur le serveur spécifié.
- \\*\<Partage> : l'entrée de configuration s'applique au partage qui porte le nom spécifié sur n'importe quel serveur.
- \\<Serveur>\* : l'entrée de configuration s'applique à n'importe quel partage sur le serveur spécifié.
- Les chemins tels que "\\*" et "\\*\*" pour sélectionner tous les partages, ne sont pas pris en charge.
En complément, vous pouvez bien entendu durcir la configuration pour l'accès à votre serveur de fichiers. Dans ce cas, une règle sous la forme "\\SERVEUR-FICHIERS\*" doit être utilisée, même si vous pouvez aussi remplacer l'astérisque par un nom de partage (s'il y a peu de partages à déclarer, c'est gérable).
Remarque 1 : la fonctionnalité de "Fichiers hors connexion" n'est pas disponible sur les chemins pour lesquels cette fonctionnalité a été activée.
Remarque 2 : si vous rencontrez des erreurs d'accès, consultez le journal "NetworkProvider > Opérationnel" à partir de l'Observateur d'événements.
V. Conclusion
La configuration des chemins UNC renforcés fait partie des actions à entreprendre dans le cadre de l'amélioration de la sécurité d'un environnement Active Directory. Au même titre qu'il est nécessaire de désactiver le SMBv1, le protocole LLMNR ou encore de limiter ou désactiver le protocole NTLM, cette mesure doit être déployée.
Par ailleurs, cette mesure de sécurité va dans le sens du renforcement des accès SMB prévu par Microsoft sur Windows 11, notamment dans la future version Windows 11 24H2, comme nous l'évoquions dans cet article.
Comme toujours, veillez à tester la configuration dans un environnement de test avant de la déployer en production. En complément de cet article, vous pouvez lire ceux-ci du site Microsoft :