Cómo bloquear dispositivos de almacenamiento USB en servidores Linux


Para proteger la extracción de datos confidenciales de los servidores por parte de los usuarios que tienen acceso físico a las máquinas, es una buena práctica deshabilitar todo el soporte de almacenamiento USB en el kernel de Linux.

Para deshabilitar el soporte de almacenamiento USB, primero debemos identificar si el controlador de almacenamiento está cargado en el kernel de Linux y el nombre del controlador (módulo) responsable con el controlador de almacenamiento.

Ejecute el comando lsmod para enumerar todos los controladores del kernel cargados y filtrar la salida a través del comando grep con la cadena de búsqueda "usb_storage".

# lsmod | grep usb_storage

Desde el comando lsmod, podemos ver que el módulo UAS está usando el módulo sub_storage. A continuación, descargue ambos módulos de almacenamiento USB del kernel y verifique si la eliminación se ha completado con éxito, emitiendo los siguientes comandos.

# modprobe -r usb_storage
# modprobe -r uas
# lsmod | grep usb

A continuación, enumere el contenido del directorio de módulos de almacenamiento usb del kernel de tiempo de ejecución actual emitiendo el siguiente comando e identifique el nombre del controlador de almacenamiento usb. Por lo general, este módulo debe llamarse usb-storage.ko.xz o usb-storage.ko.

# ls /lib/modules/`uname -r`/kernel/drivers/usb/storage/

Para bloquear la carga del módulo de almacenamiento USB en el kernel, cambie el directorio a la ruta de los módulos de almacenamiento usb del kernel y cambie el nombre del módulo usb-storage.ko.xz a usb-storage.ko.xz.blacklist, emitiendo los siguientes comandos.

# cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/
# ls
# mv usb-storage.ko.xz usb-storage.ko.xz.blacklist

En las distribuciones de Linux basadas en Debian, ejecute los siguientes comandos para bloquear la carga del módulo de almacenamiento USB en el kernel de Linux.

# cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/ 
# ls
# mv usb-storage.ko usb-storage.ko.blacklist

Ahora, siempre que conecte un dispositivo de almacenamiento USB, el kernel no podrá cargar el kernel de introducción del controlador del dispositivo de almacenamiento. Para revertir los cambios, simplemente cambie el nombre del módulo USB de la lista negra a su nombre anterior.

# cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/
# mv usb-storage.ko.xz.blacklist usb-storage.ko.xz

Sin embargo, este método solo se aplica a los módulos del kernel en tiempo de ejecución. En caso de que desee incluir en la lista negra los módulos de almacenamiento USB de todos los kernels disponibles en el sistema, ingrese la ruta de la versión del directorio de cada módulo del kernel y cambie el nombre de usb-storage.ko.xz a usb-storage.ko.xz.blacklist.