Como proteger seu computador Linux de unidades USB não autorizadas
Publicados: 2023-01-23Cartões de memória USB podem ser usados para roubar dados do seu computador Linux. USBGuard permite definir regras que regem o uso de cartões de memória USB, como um firewall para dispositivos de armazenamento USB. Veja como funciona e como você pode configurá-lo.
O stick de memória USB e seus perigos
O que é USBGuard?
Comportamento normal com pendrives no Linux
Instalando o USBGuard
Configurando uma política básica
Adicionando outro dispositivo USB
Removendo o acesso de um dispositivo USB
O stick de memória USB e seus perigos
Provavelmente todos nós temos pelo menos um stick de memória USB ou dispositivo de armazenamento USB como uma unidade externa USB. Eles são baratos, eficazes, portáteis e fáceis de usar.
Hoje em dia, basta conectar um ao seu computador Linux para identificá-lo como um dispositivo de armazenamento e montá-lo automaticamente. Já se foram os dias em que era necessário montá-los manualmente na linha de comando. Essa conveniência significa que qualquer um pode colocar um em um computador Linux e copiar dados da unidade USB para o computador ou do computador para o cartão de memória.
Se outras pessoas usarem seu computador, convém limitar o que elas podem fazer com os cartões de memória USB. Se o seu computador estiver em sua casa, é improvável que um oportunista com intenções maliciosas passe por perto quando seu computador estiver ligado e sem vigilância, mas isso pode acontecer em um local de trabalho.
Mas mesmo com um computador na casa de sua família, convém limitar o acesso USB. Talvez seus filhos recebam regularmente amigos para brincar. Bloquear o acesso USB é uma precaução sensata para impedir que eles causem problemas inadvertidamente.
Quando alguém encontra uma unidade USB, há um desejo imediato de conectá-la a algo para ver o que há nela. As ameaças cibernéticas que visam computadores Linux são muito mais raras do que aquelas projetadas para computadores Windows, mas ainda existem.
O que é USBGuard?
USBGuard pode protegê-lo contra ameaças baseadas em software que são distribuídas em cartões de memória USB comprometidos, como BadUSB, onde o ataque começa quando você é manipulado para abrir o que parece ser um documento, mas é um executável disfarçado. O USBGuard não pode protegê-lo contra ameaças baseadas em hardware, como dispositivos USB Killer, que causam danos físicos ao seu computador, liberando uma descarga de alta voltagem em sua máquina.
Na verdade, o USBGuard permite configurar regras para todos os tipos de dispositivos USB diferentes, incluindo mouses, webcams e teclados. Não é apenas para cartões de memória USB. Seu computador conhece a ID de cada dispositivo USB, portanto, você pode escolher quais dispositivos USB funcionam em seu computador e quais não. É algo como um firewall para conectividade USB.
Aviso: O daemon USBGuard é executado assim que é instalado. Certifique-se de configurar o USBGuard logo após instalá-lo. Caso contrário, todos os seus dispositivos USB serão bloqueados quando você reiniciar o computador.
Comportamento normal com pendrives no Linux
Antes de fazer qualquer coisa, verificaremos o comportamento padrão em nosso computador Ubuntu 22.10. É um processo simples. Inserimos um stick de memória USB e vemos o que acontece.
Ouvimos um som de alerta audível e um ícone de stick de memória aparece no dock.
Abrir o navegador de arquivos mostra que uma entrada foi adicionada à lista de locais na barra lateral. O nome exibido é aquele dado ao dispositivo quando ele foi formatado.
Abrir um terminal e usar o comando lsusb
lista os dispositivos USB conectados. A entrada principal é o cartão de memória em questão, que por acaso é um dispositivo da marca TDK.
lsusb
RELACIONADO: Como listar os dispositivos do seu computador no terminal do Linux
Instalando o USBGuard
USBGuard tem dependências de usbutils
e udisks2
. Nas versões mais recentes do Manjaro, Fedora e Ubuntu que testamos, elas já estavam instaladas.
Para instalar o USBGuard no Ubuntu, use este comando:
sudo apt instalar usbguard
No Fedora você precisa digitar:
sudo dnf instalar usbguard
No Manjaro, o comando é:
sudo pacman -S usbguard
Configurando uma política básica
USBGuard tem um truque legal. Ele possui um comando que cria uma regra permitindo que todos os dispositivos USB atualmente conectados continuem funcionando sem impedimentos. Isso significa que você pode criar uma configuração de linha de base para todos os seus dispositivos sempre necessários. Esse conjunto de regras é chamado de política de base.
USBGuard usa três tipos de regras.
- Permitir : as regras de permissão permitem que um dispositivo especificado opere sem impedimentos, normalmente. Isso é usado para dispositivos que estão sempre conectados, como teclados com fio, mouses, trackballs, webcams e assim por diante. Também é usado para dispositivos que são conectados de forma intermitente e que são conhecidos e confiáveis.
- Bloquear : as regras de bloqueio impedem a operação de dispositivos USB. O dispositivo USB não está visível para o usuário.
- Rejeitar : as regras de rejeição também impedem a operação de dispositivos USB, mas o dispositivo USB fica visível para o usuário usando
lsusb
.
USBGuard tem um truque legal. Ele possui um comando que criará uma política básica com uma regra de permissão para cada um dos dispositivos USB conectados no momento. Essa é uma ótima maneira de configurar rapidamente dispositivos que estão sempre conectados ao seu computador, como teclados e webcams. Também é uma maneira conveniente de capturar dispositivos intermitentes confiáveis. Apenas certifique-se de que todos os seus dispositivos confiáveis estejam conectados ao seu computador quando você emitir o comando.
Uma peculiaridade estranha exige que você faça isso como root. Usar sudo
com o comando não funciona. Precisamos usar o comando sudo -i
(login) para abrir um shell como root e, em seguida , emitir o comando. Certifique-se de usar o comando exit
para sair da sessão de login root assim que terminar.
sudo -i
usbguard gerar política -X -t rejeitar > /etc/usbguard/rules.conf
saída
A opção -X
(–no-hashes) impede que o USBGuard gere atributos de hash para cada dispositivo. A opção -t
(destino) define um destino padrão para todos os dispositivos USB não reconhecidos. No nosso caso, escolhemos "rejeitar". Também poderíamos ter escolhido “bloquear”.
Para ver nossas novas regras, podemos usar cat
.
sudo cat /etc/usbguard/rules.conf
Em nosso computador de teste, ele detectou três dispositivos USB e criou regras de “permissão” para eles. Ele adicionou “rejeitar” como alvo para todos os outros dispositivos USB.
Adicionando outro dispositivo USB
Agora, se conectarmos o mesmo stick de memória USB que usamos anteriormente, ele não poderá operar. Ele não é adicionado ao dock, não é adicionado ao navegador de arquivos e não recebemos um alerta sonoro.
Mas como usamos um alvo “rejeitar” para dispositivos não reconhecidos, lsusb
pode listar seus detalhes.
lsusb
Se tivéssemos usado um alvo “bloquear” em nossa política base, precisaríamos usar o comando list-devices
com a opção -b
(dispositivos bloqueados).
sudo usbguard list-devices -b
Isso mostra os dispositivos USB atualmente conectados, mas bloqueados.
Usaremos algumas das informações desse comando para permitir que nosso dispositivo USB rejeitado tenha acesso temporário ou permanente. Para conceder acesso temporário ao nosso dispositivo, usaremos o número de identificação do dispositivo. No nosso exemplo, é "10".
sudo usbguard permitir-dispositivo 10
Nosso dispositivo está conectado e aparece no dock e no navegador de arquivos. Se pedirmos ao USBGuard para listar os dispositivos bloqueados, nenhum será listado.
sudo usbguard list-devices -b
Podemos tornar a permissão permanente usando a opção -p
(permanente). Isso cria uma regra para nós e a adiciona à nossa política.
sudo usbguard permitir-dispositivo 10 -p
Agora podemos usar este dispositivo USB normalmente.
Removendo o acesso de um dispositivo USB
Se você mudar de ideia sobre um dispositivo USB—talvez tenha perdido um stick de memória USB e queira remover seu acesso—você pode fazê-lo com o comando block-device
.
Precisamos saber o ID do dispositivo. Podemos encontrar isso listando os dispositivos permitidos. Observe que esse número pode não ser o mesmo que você usou para adicionar a regra à lista, portanto, verifique antes de emitir o comando block-device
.
sudo usbguard list-devices -a
No nosso caso, o ID é “13”. Usaremos isso com o comando block-device e a opção -p
(permanente) para remover seu acesso para sempre.
sudo usbguard block-device 13 -p
Observe que isso desconecta imediatamente o dispositivo. Use este comando somente quando terminar de usar quaisquer dados no dispositivo.
O USBGuard oferece uma maneira eficiente e robusta de controlar e gerenciar quais dispositivos USB podem ser usados em seu computador.
O computador é seu, então é justo que você escolha.
RELACIONADO: Como montar e desmontar dispositivos de armazenamento do terminal Linux