Renforcer la sécurité de vos serveurs Linux avec USB-guard (Gestionnaire de périphériques de stockage)

Généralement quand nous parlons de sécurité informatique, nous pensons plus rapidement à la sécurité applicative des équipements. Mais ce n’est pas la seule. La sécurité physique est aussi un axe à prendre dans sa politique de sécurité informatique. Aujourd’hui nous allons voir comment appliquer un filtre/barrage au périphérique externe étranger sur une machine Linux (Distribution Ubuntu).

USBGuard est un petit daemon qui fournit une protection face à des périphériques externe potentiellement intrusifs. Il met en œuvre des fonctionnalités de base (blacklist, whitelist) sur les attributs (ID unique, Nom…) de périphérique de stockage uniquement. Pour appliquer une politique définie par l’utilisateur, USBGuard utilise notamment la fonction d’autorisation de périphérique USB du noyau Linux du système.

Ce tutoriel est réalisé sous Ubuntu 20.04.

Nb: Les utilisateurs de REDHat, Centos peuvent suivre aussi ce tutoriel, la simple commande qui varie est lors de l’installation du paquet usbguard non pas avec apt mais avec yum.

Démonstration

Toutes les commandes ci-dessous seront exécutées par l’intermédiaire de l’utilisateur root.

Dans un premier temps, nous allons installer le paquet usbguard, par l’intermédiaire de la fameuse commande apt.

apt install usbguard

Dès lors que l’installation est achevée, nous allons générer la politique par défaut d’usbguard. (Par défaut celle-ci autorise tous les périphérique de stockage externe déjà connecté à la machine, lors de son exécution).

usbguard generate-policy > /etc/usbguard/rules.conf

Bien, nous pouvons maintenant démarrer le service usbguard.

systemctl restart usbguard.service

systemctl enable usbguard.service

Tests

Pour réaliser nos tests, nous allons brancher une clé USB à notre machine.

 

Si vous utilisez VMware Workstation comme logiciel de virtualisation, il faudra autoriser que le périphérique de stockage soit branché à notre machine virtuelle. (Dans certains cas les VMware Tools peuvent être requis)

Normalement votre clé USB ne doit pas apparaitre, et bien sur cela est normal. 🙂🙂

Pour vérifier que notre système détecte la présence de cette clé USB (mais qu’elle n’est pas monté), nous allons exécuter les commandes suivantes.

lsusb # commande universelle

Mais celle qui nous intéresse réellement est :

usbguard list-devices

 

Comme vous pouvez le constater, la ligne commençant par 13, qui représente l’ID du périphérique USB que je viens de brancher. Automatiquement usbguard l’a détecté, et l’a bloqué.

J’insiste sur le fait qu’Usbguard ne désactive pas les ports, il effectue un contrôle permanent sur ce qui est branché ou non. Voyons un peu ce principe comme la police douanière à une frontière entre deux pays. Celle-ci autorise ou non une personne à rentrer sur son territoire (sauf dans l’espace Schengen 🙂🙂
 ). Et bien cela est le même principe sur le fond avec usbguard, sauf qu’ici nous parlons pas de pays mais de système informatique.