12.6. Criação de uma política personalizada estruturada para dispositivos USB
Você pode organizar sua política personalizada USBGuard em vários arquivos .conf
dentro do diretório /etc/usbguard/rules.d/
. O usbguard-daemon
combina então o arquivo principal rules.conf
com os arquivos .conf
dentro do diretório, em ordem alfabética.
Pré-requisitos
-
O serviço
usbguard
está instalado e funcionando.
Procedimento
Criar uma política que autorize os dispositivos USB atualmente conectados e armazenar as regras geradas em um novo arquivo
.conf
, por exemplo,policy.conf
.# usbguard generate-policy --no-hashes > ./policy.conf
A opção
--no-hashes
não gera atributos de hash para dispositivos. Evite atributos de hash em suas configurações, pois eles podem não ser persistentes.Mostrar o
policy.conf
arquivo com um editor de texto de sua escolha, por exemplo:# 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" ...
Mova as linhas selecionadas para um arquivo
.conf
separado.NotaOs dois dígitos no início do nome do arquivo especificam a ordem na qual o daemon lê os arquivos de configuração.
Por exemplo, copie as regras para seus teclados em um novo arquivo
.conf
.# grep "USB Keyboard" ./policy.conf > ./10keyboards.conf
Instale a nova política no diretório
/etc/usbguard/rules.d/
.# install -m 0600 -o root -g root 10keyboards.conf /etc/usbguard/rules.d/10keyboards.conf
Mova o restante das linhas para um arquivo principal em
rules.conf
.# grep -v "USB Keyboard" ./policy.conf > ./rules.conf
Instale as demais regras.
# install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf
Reinicie o daemon
usbguard
para aplicar suas mudanças.# systemctl restart usbguard
Etapas de verificação
Exibir todas as regras ativas 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" ...
Exibir o conteúdo do arquivo
rules.conf
e todos os arquivos.conf
no diretório/etc/usbguard/rules.d/
.# cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf
- Verificar se as regras ativas contêm todas as regras dos arquivos e se estão na ordem correta.
Recursos adicionais
-
usbguard-rules.conf(5)
página do homem