So schützen Sie Ihren Linux-Computer vor betrügerischen USB-Laufwerken
Veröffentlicht: 2023-01-23
USB-Speichersticks können verwendet werden, um Daten von Ihrem Linux-Computer zu stehlen. Mit USBGuard können Sie Regeln für die Verwendung von USB-Speichersticks festlegen, wie eine Firewall für USB-Speichergeräte. Hier erfahren Sie, wie es funktioniert und wie Sie es einrichten können.
Der USB Memory Stick und seine Gefahren
Was ist USBGuard?
Normales Verhalten mit USB-Sticks unter Linux
USBGuard installieren
Konfigurieren einer Basisrichtlinie
Hinzufügen eines weiteren USB-Geräts
Entfernen des Zugriffs eines USB-Geräts
Der USB Memory Stick und seine Gefahren
Wir haben wahrscheinlich alle mindestens einen USB-Speicherstick oder ein USB-Speichergerät wie ein externes USB-Laufwerk. Sie sind billig, effektiv, tragbar und einfach zu bedienen.
Heutzutage können Sie einfach eines an Ihren Linux-Computer anschließen, damit es als Speichergerät identifiziert und automatisch gemountet wird. Vorbei sind die Zeiten, in denen sie von Hand auf der Kommandozeile gemountet werden mussten. Diese Bequemlichkeit bedeutet, dass jeder einen in einen Linux-Computer stecken und Daten vom USB-Laufwerk auf den Computer oder vom Computer auf den Speicherstick kopieren kann.
Wenn andere Personen Ihren Computer verwenden, möchten Sie möglicherweise einschränken, was sie mit USB-Speichersticks tun können. Wenn sich Ihr Computer bei Ihnen zu Hause befindet, ist es unwahrscheinlich, dass ein Opportunist mit böswilliger Absicht vorbeigeht, wenn Ihr Computer eingeschaltet und unbeaufsichtigt ist, aber das kann an einem Arbeitsplatz passieren.
Aber selbst mit einem Computer in Ihrem Familienhaus möchten Sie möglicherweise den USB-Zugriff einschränken. Vielleicht haben Ihre Kinder regelmäßig Freunde zum Spielen. Das Sperren des USB-Zugriffs ist eine vernünftige Vorsichtsmaßnahme, um zu verhindern, dass sie versehentlich Probleme verursachen.
Wenn jemand ein USB-Laufwerk findet, besteht sofort der Wunsch, es an etwas anzuschließen, um zu sehen, was sich darauf befindet. Cyber-Bedrohungen, die auf Linux-Computer abzielen, sind viel seltener als solche, die für Windows-Computer entwickelt wurden, aber es gibt sie immer noch.
Was ist USBGuard?
USBGuard kann Sie vor softwarebasierten Bedrohungen schützen, die auf kompromittierten USB-Speichersticks verteilt werden, wie z. B. BadUSB, wo der Angriff beginnt, wenn Sie dazu manipuliert werden, etwas zu öffnen, das wie ein Dokument aussieht, aber eine getarnte ausführbare Datei ist. USBGuard kann Sie nicht vor hardwarebasierten Bedrohungen wie USB-Killer-Geräten schützen, die Ihrem Computer physischen Schaden zufügen, indem sie eine Hochspannungsentladung in Ihrem Computer auslösen.
Tatsächlich ermöglicht Ihnen USBGuard, Regeln für alle Arten von verschiedenen USB-Geräten einzurichten, einschließlich Mäusen, Webcams und Tastaturen. Es ist nicht nur für USB-Speichersticks. Ihr Computer kennt die ID jedes USB-Geräts, sodass Sie auswählen können, welche USB-Geräte in Ihrem Computer funktionieren und welche nicht. Es ist so etwas wie eine Firewall für die USB-Konnektivität.
Warnung: Der USBGuard-Daemon wird ausgeführt, sobald er installiert ist. Stellen Sie sicher, dass Sie USBGuard direkt nach der Installation konfigurieren. Wenn Sie dies nicht tun, werden alle Ihre USB-Geräte blockiert, wenn Sie Ihren Computer neu starten.
Normales Verhalten mit USB-Sticks unter Linux
Bevor wir etwas tun, überprüfen wir das Standardverhalten auf unserem Ubuntu 22.10-Computer. Es ist ein einfacher Prozess. Wir stecken einen USB-Speicherstick ein und sehen, was passiert.
Wir hören einen akustischen Alarmton und ein Memory Stick-Symbol erscheint im Dock.
Beim Öffnen des Dateibrowsers wird angezeigt, dass der Liste der Speicherorte in der Seitenleiste ein Eintrag hinzugefügt wurde. Der angezeigte Name ist der Name, den das Gerät bei der Formatierung erhalten hat.
Das Öffnen eines Terminals und die Verwendung des lsusb
listet die angeschlossenen USB-Geräte auf. Der oberste Eintrag ist der fragliche Speicherstick, der zufällig ein Gerät der Marke TDK ist.
lsusb
VERWANDT: So listen Sie die Geräte Ihres Computers über das Linux-Terminal auf
USBGuard installieren
USBGuard hat Abhängigkeiten von usbutils
und udisks2
. Auf den neuesten Manjaro-, Fedora- und Ubuntu-Builds, die wir getestet haben, waren diese bereits installiert.
Verwenden Sie diesen Befehl, um USBGuard unter Ubuntu zu installieren:
sudo apt installiere usbguard
Auf Fedora müssen Sie Folgendes eingeben:
sudo dnf installiere usbguard
Auf Manjaro lautet der Befehl:
sudo pacman -S usbguard
Konfigurieren einer Basisrichtlinie
USBGuard hat einen netten Trick. Es verfügt über einen Befehl, der eine Regel erstellt, die es allen derzeit angeschlossenen USB-Geräten ermöglicht, ungehindert weiterzuarbeiten. Das bedeutet, dass Sie eine Basiskonfiguration für alle Ihre immer benötigten Geräte erstellen können. Dieser Regelsatz wird als Basisrichtlinie bezeichnet.

