12.6. Creación de una política personalizada estructurada para los dispositivos USB
Puede organizar su política personalizada USBGuard en varios archivos .conf
dentro del directorio /etc/usbguard/rules.d/
. El usbguard-daemon
combina entonces el archivo principal rules.conf
con los archivos .conf
dentro del directorio en orden alfabético.
Requisitos previos
-
El servicio
usbguard
está instalado y funcionando.
Procedimiento
Cree una política que autorice los dispositivos USB actualmente conectados, y almacene las reglas generadas en un nuevo archivo
.conf
, por ejemplo,policy.conf
.usbguard generate-policy --no-hashes > ./policy.conf
# usbguard generate-policy --no-hashes > ./policy.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La opción
--no-hashes
no genera atributos hash para los dispositivos. Evita los atributos hash en tus ajustes de configuración porque podrían no ser persistentes.Visualice el
policy.conf
archivo con un editor de texto de su elección, por ejemplo:vi ./policy.conf
# vi ./policy.conf ... allow id 04f2:0833 serial "" name "USB Keyboard" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown" ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mover las líneas seleccionadas a un archivo separado
.conf
.NotaLos dos dígitos al principio del nombre del archivo especifican el orden en que el demonio lee los archivos de configuración.
Por ejemplo, copie las reglas de sus teclados en un nuevo archivo
.conf
.grep "USB Keyboard" ./policy.conf > ./10keyboards.conf
# grep "USB Keyboard" ./policy.conf > ./10keyboards.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Instale la nueva política en el directorio
/etc/usbguard/rules.d/
.install -m 0600 -o root -g root 10keyboards.conf /etc/usbguard/rules.d/10keyboards.conf
# install -m 0600 -o root -g root 10keyboards.conf /etc/usbguard/rules.d/10keyboards.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mueve el resto de las líneas a un archivo principal
rules.conf
.grep -v "USB Keyboard" ./policy.conf > ./rules.conf
# grep -v "USB Keyboard" ./policy.conf > ./rules.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Instale las reglas restantes.
install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf
# install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reinicie el demonio
usbguard
para aplicar los cambios.systemctl restart usbguard
# systemctl restart usbguard
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Pasos de verificación
Muestra todas las reglas activas de USBGuard.
usbguard list-rules
# usbguard list-rules ... 15: allow id 04f2:0833 serial "" name "USB Keyboard" hash "kxM/iddRe/WSCocgiuQlVs6Dn0VEza7KiHoDeTz0fyg=" parent-hash "2i6ZBJfTl5BakXF7Gba84/Cp1gslnNc1DM6vWQpie3s=" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown" ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Muestra el contenido del archivo
rules.conf
y todos los archivos.conf
en el directorio/etc/usbguard/rules.d/
.cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf
# cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Compruebe que las reglas activas contienen todas las reglas de los archivos y están en el orden correcto.
Recursos adicionales
-
usbguard-rules.conf(5)
página de manual