USB-geheugensticks kunnen worden gebruikt om gegevens van uw Linux-computer te stelen. Met USBGuard kunt u regels instellen voor het gebruik van USB-geheugensticks, zoals een firewall voor USB-opslagapparaten. Hier leest u hoe het werkt en hoe u het kunt instellen.
De USB-geheugenstick en zijn gevaren
Wat is USBGuard?
Normaal gedrag met USB-sticks op Linux
USBGuard installeren
Een basisbeleid configureren
Nog een USB-apparaat toevoegen
De toegang van een USB-apparaat verwijderen
De USB-geheugenstick en zijn gevaren
We hebben waarschijnlijk allemaal minstens één USB-geheugenstick of USB-opslagapparaat zoals een externe USB-schijf. Ze zijn goedkoop, effectief, draagbaar en gebruiksvriendelijk.
Tegenwoordig kun je er gewoon een op je Linux-computer aansluiten om het te laten identificeren als een opslagapparaat en automatisch te koppelen. Voorbij zijn de dagen dat je ze met de hand op de opdrachtregel moest monteren. Dit gemak betekent dat iedereen er een in een Linux-computer kan stoppen en gegevens van de USB-drive naar de computer of van de computer naar de geheugenstick kan kopiëren.
Als andere mensen uw computer gebruiken, wilt u misschien beperken wat ze kunnen doen met USB-geheugensticks. Als uw computer bij u thuis staat, is het onwaarschijnlijk dat een opportunist met kwade bedoelingen langsloopt wanneer uw computer aan staat en onbeheerd is, maar dat kan op een werkplek gebeuren.
Maar zelfs met een computer in uw ouderlijk huis, wilt u misschien de USB-toegang beperken. Misschien hebben uw kinderen regelmatig vriendjes om te spelen. Het vergrendelen van USB-toegang is een verstandige voorzorgsmaatregel om te voorkomen dat ze onbedoeld problemen veroorzaken.
Wanneer iemand een USB-drive vindt, is er een onmiddellijk verlangen om deze ergens op aan te sluiten om te zien wat erop staat. Cyberdreigingen die gericht zijn op Linux-computers zijn veel zeldzamer dan bedreigingen die zijn ontworpen voor Windows-computers, maar ze bestaan nog steeds.
Wat is USBGuard?
USBGuard kan u beschermen tegen op software gebaseerde bedreigingen die worden verspreid op gecompromitteerde USB-geheugensticks, zoals BadUSB, waar de aanval begint wanneer u wordt gemanipuleerd om iets te openen dat lijkt op een document maar een vermomd uitvoerbaar bestand is. USBGuard kan u niet beschermen tegen op hardware gebaseerde bedreigingen zoals USB Killer-apparaten die fysieke schade toebrengen aan uw computer door een hoogspanningsontlading in uw machine vrij te geven.
Met USBGuard kunt u eigenlijk regels instellen voor allerlei verschillende USB-apparaten, waaronder muizen, webcams en toetsenborden. Het is niet alleen voor USB-geheugensticks. Uw computer kent de ID van elk USB-apparaat, dus u kunt kiezen welke USB-apparaten op uw computer werken en welke niet. Het is zoiets als een firewall voor USB-connectiviteit.
Waarschuwing: De USBGuard-daemon wordt uitgevoerd zodra deze is geïnstalleerd. Zorg ervoor dat u USBGuard direct na installatie configureert. Als u dit niet doet, worden al uw USB-apparaten geblokkeerd wanneer u uw computer opnieuw opstart.
Normaal gedrag met USB-sticks op Linux
Voordat we iets doen, controleren we het standaardgedrag op onze Ubuntu 22.10-computer. Het is een eenvoudig proces. We plaatsen een USB-geheugenstick en kijken wat er gebeurt.
We horen een hoorbaar waarschuwingsgeluid en er verschijnt een geheugenstickpictogram in het dock.
Als u de bestandsbrowser opent, ziet u dat er een item is toegevoegd aan de lijst met locaties in de zijbalk. De weergegeven naam is de naam die aan het apparaat is gegeven toen het werd geformatteerd.
Een terminal openen en de lsusb
opdracht geeft een overzicht van de aangesloten USB-apparaten. De bovenste invoer is de betreffende geheugenstick, die toevallig een apparaat van het merk TDK is.
lsusb
USBGuard installeren
USBGuard is afhankelijk van usbutils
en udisks2
. Op de nieuwste Manjaro-, Fedora- en Ubuntu-builds die we hebben getest, waren deze al geïnstalleerd.
Gebruik deze opdracht om USBGuard op Ubuntu te installeren:
sudo apt install usbguard
Op Fedora moet je typen:
sudo dnf install usbguard
Op Manjaro is het commando:
sudo pacman -S usbguard
Een basisbeleid configureren
USBGuard heeft een handige truc. Het heeft een opdracht die een regel creëert waardoor alle momenteel aangesloten USB-apparaten ongehinderd kunnen blijven werken. Dat betekent dat u een basisconfiguratie kunt maken voor al uw altijd benodigde apparaten. Deze set regels wordt een basisbeleid genoemd.
USBGuard gebruikt drie soorten regels.
- Toestaan: Sta regels toe om een bepaald apparaat ongehinderd te laten werken, zoals normaal. Dit wordt gebruikt voor apparaten die altijd verbonden zijn, zoals bedrade toetsenborden, muizen, trackballs, webcams, enzovoort. Het wordt ook gebruikt voor apparaten die af en toe zijn aangesloten en die bekend en vertrouwd zijn.
- Blok: Blokkeerregels voorkomen dat USB-apparaten werken. Het USB-apparaat is helemaal niet zichtbaar voor de gebruiker.
-
Afwijzen: Weigerregels voorkomen ook dat USB-apparaten werken, maar het USB-apparaat is zichtbaar voor de gebruiker die het gebruikt
lsusb
.
USBGuard heeft een handige truc. Het heeft een opdracht die een basisbeleid maakt met een regel voor toestaan voor elk van de momenteel verbonden USB-apparaten. Dit is een geweldige manier om snel apparaten te configureren die altijd op uw computer zijn aangesloten, zoals toetsenborden en webcams. Het is ook een handige manier om vertrouwde, intermitterende apparaten vast te leggen. Zorg ervoor dat al uw vertrouwde apparaten op uw computer zijn aangesloten wanneer u de opdracht geeft.
Een vreemde eigenaardigheid vereist dat je dit als root doet. Gebruik makend van sudo
met de opdracht werkt niet. We moeten gebruiken sudo -i
(login) commando om een shell als root te openen, dan geef de opdracht. Zorg ervoor dat u de exit
opdracht om de root-inlogsessie te verlaten zodra u klaar bent.
sudo -i
usbguard generate-policy -X -t reject > /etc/usbguard/rules.conf
exit
De -X
(–no-hashes) optie voorkomt dat USBGuard hash-attributen voor elk apparaat genereert. De -t
(target) optie stelt een standaarddoel in voor alle niet-herkende USB-apparaten. In ons geval hebben we gekozen voor ‘weigeren’. We hadden ook ‘blokkeren’ kunnen kiezen.
Om onze nieuwe regels te zien, kunnen we gebruiken cat
.
sudo cat /etc/usbguard/rules.conf
Op onze testcomputer detecteerde dit drie USB-apparaten en creëerde het “toestaan” -regels voor hen. Het voegde “weigeren” toe als het doel voor alle andere USB-apparaten.
Nog een USB-apparaat toevoegen
Als we nu dezelfde USB-geheugenstick aansluiten die we eerder gebruikten, is het niet toegestaan om te werken. Het wordt niet toegevoegd aan het dock, het wordt niet toegevoegd aan de bestandsbrowser en we krijgen geen hoorbare waarschuwing.
Maar omdat we een ‘weigeren’-doel gebruikten voor niet-herkende apparaten, lsusb
kan de details ervan vermelden.
lsusb
Als we een “blok”-doel hadden gebruikt in ons basisbeleid, zouden we de list-devices
commando met de -b
(geblokkeerde apparaten) optie.
sudo usbguard list-devices -b
Dit toont de momenteel aangesloten maar geblokkeerde USB-apparaten.
We zullen een deel van de informatie van deze opdracht gebruiken om ons geweigerde USB-apparaat tijdelijke toegang of permanente toegang te geven. Om ons apparaat tijdelijk toegang te geven, gebruiken we het apparaat-ID-nummer. In ons voorbeeld is dit “10”.
sudo usbguard allow-device 10
Ons apparaat is verbonden en verschijnt in het dock en de bestandsbrowser. Als we USBGuard vragen om de geblokkeerde apparaten op te sommen, worden er geen vermeld.
sudo usbguard list-devices -b
We kunnen de toestemming permanent maken door gebruik te maken van de -p
(vaste) optie. Dit creëert een regel voor ons en voegt deze toe aan ons beleid.
sudo usbguard allow-device 10 -p
We kunnen dit USB-apparaat nu normaal gebruiken.
De toegang van een USB-apparaat verwijderen
Als u van gedachten verandert over een USB-apparaat (misschien bent u een USB-geheugenstick kwijtgeraakt en wilt u de toegang verwijderen) kunt u dit doen met de block-device
opdracht.
We moeten de apparaat-ID weten. We kunnen dit vinden door de toegestane apparaten op te sommen. Houd er rekening mee dat dit nummer mogelijk niet hetzelfde is als het nummer dat u hebt gebruikt om de regel aan de lijst toe te voegen, dus controleer dit voordat u de regel uitgeeft block-device
opdracht.
sudo usbguard list-devices -a
In ons geval is de ID “13”. We gebruiken dit met de opdracht block-device en de -p
(permanente) optie om de toegang voor altijd te verwijderen.
sudo usbguard block-device 13 -p
Merk op dat hierdoor het apparaat onmiddellijk wordt losgekoppeld. Gebruik deze opdracht alleen als u klaar bent met het gebruik van gegevens op het apparaat.
USBGuard biedt u een efficiënte en robuuste manier om controle te krijgen over en te beheren welke USB-apparaten op uw computer kunnen worden gebruikt.
Het is jouw computer, dus het is alleen maar eerlijk dat je kunt kiezen.