USBGuard verwendet drei Arten von Regeln.
- Zulassen : Zulassen-Regeln gestatten einem bestimmten Gerät den ungehinderten Betrieb wie gewohnt. Dies wird für Geräte verwendet, die immer verbunden sind, wie z. B. kabelgebundene Tastaturen, Mäuse, Trackballs, Webcams usw. Es wird auch für Geräte verwendet, die zeitweise verbunden sind und die bekannt und vertrauenswürdig sind.
- Sperren : Sperrregeln verhindern den Betrieb von USB-Geräten. Das USB-Gerät ist für den Benutzer überhaupt nicht sichtbar.
- Reject : Reject-Regeln verhindern auch den Betrieb von USB-Geräten, aber das USB-Gerät ist für den Benutzer sichtbar, der
lsusb
verwendet.
USBGuard hat einen netten Trick. Es verfügt über einen Befehl, der eine Basisrichtlinie mit einer Zulassungsregel für jedes der derzeit verbundenen USB-Geräte erstellt. Dies ist eine großartige Möglichkeit, Geräte, die immer mit Ihrem Computer verbunden sind, wie Tastaturen und Webcams, schnell zu konfigurieren. Es ist auch eine bequeme Möglichkeit, vertrauenswürdige, intermittierende Geräte zu erfassen. Stellen Sie einfach sicher, dass alle Ihre vertrauenswürdigen Geräte mit Ihrem Computer verbunden sind, wenn Sie den Befehl ausgeben.
Eine seltsame Eigenart erfordert, dass Sie dies als Root tun. Die Verwendung von sudo
mit dem Befehl funktioniert nicht. Wir müssen den Befehl sudo -i
(login) verwenden, um eine Shell als root zu öffnen, und dann den Befehl ausgeben. Stellen Sie sicher, dass Sie den Befehl exit
verwenden, um die Root-Anmeldesitzung zu verlassen, sobald Sie fertig sind.
sudo -i
usbguard generate-policy -X -t abgelehnt > /etc/usbguard/rules.conf
Ausfahrt
Die Option -X
(–no-hashes) verhindert, dass USBGuard Hash-Attribute für jedes Gerät generiert. Die Option -t
(Ziel) legt ein Standardziel für alle nicht erkannten USB-Geräte fest. In unserem Fall haben wir „Ablehnen“ gewählt. Wir hätten auch „Block“ wählen können.
Um unsere neuen Regeln zu sehen, können wir cat
verwenden.
sudo cat /etc/usbguard/rules.conf
Auf unserem Testcomputer hat dies drei USB-Geräte erkannt und „Zulassen“-Regeln für sie erstellt. Es fügte „reject“ als Ziel für alle anderen USB-Geräte hinzu.
Hinzufügen eines weiteren USB-Geräts
Wenn wir jetzt denselben USB-Speicherstick anschließen, den wir zuvor verwendet haben, darf er nicht betrieben werden. Es wird nicht zum Dock hinzugefügt, es wird nicht zum Dateibrowser hinzugefügt, und wir erhalten keine akustische Warnung.
Da wir jedoch ein „Reject“-Ziel für nicht erkannte Geräte verwendet haben, kann lsusb
dessen Details auflisten.
lsusb
Wenn wir in unserer Basisrichtlinie ein „Block“-Ziel verwendet hätten, müssten wir den Befehl „ list-devices
“ mit der Option „ -b
“ (blockierte Geräte) verwenden.
sudo usbguard list-devices -b
Hier werden die derzeit verbundenen, aber blockierten USB-Geräte angezeigt.
Wir werden einige der Informationen aus diesem Befehl verwenden, um unserem abgelehnten USB-Gerät vorübergehenden oder dauerhaften Zugriff zu gewähren. Um unserem Gerät vorübergehend Zugriff zu gewähren, verwenden wir die Geräte-ID-Nummer. In unserem Beispiel ist dies „10“.
sudo usbguard allow-device 10
Unser Gerät ist verbunden und erscheint im Dock und im Dateibrowser. Wenn wir USBGuard bitten, die blockierten Geräte aufzulisten, werden keine aufgelistet.
sudo usbguard list-devices -b
Wir können die Berechtigung dauerhaft machen, indem wir die Option -p
(permanent) verwenden. Dadurch wird eine Regel für uns erstellt und zu unserer Richtlinie hinzugefügt.
sudo usbguard allow-device 10 -p
Wir können dieses USB-Gerät jetzt wie gewohnt verwenden.
Entfernen des Zugriffs eines USB-Geräts
Wenn Sie Ihre Meinung zu einem USB-Gerät ändern – vielleicht haben Sie einen USB-Speicherstick verloren und möchten seinen Zugriff entfernen – können Sie dies mit dem Befehl block-device
tun.
Wir müssen die Geräte-ID kennen. Wir können dies finden, indem wir die zulässigen Geräte auflisten. Beachten Sie, dass diese Nummer möglicherweise nicht mit der Nummer übereinstimmt, die Sie zum Hinzufügen der Regel zur Liste verwendet haben. Überprüfen Sie dies daher, bevor Sie den Befehl block-device
ausführen.
sudo usbguard list-devices -a
In unserem Fall lautet die ID „13“. Wir werden dies mit dem Befehl block-device und der Option -p
(permanent) verwenden, um seinen Zugriff für immer zu entfernen.
sudo usbguard block-device 13 -p
Beachten Sie, dass dies das Gerät sofort trennt. Verwenden Sie diesen Befehl nur, wenn Sie mit der Verwendung von Daten auf dem Gerät fertig sind.
USBGuard bietet Ihnen eine effiziente und robuste Möglichkeit, die Kontrolle darüber zu übernehmen und zu verwalten, welche USB-Geräte auf Ihrem Computer verwendet werden können.
Es ist Ihr Computer, also ist es nur fair, dass Sie die Wahl haben.
VERWANDT: So mounten und unmounten Sie Speichergeräte vom Linux-Terminal