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
usbguardestá 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
# usbguard generate-policy --no-hashes > ./policy.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow A opção
--no-hashesnã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.confarquivo com um editor de texto de sua escolha, por exemplo: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 Mova as linhas selecionadas para um arquivo
.confseparado.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
# grep "USB Keyboard" ./policy.conf > ./10keyboards.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# install -m 0600 -o root -g root 10keyboards.conf /etc/usbguard/rules.d/10keyboards.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow Mova o restante das linhas para um arquivo principal em
rules.conf.grep -v "USB Keyboard" ./policy.conf > ./rules.conf
# grep -v "USB Keyboard" ./policy.conf > ./rules.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow Instale as demais regras.
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.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow Reinicie o daemon
usbguardpara aplicar suas mudanças.systemctl restart usbguard
# systemctl restart usbguardCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Etapas de verificação
Exibir todas as regras ativas 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 Exibir o conteúdo do arquivo
rules.confe todos os arquivos.confno diretório/etc/usbguard/rules.d/.cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf
# cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 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