¿Preocupado por los dispositivos USB maliciosos o con spyware? Linux te puede proteger con USBGuard. ¡Que nadie robe los datos de tu ordenador!

Esta herramienta de seguridad proporciona el control del acceso sobre dispositivos USB. Es indispensable a cualquier persona que necesite proteger un escritorio o servidor Linux.

1. Qué es USBGuard

Es un software que está diseñado expresamente para proteger su computadora contra dispositivos USB “hackers”, mediante la implementación de listas blancas básicas y listas negras basadas en atributos de los dispositivos. Cuando conecte un dispositivo USB, USBGuard explorará el dispositivo. A continuación, busca secuencialmente en su archivo de configuración para comprobar si ese dispositivo está permitido o rechazado. Lo bueno de USBGuard es que utiliza una característica que se implementa directamente en el kernel de Linux.


USBGuard no viene instalado de forma predeterminada, según mi conocimiento, en ninguna de las principales distribuciones de Linux. Pero puede instalar USBGuard en cualquier distro Linux (Fedora, Debian, Ubuntu, Arch Linux, Linux Mint, Elementary OS, Kali Linux, etc.) usando el código fuente. Así que pasemos a ello…

2. Cómo instalar USBGuard

//para ubuntu
sudo apt install usbguard

En mi caso, utilizo Fedora y utilizo los siguientes comandos: (también funciona para CentOS)

$ sudo yum install yum-plugin-copr
$ sudo yum copr enable mildew/usbguard
//Completamos la instalación con lo siguiente
$ sudo yum install usbguard
$ sudo yum install usbguard-applet-qt
Instalación USBGuard Fedora

Instalación en Fedora

Si no utilizas ni Ubuntu, ni Fedora puedes consultar la instalación aquí.

Una vez instalado, tomemos en cuenta algunos ajustes de USBGuard:

  • usbguard-daemon.conf: Cuando está configurado, el daemon explora cada dispositivo USB que se inserta en el sistema. A continuación, el daemon explora secuencialmente las reglas existentes y, cuando se encuentra una regla de coincidencia, autoriza (allows), desautoriza (blocks) o elimina (rejects) el dispositivo.
  • Mediante el parámetro “usb-device-id“, puede habilitar todos los dispositivos USB que aprueba y bloquear o rechazar cualquier otro dispositivo que alguien intente insertar en un puerto. También puede desactivar los puertos vacíos mediante el parámetro “port-id“.

3. Configurar USBGuard

Para comenzar a proteger su sistema, puede usar el comando shell USBGuard y su subcomando generate-policy y así generar una política inicial para su sistema. La herramienta genera una política de permisos para todos los dispositivos conectados actualmente a su sistema.

Para conseguir una política inicial, siga este ejemplo:


usbguard generate-policy > rules.conf
vi rules.conf (editar/modificar)
Politicas USBGuard

Políticas Iniciales

Reconocimiento Previo

Como pueden ver en la imagen anterior, todos los dispositivos que están permitidos ('allow'), fueron previamente insertados (por ejemplo mi USB 'v165w'). Usted puede modificar esa configuración.
//Creamos la configuración inicial
sudo install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf
sudo systemctl restart usbguard

Por ahora, cualquier dispositivo que conecte a su máquina no funcionará (a menos que aparezca como ‘allow‘ en la lista de la imagen anterior), aunque parezca haber sido detectado. Antes de pasar a aplicar ciertas reglas, es importante listar todos los dispositivos USB conectados al sistema ejecutando el comando lsusb. Tome nota del identificador y serial del USB que lo necesitamos más adelante.

Comando lsusb USBGuard

Comando lsusb

Caso Práctico

Como ejemplo, mi USB con nombre 'v165w' y que está previamente permitido (en la configuración inicial), pasaré a bloquearlo,

Una vez hecho lo anterior, usted empieza a especificar sus reglas. Por ejemplo, para mi Caso Práctico:

//Para mi caso, simplemente lo he editado
block id 03f0:5307 ....
//Usted puede añadir, modificar o eliminar las listas
parámetro block ID USBGuard

Utilizando el parámetro block ID

Entonces, el dispositivo “v165w” quedará bloqueado y no se visualizará en el ordenador. Si usted quiere permitir un dispositivo USB “Nombre”, realice lo siguiente:

allow [ID USB] name "Nombre" serial "[Serial del USB]" via-port "1-2" hash "[Hash del USB]" reject via-port "1-2"

Esto permitirá que ese dispositivo – y ningún otro – se ejecute, pero sólo se ejecutará si está en un puerto específico. ¿Por qué utilizar hash? porque hash es el valor más específico que podemos utilizar para identificar un dispositivo en USBGuard.

Por lo tanto, si usted no quiere que sus servidores o PCs puedan verse vulnerados por una memoria USB, instalar y configurar USBGuard es una necesidad. ¿Cómo asegura que usted o su empresa tienen medidas de seguridad USB? ¡Comparta con los demás! 🙂

¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos su email.