Cet article est la seconde partie d’une série consacrée au contrôle des stockages amovibles en entreprise.

La première partie est visible à l’adresse suivante : http://blogs.technet.com/b/stanislas/archive/2011/07/12/contr-244-le-des-stockages-amovibles-en-entreprise-partie-1-introduction-et-probl-233-matiques.aspx

Cette seconde partie va traiter des mécanismes disponibles nativement dans Windows permettant de contrôler quels sont les stockages amovibles autorisés ou pas à être connectés au système.

Les approches pour gérer les périphériques amovibles

De manière générale, les IT peuvent soit interdire l’ensemble des périphériques de stockage amovibles, soit contrôler les périphériques amovibles en utilisant :

  • Une liste blanche  = une liste de modèles autorisés
  • Une liste noire = une liste de modèles bloqués / refusés

(/!\ : ici je parle bien de périphériques au sens large, cela inclus clés USB, imprimantes, Webcam…) 

Ok, jusqu’ici c’est simple mais comment identifier et mettre dans une liste tel ou tel modèle de périphérique ?

Réponse : en utilisant les ID Hardware et ID Compatible

ID Hardware : identifiant qui fournit la correspondance la plus exacte entre le périphérique et un pilote. Les ID sont généralement une liste de l’identifiant le plus précis au plus générique. Pour être précis, il s’agit d’un classement (ranking) de compatibilité avec le pilote.

Quelques exemples obtenus à partir des propriétés de quelques-une de mes clés USB dans le gestionnaire de périphériques:

ID Compatible : identifiants utilisés si le système d’exploitation ne parvient pas à trouver une correspondance exacte entre le périphérique et un pilote. Les ID Compatibles sont listés par ordre décroissant de correspondance (compatibilité). Quand une correspondance entre le périphérique et un ID Compatible est possible, alors il est possible d’utiliser les fonctions basiques du périphérique.

Dans le cas de clés USB les Compatible Ids sont les suivants :

Les Hardware ID et ID Compatible ont des valeurs pouvant être de très précises à très générales.

Pour visualiser ces identifiants, il suffit d’utiliser le gestionnaire de périphériques de Windows et de regarder dans les propriété du périphérique connecté.

Il est également possible d’utiliser l’outil Devcon (Attention prendre la version disponible dans le Windows Driver Kit (WDK) 7.1.0 si vous voulez utiliser cet outil dans Windows 7)

Informations complémentaires :

Petit apparté

Device Setup Classe : chaine d’identification du type de périphérique. Chaque classe est associée à un identifiant unique global (GUID : Global Unique IDentifier). Dans le cas qui nous concerne, le GUID correspondant aux disques, contrôleur de disques, adaptateur SCSI et donc aux clés USB est le même : {4d36e967-e325-11ce-bfc1-08002be10318}

Donc ce n’est pas un paramètre utilisable pour définir des listes de clés USB / disques externes car il concerne aussi les disques durs

Information complémentaire sur les GUIDs :

Approche n°1 : Interdire tous les périphériques amovibles

C’est un peu la solution brutale & extrême : une fois appliquée ce paramètres interdit l’usage de périphériques amovibles ou la mise à jour des pilotes des périphériques amovibles déjà installés.

Attention ce paramètre concerne tout périphérique dont le driver indique qu’il est amovible donc cela concerne bien plus que simplement les stockages amovibles (pensez aux souris USB, webcam et autre lance-missile USB Winking smile)

Policy : Prevent installation of removable devices
Chemin : Computer Configuration\Administrative Templates\System\Device Installation\Device Installation Restrictions\
Supporté depuis : Windows Vista
Clé de registre : HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions
Valeur : DenyRemovableDevices

/!\ Ce paramètre prend la priorité sur tous les autres paramètres de stratégies de groupe qui autorisent l’installation de périphériques

Résultat sur un poste client Windows 7 :

Approche n°2 : Utilisation d’une liste noire de clés USB (clés interdites)

Solution un peu moins extrême que la précédente : consister une liste de stockage amovibles interdits.

Pour créer une liste noire de clés UBS, il faut tout d’abord référencer les modèles de clés USB à bloquer. Il faut donc en avoir au moins un exemplaire pour connaitre les Hardware ID.

Note : Peut on récupérer à distance ces infos depuis le journal des évènements par exemple ? la réponse est probablement oui et j’essayerais d’écrire un petit billet sur le sujet (après avoir testé un peu plus dans le détail)

Créer une stratégie de groupe dédiée au contrôle des périphériques USB (c’est mon conseil : dans un premier temps ne pas mixer ces paramètres avec vos autres paramètres en production)

Policy : Prevent installation of devices that match any of these device IDs
Chemin : Computer Configuration\Administrative Templates\System\Device Installation\Device Installation Restrictions\
Supporté depuis : Windows Vista
Clé de registre : HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions
Valeur : DenyDeviceIDs

1- Cocher la case “Also apply to matching devices that are already installed” pour bloquer les périphériques dont les pilotes ont déjà été installés (avant l’application de la GPO)

2- Cliquer sur le bouton Show… pour définir la liste des ID à bloquer

