RangeeOS - USB-Geräte Verwaltung mit USBGuard

Zuletzt geändert von Tobias Wintrich am 2024/10/25 14:16

Information

USBGuard ist ab der Firmware 10.00 amd64 build 155 im Basissystem von RangeeOS enthalten

Mittels des USBGuard behalten Sie die Kontrolle über die am Gerät angeschlossenen USB-Geräte.

USBGuard aktivieren

Information

Wird der USBGuard erstmalig aktiviert, wird automatisch ein neuer Regelsatz erstellt, welcher den Zugriff auf alle in diesem Moment angeschlossen USB-Geräte erlaubt. Per Default wird der Zugriff auf alle späteren Geräte blockiert.

Der USBGuard ist in unserer Firmware standardmäßig ausgeschaltet. Zum aktivieren setzen Sie die Option "USBGuard verwenden" unter  Peripherie  -> USB-Geräte -> USBGuard-Daemon-Konfiguration

USB Guard aktivieren

Geräte Verwalten

Ist der USBGuard aktiviert können Sie die angeschlossenen USB-Geräte und die entsprechenden Regeln unter Peripherie -> USB-Geräte -> USBGuard-Geräteverwaltung verwalten.

Bereits angelegte Regeln können über die Spalte "Target" bearbeitet werden.
Bereits definierte Regeln können über den "Löschen"-Button entfernt werden. Das Gerät verhält sich anschließend wieder wie ein unbekanntes neu angeschlossenes Gerät.
Für Geräte ohne hinterlegte Regel kann über den Button "Regel erstellen" eine neue Regel angelegt werden. 

Wenn die Standardregel für neu angeschlossene Geräte auf "Ablehnen" gesetzt ist, tauchen neue Geräte nicht in der Geräteliste auf.

USB Guard konfigurieren

Verfügbare Geräte Berechtigungen

Die automatisch erstellten Geräteregeln gelten immer exakt für eine Kombination aus USB-Gerät + USB-Port. Wird das USB-Gerät an einen anderen Port gesteckt, kann eine andere Regel definiert werden bzw. wird die Standardregel für neue Geräte angewendet.

Sowohl als Standardregel in der "USBGuard-Daemon-Konfiguration" als auch für einzelne Geräte über die "USBGuard-Geräteverwaltung" können folgende Regeln definiert werden:

  • Zulassen
    Erlaubt die Verwendung des entsprechenden Geräts exakt an dem aktuell verwendeten USB-Port.
  • Blockieren
    Unterbindet das laden der entsprechenden Gerätetreiber - das Gerät kann an diesem Port nicht verwendet.
  • Ablehnen
    Das Gerät taucht nicht in der Systemkonfiguration auf, neu angeschlossene Geräte können nicht konfiguriert werden.

USB-Guard und TCMS / Expertenkonfiguration

Mit den Standardeinstellungen generiert jedes Gerät individuelle Konfigurationsdateien für den USBGuard. Erhält ein Gerät per Gruppenkonfiguration die Aufforderung USBGuard zu nutzen, so generiert es beim ersten aktivieren automatisch eine Konfiguration entsprechend der aktuell angeschlossenen Geräte. Alle später angeschlossenen Geräte müssen händisch konfiguriert werden.

Will man eine zentrale Konfiguration für alle Geräte pflegen und z.B.: alle Eingabegeräte, Webcams.... generell erlauben, so kann man hierzu den "Expertenmodus" verwenden. Sobald der Expertenmodus aktiviert ist, wird die vom System erstellte Konfiguration mit an den TCMS und damit auch auf andere Geräte übertragen.

Warning

Wenn Sie den Expertenmodus aktivieren müssen Sie die automatisch generierte Konfiguration händisch Anpassen. Wenn die automatisch generierte Konfiguration auf ein anderes Gerät übertragen wird, werden dort keinerlei USB-Geräte mehr funktionieren, da die Konfiguration Port und Seriennummer der angeschlossenen Geräte enthalte und diese auch von Gerät zu Gerät unterscheiden.

Den Expertenmodus aktivieren Sie unter  Peripherie -> USB-Geräte -> USBGuard-Daemon-Konfiguration. Sobald er aktiviert ist, steht Ihnen ein Textfeld "Benutzerdefinierte Regeln" in der USBGuard-Geräteverwaltung zur Verfügung.

USB Guard Expertenkonfiguration

Der automatische Inhalt dient erstmal als "Platzhalter" und sorgt dafür, dass Sie mir Ihrem Gerät an dem Sie die Regeln erstellen und Testen noch weiterarbeiten können. Sobald Sie eigene Regeln geschrieben haben, können Sie den generierten Inhalt löschen.

Benutzerdefinierte Regeln erstellen

Per Default werden neue Geräte bereits blockiert. Das heißt, dass Sie in den Regeln nur die Geräte oder Geräteklassen definieren die Sie zulassen möchten.

Einzelnes Gerät an allen Plätzen erlauben

Haben Sie Beispielsweise ein spezielles Maus-, Tastatur- oder Webcam Modell, so können Sie dieses eine Gerät für alle Plätze freigeben. Hierzu müssen Sie zunächst über  Peripherie -> USB-Geräte die PID:VID (Product & Vendor ID) zu Ihrem Produkt ermitteln. Anhand diesem kann ein Gerätemodell eindeutig identifiziert werden.

USB Guard Expertenkonfiguration

Eine Regel für die im Screenshot zu sehende "Microdia USB 2.0 Camera" könnte so aussehen:

allow id 0c45:636e

Warning

Buchstaben innerhalb der PID:VID Kombination müssen klein geschrieben werden

Sie können hier beliebig viele dieser Regeln untereinander schreiben.

Geräteklassen erlauben

Geräteklassen werden anhand Ihrer Inferace Klasse definiert und freigeben. Es gibt 8 Geräteklassen die Sie erlauben können:

  1. Mass Storage Class (MSC): 08
  2. Human Interface Device Class (HID): 03
  3. Communication Device Class (CDC): 02
  4. Audio Device Class (ADC): 01
  5. Printer Device Class (PDC): 07
  6. Image Device Class (IDC): 06
  7. Still Image Capture Device Class (SICDC): 06
  8. Video Device Class (VDC): 0E

Eine Regel um zum Beispiel alle HID Geräte (Maus/Tastatur + HUBs) zu erlauben sähe dann so aus:

allow with-interface one-of { 09:*:* 03:*:* }

Sie können beliebig viele Inferfaceklassen hintereinander schreiben. Mit dieser  Kombination würden Sie HUBs + HIDs + Kameras + Audio Geräte erlauben:

allow with-interface one-of { 09:*:* 03:*:* 0E:*:* 01:*:* }

Bitte beachten Sie, dass wenn Sie die HUB Klasse (09) entfernen, verlieren Sie automatisch auch den Zugriff auf daran angeschlossene Geräte, auch wenn deren Klassen freigegeben sind.

Beispiel

Über folgenden Inhalt im Textfeld würden alle Mäuse und Tastaturen, Audiogeräte und ein spezielle Webcam Modell funktionieren:

allow id 0c45:636e
allow with-interface one-of { 03:*:* 01:*:* }

Weitere Befehle

Eine Vollständige Übersicht über die usb-guard syntax können Sie im Web hier finden USBGuard Rule Language