- Warning
-
- JFolder::files : le chemin n'est pas un répertoire. Chemin : images/Badges
« Placez votre main sur un poêle une minute et ça vous semble durer une heure. Asseyez vous auprès d'une jolie fille une heure et ça vous semble durer une minute. C'est ça la relativité. »
Introduction
Dans le monde professionnel, l'utilisation de ces clés USB par les utilisateurs soulève trois problèmes majeurs :
Concernant le premier point, il est important d'y ajouter une précision. En effet il ne sert à rien de vouloir à tout prix désactiver l'accès au stockage amovible (donc les clés USB), si vos utilisateurs peuvent accéder à Internet (donc envoyer des fichiers), accéder à un graveur ou encore une imprimante ! Les habitués de notre forum auront entendu ce discours plus d'une fois...
Nous allons donc dans cet article montrer comment mettre en place une politique efficace de restriction d'accès aux périphériques USB pour vos utilisateurs.
Les systèmes d’exploitation actuels, comme Windows Server 2003 et Windows XP ne nous permettent pas en l'état des choses de surveiller, autoriser et surtout restreindre l'accès aux périphériques USB.
C'est pour cela que cet article se base sur les nouvelles versions des systèmes Microsoft à savoir à partir de VISTA – serveur 2008. Nous allons utiliser DMI (Device Management and Installation) afin de contrôler si un utilisateur possède l'autorisation ou non d'installer tel ou tel périphérique.
Nous verrons comment :
Vue d'ensemble des composants
Présentation du processus d'installation
Avant de rentrer dans les détails sur la possibilité de bloquer l'installation de périphériques USB sur un ordinateur exécutant Windows Vista, il est important de connaître quel est le processus mis en œuvre par le système en arrière plan.
Pour installer un périphérique, Windows doit d'abord le détecter puis reconnaître son type et enfin rechercher le pilote approprié.
Un périphérique possède deux types d'identifiants :
Chaque périphérique possède une ou plusieurs chaînes d'identification qui sont définies par le constructeur lors de sa fabrication. Ces mêmes chaînes vont se retrouver dans un fichier .inf faisant partie du package de pilotes. Lorsque vous branchez un périphérique, celui-ci envoie ses chaînes au système qui recherche le package de pilote possédant la ou les mêmes chaînes.
Certains périphériques disposent en plus de leur chaîne d'identification d'une liste de chaînes compatibles. Ils permettent ainsi leur installation au cas où les pilotes exacts ne seraient pas trouvés. Le périphérique pourra se rabattre sur un pilote compatible généralement générique offrant ainsi des performances moindres.
La deuxième chose qui définit un matériel amovible est sa classe. En effet chaque périphérique est membre d'une classe regroupant tous les autres appareils du même type. Cette classe possède un nom et un numéro d'identification appelé GUID. Ce numéro nous sera utile dans la 3ème partie de cet article lorsque nous configurerons des restrictions au niveau d'une classe.
Pour obtenir la liste des classes matériel et leur GUID, rendez-vous sur cette page du site Microsoft :http://msdn2.microsoft.com/en-us/library/ms791134.aspx ou voir l’ annexe.
Maintenant que vous connaissez comment est analysé et configuré un périphérique, vous devez connaître quels sont les différents paramètres de restriction d'installation existants dans Windows Vista.
Liste des stratégies de groupe
Le processus de gestion d'installation des périphériques USB s'effectue à l'aide des stratégies. Soit des stratégies locales dans le cas de la configuration d'un ordinateur unique soit des stratégies de groupe dans le cas d'un domaine.
Tous les paramètres de configurations sont rassemblés dans un fichier d'administration nommé : devinst.adm. Les deux nouveaux systèmes (Client et Serveur) l'intègrent par défaut dans la console d'édition des stratégies.
Il suffit d'aller dans Configuration Ordinateur / Modèles d'administration / Système / Installation de périphériques / Restrictions d'installation de périphériques.
Voici les différents paramètres que nous allons retrouver avec leurs explications, ils sont au nombre de 9 :
Empêcher l'installation de tous les périphériques USB
Dans le cas où vous souhaitez empêcher l'installation de tous les périphériques USB sur votre poste il vous faut configurer uniquement une stratégie :
A partir de ce moment-là, dès qu'un périphérique amovible, de type clé USB est connecté à un ordinateur le message suivant apparaît dans la barre des tâches:
Le titre de la bulle est : "Pas de clé USB sur le réseau !" et son contenu est : "Les clés USB ne sont pas autorisées à être connectées". Bien évidemment ces deux paramètres sont configurables à l'aide des deux stratégies citées plus haut.
Si l'on clique sur l'info bulle afin d'avoir plus de détails, on peut y lire un message intitulé : "L'installation du périphérique est bloquée par la stratégie" et y voir le modèle exact du périphérique concerné, dans notre cas : Kingston DataTraveler 2.0 USB Device.
Si nous nous rendons dans le gestionnaire de périphériques, on peut y voir notre clé USB, avec comme logo le triangle jaune, indiquant un dysfonctionnement. Même à partir d'ici il ne sera pas possible de contourner la stratégie de restriction.
Cette stratégie étant définie au niveau ordinateur elle s'applique à tous les comptes utilisateur présent y compris les administrateurs. Ceci peut poser problème. En effet, dans certains cas, les administrateurs peuvent avoir besoin d'intervenir sur un poste et de connecter un périphérique USB. Il est alors possible de définir un paramètre afin de stipuler que les restrictions ne s'appliquent pas aux administrateurs.
Pour cela il suffit d'activer le paramètre :
Ainsi dès le branchement du périphérique, Windows vous demande quelle action vous souhaitez faire. Cliquez sur "Rechercher et installer le pilote logiciel (recommandé)". Le système va ainsi scanner votre ordinateur pour trouver le pilote approprié à votre clé.
Après quelques secondes de configuration et d''installation, une info bulle (cette fois-ci positive) s'affiche dans votre barre des tâches indiquant que le pilote logiciel de périphérique a été correctement installé. Bien évidemment, ceci n'a été possible que grâce aux privilèges administratifs de mon utilisateur.
Enfin l'écran d'exécution automatique s'ouvre. Choisissez votre action par défaut, généralement : Ouvrir le dossier et afficher les fichiers dans le cas de périphérique USB.
Sélectionnez les périphériques qui pourront être installés
A l'aide des ID de périphérique
Dans la partie précédente, nous avons vu comment bloquer l'installation de tous les périphériques amovibles sur un ordinateur exécutant Windows Vista.
Dans la section 1 de cet article, nous avons vu que chaque périphérique était défini par une Classe et un ID. Nous allons donc voir maintenant comment sélectionner les périphériques qui auront le droit d'être installé. Il va s'agir de filtrer !
Comme d'habitude deux possibilités pour cela :
Nous allons voir qu'il existe deux stratégies dédiées à ces deux problématiques.
Pour notre exemple nous allons utiliser un lecteur MP3 Transcend JetFlash 1Go en guise de périphérique amovible USB.
Dans un premier temps nous allons récupérer ses identifiants. Pour cela il faut se rendre dans le gestionnaire de périphérique puis dans les propriétés de celui-ci.
Dans l'onglet Détails, choisissez dans la longue liste déroulante le paramètre :
Maintenant ouvrez l'éditeur de stratégie de groupe, nous allons configurer deux paramètres :
Pour le deuxième paramètre vous devez ajouter en plus de l'activer, la liste des numéros de périphériques que vous souhaitez autoriser sur votre ordinateur ! Il s'agit du code récupéré un peu plus haut.
Une fois la mise à jour des stratégies effectuée, à l'aide de la commande : gpupdate / force vous pouvez tester son fonctionnement.
Branchez sur votre ordinateur un périphérique correspond à l'un des numéros rentrés précédemment et vous verrez que celui-ci s'installe sans encombre. Il vous suffit d'ouvrir votre gestionnaire de périphériques, vous remarquerez que votre appareil est bien disponible et opérationnel dans une section nommé : "Appareils mobiles".
Par contre n'importe quel autre périphérique ne faisant pas partie de la liste se verra automatiquement bloqué lors du processus d'installation. En voici un exemple.
Bien évidemment le processus inverse fonctionne également très bien en utilisant la stratégie :
Cependant il est beaucoup moins sécurisé. En effet il vaut mieux tout interdire sauf ce que l'on veut explicitement autoriser plutôt que l'inverse... C'est l'éternelle question des pare-feu.
Une autre façon de gérer l'utilisation et la connexion de périphériques amovibles sur vos ordinateurs est d'utiliser la restriction au niveau des classes de périphériques. En effet comme nous l'avons vu dans la première partie de cet article, chaque appareil est identifié en tant que membre d'une classe, et chaque classe est définie par un GUID : Global Unique IDentifier.
Nous pouvons donc utiliser ce paramètre plus large que les simples ID de matériel pour bloquer l'installation de tous périphériques appartenant à une même classe.
Pour cela rendez-vous dans les propriétés du périphérique (ou sur le site de son constructeur) pour récupérer le GUID de sa classe.
Dans la liste déroulante de l'onglet détails, sélectionnez : GUID de la classe de périphérique. Copiez la valeur inscrite au-dessous. Dans notre cas : {eec5ad98-8080-425f-922a-dabf3de3f69a}
Rendez-vous maintenant dans la console d'édition des stratégies de groupe, puis sélectionnez l'une des deux stratégies suivantes :
Ouvrez celle de votre choix, activez-la puis ajoutez-y le ou les GUID des classes que vous souhaitez bloquer ou accepter.
Pour rappel, voici la liste des classes associées avec leurs GUIDs directement sur le site de Microsoft : http://msdn2.microsoft.com/en-us/library/ms791134.aspx ou voir l’annexe.
Battery Devices
Class = Battery
ClassGuid = {72631e54-78a4-11d0-bcf7-00aa00b7b32a}
For Microsoft Windows 2000 and later NT-based operating systems, this class includes battery devices and UPS devices.
For Windows 9x/Me, the System class includes battery devices and UPS devices.
Biometric Device
Class = Biometric
ClassGuid = {53D29EF7-377C-4D14-864B-EB3A85769359}
For Windows Server 2003 and later versions, this class includes all biometric-based personal identification devices.
Bluetooth Devices
Class = Bluetooth
ClassGuid = {e0cbf06c-cd8b-4647-bb8a-263b43f0f974}
For Windows XP SP1 and later, this class includes all Bluetooth devices.
CD-ROM Drives
Class = CDROM
ClassGuid = {4d36e965-e325-11ce-bfc1-08002be10318}
This class includes CD-ROM drives, including SCSI CD-ROM drives. By default, the system's CD-ROM class installer also installs a system-supplied CD audio driver and CD-ROM changer driver as Plug and Play filters.
Disk Drives
Class = DiskDrive
ClassGuid = {4d36e967-e325-11ce-bfc1-08002be10318}
This class includes hard disk drives. See also the HDC and SCSIAdapter classes.
Display Adapters
Class = Display
ClassGuid = {4d36e968-e325-11ce-bfc1-08002be10318}
This class includes video adapters. Drivers for this class include display drivers and video miniport drivers.
Floppy Disk Controllers
Class = FDC
ClassGuid = {4d36e969-e325-11ce-bfc1-08002be10318}
This class includes floppy disk drive controllers.
Floppy Disk Drives
Class= FloppyDisk
ClassGuid= {4d36e980-e325-11ce-bfc1-08002be10318}
This class includes floppy disk drives.
Hard Disk Controllers
Class = HDC
ClassGuid = {4d36e96a-e325-11ce-bfc1-08002be10318}
This class includes hard disk controllers, including ATA/ATAPI controllers but not SCSI and RAID disk controllers.
Human Interface Devices (HID)
Class = HIDClass
ClassGuid = {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
This class includes interactive input devices that are operated by the system-supplied HID class driver, which includes USB devices that comply with the USB HID Standard and non-USB devices that use a HID minidriver. For more information, see HIDClass Device Setup Class.. (See also the Keyboard or Mouse classes later in this list.)
IEEE 1284.4 Devices
Class=Dot4
ClassGuid = {48721b56-6795-11d2-b1a8-0080c72e74a2}
This class includes devices that control the operation of multifunction IEEE 1284.4 peripheral devices.
IEEE 1284.4 Print Functions
Class = Dot4Print
ClassGuid = {49ce6ac8-6f86-11d2-ble5-0080c72e74a2}
This class includes Dot4 print functions. A Dot4 print function is a function on a Dot4 device and has a single child device, which is a member of the Printer device setup class.
IEEE 1394 Devices That Support the 61883 Protocol
Class = 61883
ClassGuid = {7ebefbc0-3200-11d2-b4c2-00a0C9697d07}
This class includes IEEE 1394 devices that support the IEC-61883 protocol device class.
The 61883 component includes the 61883.sys protocol driver that transmits various audio and video data streams over the 1394 bus. These currently include standard/high/low quality DV, MPEG2, DSS, and Audio. These data streams are defined by the IEC-61883 specifications.
IEEE 1394 Devices That Support the AVC Protocol
Class = AVC
ClassGuid = {c06ff265-ae09-48f0-812c16753d7cba83}
This class includes IEEE 1394 devices that support the AVC protocol device class.
IEEE 1394 Devices That Support the SBP2 Protocol
Class = SBP2
ClassGuid = {d48179be-ec20-11d1-b6b8-00c04fa372a7}
This class includes IEEE 1394 devices that support the SBP2 protocol device class.
IEEE 1394 Host Bus Controller
Class = 1394
ClassGuid = {6bdd1fc1-810f-11d0-bec7-08002be2092f}
This class includes 1394 host controllers connected on a PCI bus, but not 1394 peripherals. Drivers for this class are system-supplied.
Imaging Device
Class = Image
ClassGuid = {6bdd1fc6-810f-11d0-bec7-08002be2092f}
This class includes still-image capture devices, digital cameras, and scanners.
IrDA Devices
Class = Infrared
ClassGuid = {6bdd1fc5-810f-11d0-bec7-08002be2092f}
This class includes infrared devices. Drivers for this class include Serial-IR and Fast-IR NDIS miniports, but see also the Network Adapter class for other NDIS NIC miniports.
Keyboard
Class = Keyboard
ClassGuid = {4d36e96b-e325-11ce-bfc1-08002be10318}
This class includes all keyboards. That is, it also must be specified in the (secondary) INF for an enumerated child HID keyboard device.
Media Changers
Class = MediumChanger
ClassGuid = {ce5939ae-ebde-11d0-b181-0000f8753ec4}
This class includes SCSI media changer devices.
Memory Technology Driver
Class = MTD
ClassGuid = {4d36e970-e325-11ce-bfc1-08002be10318}
This class includes memory devices, such as flash memory cards.
Modem
Class = Modem
ClassGuid = {4d36e96d-e325-11ce-bfc1-08002be10318}
This class includes modem devices. An INF file for a device of this class specifies the features and configuration of the device and stores this information in the registry. An INF file for a device of this class can also be used to install device drivers for a controllerless modem or a software modem. These devices split the functionality between the modem device and the device driver. For more information about modem INF files and Microsoft Windows Driver Model (WDM) modem devices, see Overview of Modem INF Files and Adding WDM Modem Support.
Monitor
Class = Monitor
ClassGuid = {4d36e96e-e325-11ce-bfc1-08002be10318}
This class includes display monitors. An INF for a device of this class installs no device driver(s), but rather specifies the features of a particular monitor to be stored in the registry for use by drivers of video adapters. (Monitors are enumerated as the child devices of display adapters.)
Mouse
Class = Mouse
ClassGuid = {4d36e96f-e325-11ce-bfc1-08002be10318}
This class includes all mouse devices and other kinds of pointing devices, such as trackballs. That is, this class also must be specified in the (secondary) INF for an enumerated child HID mouse device.
Multifunction Devices
Class = Multifunction
ClassGuid = {4d36e971-e325-11ce-bfc1-08002be10318}
This class includes combo cards, such as a PCMCIA modem and netcard adapter. The driver for such a Plug and Play multifunction device is installed under this class and enumerates the modem and netcard separately as its child devices.
Multimedia
Class = Media
ClassGuid = {4d36e96c-e325-11ce-bfc1-08002be10318}
This class includes Audio and DVD multimedia devices, joystick ports, and full-motion video capture devices.
Multiport Serial Adapters
Class = MultiportSerial
ClassGuid = {50906cb8-ba12-11d1-bf5d-0000f805f530}
This class includes intelligent multiport serial cards, but not peripheral devices that connect to its ports. It does not include unintelligent (16550-type) mutiport serial controllers or single-port serial controllers (see the Ports class).
Network Adapter
Class = Net
ClassGuid = {4d36e972-e325-11ce-bfc1-08002be10318}
This class includes NDIS miniport drivers excluding Fast-IR miniport drivers, NDIS intermediate drivers (of virtual adapters), and CoNDIS MCM miniport drivers.
Network Client
Class = NetClient
ClassGuid = {4d36e973-e325-11ce-bfc1-08002be10318}
This class includes network and/or print providers.
Network Service
Class = NetService
ClassGuid = {4d36e974-e325-11ce-bfc1-08002be10318}
This class includes network services, such as redirectors and servers.
Network Transport
Class = NetTrans
ClassGuid = {4d36e975-e325-11ce-bfc1-08002be10318}
This class includes NDIS protocols, CoNDIS stand-alone call managers, and CoNDIS clients, as well as higher level drivers in transport stacks.
PCI SSL Accelerator
Class = Security Accelerator
ClassGuid = {268c95a1-edfe-11d3-95c3-0010dc4050a5}
This class includes devices that accelerate secure socket layer (SSL) cryptographic processing.
PCMCIA Adapters
Class = PCMCIA
ClassGuid = {4d36e977-e325-11ce-bfc1-08002be10318}
This class includes PCMCIA and CardBus host controllers, but not PCMCIA or CardBus peripherals. Drivers for this class are system-supplied.
Ports (COM & LPT ports)
Class = Ports
ClassGuid = {4d36e978-e325-11ce-bfc1-08002be10318}
This class includes serial and parallel port devices. See also the MultiportSerial class.
Printers
Class = Printer
ClassGuid = {4d36e979-e325-11ce-bfc1-08002be10318}
This class includes printers.
Printers, Bus-specific class drivers
Class = PNPPrinters
ClassGuid = {4658ee7e-f050-11d1-b6bd-00c04fa372a7}
This class includes SCSI/1394-enumerated printers. Drivers for this class provide printer communication for a specific bus.
Processors
Class = Processor
ClassGuid = {50127dc3-0f36-415e-a6cc-4cb3be910b65}
This class includes processor types.
SCSI and RAID Controllers
Class = SCSIAdapter
ClassGuid = {4d36e97b-e325-11ce-bfc1-08002be10318}
This class includes SCSI HBAs (Host Bus Adapters) and disk-array controllers.
Smart Card Readers
Class = SmartCardReader
ClassGuid = {50dd5230-ba8a-11d1-bf5d-0000f805f530}
This class includes smart card readers.
Storage Volumes
Class = Volume
ClassGuid = {71a27cdd-812a-11d0-bec7-08002be2092f}
This class includes storage volumes as defined by the system-supplied logical volume manager and class drivers that create device objects to represent storage volumes, such as the system disk class driver.
System Devices
Class = System
ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318}
This class includes HALs, system buses, system bridges, the system ACPI driver, and the system volume manager driver.
For Windows 9x/Me, this class also includes battery devices and UPS devices.
Tape Drives
Class = TapeDrive
ClassGuid = {6d807884-7d21-11cf-801c-08002be10318}
This class includes tape drives, including all tape miniclass drivers.
USB
Class = USB
ClassGuid = {36fc9e60-c465-11cf-8056-444553540000}
This class includes USB host controllers and USB hubs, but not USB peripherals. Drivers for this class are system-supplied.
Windows CE USB ActiveSync Devices
Class = WCEUSBS
ClassGuid = {25dbce51-6c8f-4a72-8a6d-b54c2b4fc835}
This class includes Windows CE ActiveSync devices.
The WCEUSBS setup class supports communication between a personal computer and a device that is compatible with the Windows CE ActiveSync driver (generally, PocketPC devices) over USB.
System-Defined Device Setup Classes Reserved for System Use
The following classes and GUIDs should not be used to install devices (or drivers) on Windows 2000 or later platforms:
Adapter
Class = Adapter
ClassGuid = {4d36e964-e325-11ce-bfc1-08002be10318}
This class is obsolete.
APM
Class = APMSupport
ClassGuid = {d45b1c18-c8fa-11d1-9f77-0000f805f530}
This class is reserved for system use.
Computer
Class = Computer
ClassGuid = {4d36e966-e325-11ce-bfc1-08002be10318}
This class is reserved for system use.
Decoders
Class = Decoder
ClassGuid = {6bdd1fc2-810f-11d0-bec7-08002be2092f}
This class is reserved for future use.
Global Positioning System
Class = GPS
ClassGuid = {6bdd1fc3-810f-11d0-bec7-08002be2092f}
This class is reserved for future use.
Host-side IEEE 1394 Kernel Debugger Support
Class = 1394Debug
ClassGuid = {66f250d6-7801-4a64-b139-eea80a450b24}
This class is reserved for system use.
IEEE 1394 IP Network Enumerator
Class = Enum1394
ClassGuid = {c459df55-db08-11d1-b009-00a0c9081ff6}
This class is reserved for system use.
No driver
Class = NoDriver
ClassGuid = {4d36e976-e325-11ce-bfc1-08002be10318}
This class is obsolete.
Non-Plug and Play Drivers
Class = LegacyDriver
ClassGuid = {8ecc055d-047f-11d1-a537-0000f8753ed1}
This class is reserved for system use.
Other Devices
Class = Unknown
ClassGuid = {4d36e97e-e325-11ce-bfc1-08002be10318}
This class is reserved for system use. Enumerated devices for which the system cannot determine the type are installed under this class. Do not use this class if you are unsure in which class your device belongs. Either determine the correct device setup class or create a new class.
Printer Upgrade
Class = Printer Upgrade
ClassGuid = {4d36e97a-e325-11ce-bfc1-08002be10318}
This class is reserved for system use.
Sound
Class = Sound
ClassGuid = {4d36e97c-e325-11ce-bfc1-08002be10318}
This class is obsolete.
Storage Volume Snapshots
Class = VolumeSnapshot
ClassGuid = {533c5b84-ec70-11d2-9505-00c04F79deaf}
This class is reserved for system use.
Commentaires
Si un administrateur branche un périphérique normalement interdit, le pilote va s'installer. L'utilisateur lambda suivant pourra utiliser la même référence de périphérique usb du fait que le pilote sera installé....
S’abonner au flux RSS pour les commentaires de cet article.