Il est possible de mettre la liste complète des Hardware ID (visibles via le gestionnaire de périphériques) ou de se limiter à un seul ID. Plus généralement, c’est une liste.

Définir le message de titre de l’info-bulle qui va apparaitre depuis la barre de tâche  de l’utilisateur en cas de branchement d’une clé non autorisée.

Policy : a custom message when installation is prevented by policy (balloon title)
Chemin :  Computer Configuration\administrative Templates\System\Device Installation\Device Installation Restrictions\
Supporté depuis : Windows Vista
Clé de registre : HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DeniedPolicy
Valeur : SimpleText

Définir le message descriptif qui va apparaitre sous le titre dans l’info-bulle (ici je pense que préciser le numéro de téléphone du HelpDesk informatique est une bonne idée)

Policy : a custom message when installation is prevented by policy (balloon text)
Chemin : Computer Configuration\administrative Templates\System\Device Installation\Device Installation Restrictions\
Supporté depuis : Windows Vista
Clé de registre : HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DeniedPolicy
Valeur : SimpleText

Résultat obtenu sur un poste Windows 7 sur laquelle les paramètres présentés ci-dessus ont été appliqués :

En cliquant sur l’info-bulle on obtient plus de détail

on

Si on ouvre le gestionnaire de périphériques on constate que le périphérique est présent dans la branche Other devices

En ouvrant les propriétés de la clé, on peut valider que le driver n’est pas installé

Note : dans mes tests, en étant connecté en tant qu’administrateur local, l’info-bulle n’apparait qu’une seule fois lors de la première tentative de branchement de la clé.

Avis personnel :  le blocage par liste noire n’est pas forcément une approche très réaliste sauf si vous souhaitez bloquer tous les stockages amovibles (via l’usage dans la politique de l’ID USBSTOR/GenDisk ou encore GenDisk)

Approche n°3 : Utilisation d’une liste blanche de périphériques amovibles autorisés (clés USB autorisées)

C’est à mon avis une approche plus réaliste en terme d’administration que la gestion unique d’une liste noire. La liste blanche pouvant être mise à jour avec les modèles de clés préconisées / fournies par l’IT (donc l’IT dispose d’exemplaire pour recenser la liste d’ID utilisé par chaque modèle)

Policy : Allow installation of devices that match any of these device IDs
Chemin : Computer Configuration\Administrative Templates\System\Device Installation\Device Installation Restrictions\
Supporté depuis : Windows Vista
Clé de registre : HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions
Valeur : AllowDeviceIDs

De manière plus globale, ce paramètre permet de spécifier les ID des matériels Plug and Play qui peuvent être installés.

En cliquant sur Show… on obtient / on définit la liste des matériels (Hardware ID et Compatibility ID) qui peuvent être installés.

Ce paramètre s’utilise uniquement quand le paramètre "Prevent installation of devices not described by other policy settings" est activé et ne passe pas en priorité par rapport à d’autres paramètres de restriction d’installation de périphériques.

Les périphériques dont l’ID (Hardware ou compatibility ID) est dans la liste de ce paramétrage peuvent être installés ou mis à jour (pilote) si l’installation n’a pas été explicitement bloqué par les paramètres "Prevent installation of devices that match these device IDs," "Prevent installation of devices for these device classes," ou "Prevent installation of removable devices"

Policy : Prevent installation of devices not described by other policy settings
Chemin : Computer Configuration\Administrative Templates\System\Device installation\Device installation Restrictions\
Supporté depuis : Windows Vista
Clé de registre : HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions
Valeur : DenyUnspecified

If you disable or do not configure this setting and no other policy describes the device, the "Prevent installation of devices not described by other policy settings" setting determines whether the device can be installed.

Approche n°4 : Utilisation d’un produit tiers spécialisé dans la gestion des clés USB et autres supports amovibles

Les constructeurs de clé USB les plus importants commencent à proposer des solutions de gestion centralisée de leurs périphériques, malheureusement celles-ci ne concernent que les clés de la dite marque et sont, à mon avis, peu utiles pour le reste (les autres modèles de clés connectés par les utilisateurs). La solution est donc de combiner la solution tiers avec l’usage d’une stratégie de type liste blanche (les modèles du constructeur donné) avec les paramètres présentés ci-dessus.

Certaines solutions d’administration centralisée des postes de travail intègrent quelques fonctions de contrôle des clés USB / disques externes mais cela ne va pas très loin en terme de possibilités (beaucoup s’appuient en fait sur les paramètres de stratégies présentés ci-dessus).

N’ayant pas vraiment d’avis (ou plutôt de retour d’expérience) sur ces solutions, je n’en conseillerai aucune mais je suis ouvert à vos retours (via les commentaires ou en m’envoyant directement un courrier via le formulaire de contact). Et si vous pouvez me préciser le nombre de stations concernées et vos secteurs d’activité (ex: banque, industrie, administration..) c’est encore mieux Smile 

Prochain article de cette série : les paramètres utilisables en environnement Terminal Server (Remote Desktop Service) & VDI

- Stanislas Quastana -