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
usbguardestá 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.confLa opción
--no-hashesno 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.confarchivo con un editor de texto de su elección, por ejemplo:# 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" ...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.confInstale 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.confMueve el resto de las líneas a un archivo principal
rules.conf.# grep -v "USB Keyboard" ./policy.conf > ./rules.confInstale las reglas restantes.
# install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.confReinicie el demonio
usbguardpara aplicar los cambios.# systemctl restart usbguard
Pasos de verificación
Muestra todas las reglas activas de USBGuard.
# 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" ...Muestra el contenido del archivo
rules.confy todos los archivos.confen el directorio/etc/usbguard/rules.d/.# cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf- 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