Actualmente uno de los dispositivos actuales que la mayoría de nosotros tenemos y que se convierte en una herramienta útil por su practicidad y capacidad son los dispositivos USB, llamasen discos externos, memorias USB o unidades SD, estas nos permiten almacenar grandes cantidades de datos e incluso instalar sistemas operativos desde ellas.
Aunque esto es funcional y novedoso, los dispositivos USB son un medio por el cual se puede transmitir virus, malware y lo peor, puede usarse para el robo de información, una situación a la que todo administrador está expuesto es que alguno de los usuarios conecte un medio USB en su equipo local y pueda llevar a cabo lo siguiente:
- Descarga de elementos multimedia en los cuales pueden estar ocultos malware, ransomware, etc.
- Copia de documentos confidenciales
- Instalación de programas no autorizados
- Replicación o propagación de información en toda la red y más.
En este caso la solución más idónea es bloquear el uso de dispositivos USB en el servidor y así añadir un nivel más de seguridad dentro de la organización.
En Solvetic analizaremos como lograr esto con algunos pasos y así evitar problemas a corto, mediano o largo plazo.
1. Comprobar si el controlador está en el kernel de Linux
Para deshabilitar el soporte de medios USB en el servidor, en primer lugar, será necesario identificar si el controlador de almacenamiento está cargado en el kernel de la distribución, en este caso Ubuntu 17, y validar el nombre del controlador responsable de este medio de almacenamiento.
Para comprobar esto ejecutaremos lo siguiente. Gracias al comando "lsmod" es posible validar que el módulo "usb_storage" está en uso por el módulo UAS.
lsmod | grep usb_storage
El siguiente paso a dar será descargar ambos módulos de almacenamiento USB del kernel y verificar si el proceso de eliminación ha sido completado con éxito, para esto podemos ejecutar los siguientes comandos:
modprobe -r usb_storage modprobe -r uas lsmod | grep usb
2. Editar las políticas en Linux
El siguiente paso a dar será enumerar el contenido que hay en el directorio de módulos de almacenamiento USB del núcleo actual haciendo uso del siguiente comando:
ls /lib/modules/`uname -r`/kernel/drivers/usb/storage/
Allí debemos identificar el nombre del controlador de almacenamiento usb el cual en la mayoría de los casos tiene el siguiente formato:
usb-storage.ko.xz usb-storage.ko
Ahora, para bloquear el módulo de almacenamiento de USB en el kernel, será necesario cambiar la ruta de los módulos de almacenamiento usb del directorio al kernel y luego renombrar el módulo usb-storage.ko.xz a usb-storage.ko.xz.blacklist o bien usb-storage.ko a usb-storage.ko.blacklist , usando los siguientes comandos:
cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/ ls sudo mv usb-storage.ko usb-storage.ko.blacklist
En el caso de Debian debemos ejecutar los siguientes comandos para el bloqueo del módulo de almacenamiento usb:
cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/ ls sudo mv usb-storage.ko usb-storage.ko.blacklistDe este modo, cuando se conecte cualquier medio USB al equipo, el núcleo no podrá cargar el respectivo kernel de entrada de este controlador de almacenamiento.
En el momento en que deseemos revertir los cambios basta con renombrar el dispositivo a su nombre original ejecutando lo siguiente:
cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/ mv usb-storage.ko.blacklist usb-storage.ko
3. Bloquear dispositivos USB con chmod en Linux
El objetivo de Solvetic es dar las mejores soluciones y por ello explicaremos otro método sencillo para lograr el bloqueo de los dispositivos USB en Linux.
Sabemos muy bien que cada USB se monta en /media/ o si la distribución usa systemd, se montará en /run/media/, por ello, debemos editar los permisos de estas rutas para que solo el usuario root tenga el acceso y nadie más, para ello ejecutaremos lo siguiente:
sudo chmod 700 /media/O en su caso:
sudo chmod 700 /run/media/
Con este método, la unidad si será montada, pero no será desplegada ninguna notificación al usuario, ni podrá acceder directamente al contenido de esta, solo el usuario root.