L'utilitaire en ligne de commande usbguard permet de faire une "image" des périphériques légitimes branchés (clavier, souris, caméra, ...), et d'ignorer tout le reste, sécurisant donc la machine sans bloquer tous les ports, ce qui permet donc une utilisation très souple dans la pratique.
Un petit script vaut mieux qu'un long discours...
Code : Tout sélectionner
# cat /usr/local/bin/usban
#!/bin/bash
echo 1 / Activer
echo 2 / Mettre à jour avec les périphériques USB actuellement connectés
echo 3 / Désactiver
read -n 1 -p "Votre choix: " CHOICE
echo ""
case $CHOICE in
1)
systemctl start usbguard
echo "USBGuard activé !"
;;
2)
for i in 1 2 3; do
systemctl stop usbguard
usbguard generate-policy>/etc/usbguard/rules.conf
systemctl start usbguard
sleep 1
done
echo "USBGuard - mise à jour des périphériques terminée !"
;;
3)
systemctl stop usbguard
echo "USBGuard désactivé !"
;;
*)
echo "Je reviendrai..."
;;
esac
Code : Tout sélectionner
chmod +x /usr/local/bin/usban
Code : Tout sélectionner
usban
- quand usbguard est activé, vos périphériques doivent être branchés EXACTEMENT sur les mêmes ports USB, sinon ils sont ignorés !
- pourquoi refaire 3x la commande de recherche ? Parce que si vous avez un hub USB externe, il peut avoir besoin de plusieurs appels pour découvrir tous les périphériques qui y sont connectés !
Bien entendu, si le logiciel est actif et que vous branchez des clés/disques USB, ils seront logiquement ignorés de la même manière.
Bref, ce logiciel est parfait pour sécuriser une borne d'accès public, et éviter que des gens ne viennent y foutre le bordel...
Avec l'inconvénient qu'il faudra passer en root ou en sudo pour débloquer les ports !
TODO : un petit utilitaire graphique serait la bienvenue pour facilité la vie, car c'est vraiment un logiciel simple dans son concept, mais terriblement efficace pour éviter les conneries !
Enfin, si vous utilisez des HUB USB, il est bon de connaître les commandes
Code : Tout sélectionner
usbguard list-devices
Code : Tout sélectionner
usbguard list-devices -p NUMERO