Zum Inhalt

Qubes OS auf Dell XPS

Rubik’s Cube liegt auf einem geöffneten Laptop im Hintergrund ist der Laptopbildschirm zu sehen

Qubes OS , A reasonably secure operating system, habe ich auf einem älteren Laptop, einem DELL XPS 9370, installiert.

Qubes OS verfolgt einen radikal anderen Ansatz als klassische Betriebssysteme: Statt alles in einer einzigen Umgebung laufen zu lassen, steht hier Sicherheit durch konsequente Trennung im Mittelpunkt. Anwendungen und Aufgaben werden in voneinander isolierten virtuellen Maschinen (VMs) ausgeführt, sodass ein kompromittierter Bereich nicht automatisch das gesamte System gefährdet.

Die Grundlage dafür bildet der Xen-Hypervisor, der dafür sorgt, dass einzelne virtuelle Maschinen (VMs) strikt voneinander abgeschottet sind. Dadurch können sensible Tätigkeiten – etwa Online-Banking, E-Mail oder das Surfen im Internet – in getrennten Umgebungen stattfinden. Gleichzeitig bleibt das System flexibel: Neue VMs lassen sich schnell erstellen, anpassen oder bei Bedarf wieder entfernen.

Auch wenn der Einstieg zunächst etwas Einarbeitung und ein Verständnis für den Umgang mit virtuellen Maschinen erfordert, zeigt sich schnell das Potenzial dieses Konzepts. Wer sich darauf einlässt, entdeckt in Qubes OS eine spannende und sicherheitsorientierte Alternative zu klassischen Linux-Distributionen.

Eignet sich Qubes OS als Daily Driver?
Das ist schwer zu beantworten. Dieser Artikel dreht sich um die Installation von Qubes OS und das Einrichten und die Konfiguration von VMS für unterschiedliche Zwecke auf dem Laptop.


Das Bundesamt in der Informationssicherheit (BSI) stellt auf seiner Website Informationen zu Qubes OS bereit. Es handelt sich dabei um einen Baustein aus dem Grundschutzkatalog.


Dell Latitude - BIOS anpassen

Für die Installation eines neuen Betriebssystems sind einige Einstellungen im BIOS des Laptops anzupassen.

BIOS-Einstellungen des DELL XPS 9370 anpassen

Der folgende Abschnitt wurde dem Manual von Dell entnommen. 1

Greifen Sie auf das BIOS zu

  1. Starten Sie Ihren Dell Computer neu.
  2. Sobald das Dell Logo angezeigt wird, drücken Sie wiederholt F2, bis Sie das BIOS-Setup aufrufen.

BIOS-Einstellungen anpassen

  1. Gehen Sie im Abschnitt Allgemein zu Startreihenfolge und überprüfen Sie, ob UEFI (Unified Extensible Firmware Interface) als Startmodus ausgewählt ist. (General -> Boot Sqezende --> UEFI) Hinweis: Für die meisten neueren Dell Modelle wird "UEFI only" angezeigt, da sie den Legacy-Startmodus nicht unterstützen.
  2. Gehen Sie im Abschnitt Systemkonfiguration zu SATA-Betrieb und wählen Sie AHCI (Advanced Host Controller Interface) aus. (System COnfiguration --> SATA Operation --> AHCI)
    • Wichtig: Ubuntu benötigt den AHCI-Modus, um Ihre Festplatte zu erkennen. Wenn Ihr System derzeit auf RAID On eingestellt ist, müssen Sie es auf AHCI ändern.
    • Hinweis: Wenn Windows derzeit im RAID-Modus installiert ist, kann der Wechsel zu AHCI dazu führen, dass Windows nicht gestartet wird. Aus diesem Grund empfehlen wir, alle Ihre Daten zu sichern, bevor Sie mit der Installation beginnen.
  3. Gehen Sie im Abschnitt Sicherer Start zu Sicherer Start und wählen Sie Deaktiviert aus. (Secure Boot --> Secure Boot Enable --> Secure Boot Enable) Hinweis: Moderne Ubuntu-Versionen (20.04 LTS und höher) unterstützen Secure Boot. Das Deaktivieren von Secure Boot kann jedoch dazu beitragen, potenzielle Probleme während der Installation zu vermeiden, insbesondere bei bestimmten älteren Hardwarekonfigurationen. Sie können sie bei Bedarf nach der Installation erneut aktivieren.
  4. Falls verfügbar, deaktivieren Sie Legacy-Options-ROMs im Abschnitt Allgemein. (General --> Advances Boot Options)
  5. Stellen Sie im Abschnitt Startreihenfolge sicher, dass USB-Speicher in den Startoptionen aktiviert ist. (General --> Boot Sqeuence)
  6. Wählen Sie Apply oder Save Changes und dann Exit aus.

Der Computer wird jetzt neu gestartet.

  1. Drücken Sie wiederholt F12, bis der UEFI BOOT Bildschirm erscheint.
  2. Wählen Sie den Datenspeicher mit dem Image aus.

Wichtige Informationen zu BIOS-Einstellungen:

  • UEFI ist erforderlich: Ubuntu lässt sich am besten im UEFI-Modus auf modernen Dell Computern installieren. Die meisten Dell Systeme ab 2012 verwenden ausschließlich UEFI.
  • AHCI ist erforderlich: Linux unterstützt den SATA-Betrieb im RAID-On-Modus nicht. Ihr System muss auf AHCI eingestellt sein, damit Ubuntu Ihr Speicherlaufwerk erkennt.
  • Secure Boot: Ubuntu unterstützt Secure Boot zwar ab Version 20.04 LTS, aber die Deaktivierung kann Installationsprobleme im Zusammenhang mit Wireless-Treibern und bestimmten älteren Hardwarekomponenten verhindern.

Installationsmedium vorbereiten

Das Image von Qubes OS ist von der offiziellen Website herunterzuladen.

Wie man den Download verifiziert und das Image auf einen USB-Stick schreibt, wird sehr detailliert und ausführlich für Windows, macOS und Linux beschrieben.

Die gesamte Installation ist sehr straight forward und lässt sich mit der Anleitung sehr gut durchführen.



KDE installieren (optional)

Qubes OS verwendet seit der Version Qubes R3.2 die Desktop-Umgebung xfce. 2 Zuvor wurde der KDE-Desktop verwendet, der nach wie vor noch unterstützt wird.

Da mir KDE besser gefällt und man auf dem Desktop einige hilfreiche Widgets einblenden kann, habe ich mich zum Wechsel zu KDE entschieden.

Screenshot: dom0 mit KDE Desktop-Umgebung

Screenshot: dom0 mit KDE Desktop-Umgebung

Die Anleitung dafür ist, sehr detailliert und ausführlich.

Die Installation kann nur im Terminal von dom0 durchgeführt werden. Es lässt sich mit ein paar Klicks öffnen.

Screenshot Qubes Application Menu

Screenshot: Qubes Application Menu

Startmenü = Qubes Application MenuZahnradOtherXTerm

Es öffnet sich ein schlichtes Terminal. Das richtige Terminal erkennt man an @dom0 hinter dem Benutzernamen <benutzername>@dom0.


Qubes OS - Tipps und Tricks

Copy-and-Paste

Den Inhalt der Zwischenablage (nur Text) kann mit einer Tastenkombination von VM1 zu VM2 übertragen werden

VM1

  • Strg+C
  • Strg+Shift+C

VM2

  • Strg+Shift+V
  • Strg+V

Dateien zwischen VMs übertragen

Thunar-Dateimanager öffnen → Datei mit einem Rechtsklick auswählen

Screenshot: Thunar Dateimanager Kontextmenü

Kopieren und verschieben von Dateien zwischen VMs über die CLI. 5

Kopieren
qvm-copy-to-vm <ziel-vm> <datei>
Verschieben
qvm-move-to-vm <ziel-vm> <datei>

In der Ziel-VM erscheinen die kopierten / verschobenen Dateien im Ordner ~/QubesIncoming/<name-quell-vm>.


Templates

Qubes OS bringt in der Standardinstallation zwei Templates mit, aus denen man sich eigene virtuelle Maschinen (VM) erstellen kann. Templates sind vergleichbar mit einem Image, das oben für die Installation von Qubes OS verwendet haben. 3

Screenshot Templates

Screenshot: Templates

Welches Template man für die eigenen VMs verwendet, ist Geschmackssache.

Die Templates sind vollständige Betriebssystem, die alle notwendigen Pakete für den normalen Use Case mitbringen. Eine Konfiguration ist nicht mehr erforderlich. Diese Templates können sofort verwendet werden, um eigene VMs zu erstellen.

Qubes OS bietet auch die Möglichkeit sog. Minimal templates zu verwenden. Das sind kleine Images der Betriebssysteme, die wenig Speicherplatz benötigen. Die geringe Größe wird dadurch erkauft, dass Pakete nicht vorhanden sind. Der Funktionsumfang ist sehr eingeschränkt. Diese Templates müssen an die eigenen Anforderungen angepasst werden. Minimal templates eigenen sich deshalb eher für fortgeschrittene Benutzer, für den normalen Gebrauch sind die Standardtemplates ausreichend. 4


Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address:

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Weitere Möglichkeiten mich zu unterstützen findest du 👉 hier


Die ersten VMs ind Qubes OS erstellen

VM für schnelle Recherchen über Tor

Für schnelle Recherchen im Internet kann man eine eigen Wegwerf-VM erstellen. Surfen im Internet mit wildem Geklicke ist damit kein Problem mehr. VM neustarten und puff, alles ist weg und man kann von vorne beginnen. Die gesamte Chronik, alle Downloads alles ist weg. Wird Schadsoftware eingesammelt, sollte das nichts machen. Alles verbleibt abgeschottet in der Wegwerf-VM und kann nicht auf andere Qubes zugreifen.

Eine neue VM wird über den Qube Manager erstellt.

Screenshot Create New Qube

Screenshot: Create New Qube

Nachdem die neue VM erstellt wurde, sind die Einstellungen anzupassen.

Screenshot Settings recherche-tor - Basics

Screenshot: Settings recherche-tor - Basics

Screenshot Settings recherche-tor - Advanced

Screenshot: Settings recherche-tor - Advanced

In den Firewall-Einstellungen werden keine Änderungen vorgenommen. Es wird aller ausgehende Traffik erlaubt.

Screenshot Settings recherche-tor - Applications

Screenshot: Settings recherche-tor - Applications

Die fertige VM erscheint mit dem Namen recherche-tor im Qube Manager.

Screenshot recherche-tor im Qube Manager

Screenshot: recherche-tor im Qube Manager

Screenshot recherche-tor im Application menu

Screenshot: recherche-tor im Application menu

Den Tor Status kann man über diese Website prüfen:

Screenshot Create New Qube

Screenshot: Create New Qube

Nutzt man Tor, erscheint bei einigen Suchmaschinen diese nervige Abfrage I'm not a robot. Abhilfe schafft der Wechsel zu anderen Suchmaschinen, wie z.B. Startpage.


VW mit Syncthing für den schnellen Dateiaustausch

Es wird das Debian-Template für die VM verwendet.

Screenshot VM für Syncthing

Screenshot: VM für Syncthing

Screenshot Advanced Settingse

Screenshot: Advanced Settings

Die Firewall kann so eingeschränkt werden, dass nur Verbindungen im eigenen Netzwerk oder nur zu einzelnen Geräten erlaubt sind.

Screenshot Firewall

Screenshot: Firewall

Screenshot Applications

Screenshot: Applications

In der VM wurden noch ein paar zusätzliche KDE-Apps installiert. Für die Installation muss die Firewall die Verbindung zu den Debian-Repositories zulassen (Allow all outgoing connections oder Allow full access for x min).

sudo apt install konsole dolphin kde-cli-tools

Qubes OS und Syncthing

Syncthing findet keine Geräte, wenn die App in Qubes OS läuft. Das Gleiche gilt für alle anderen Geräte im Netzwerk, die versuchen Syncthing in Qubes OS zu finden.

Damit Syncthing unkompliziert verwendet werden kann, ist ein kleiner Kniff anzuwenden. Es muss eine feste IP-Adresse für die Gegenseite eingetragen werden.
Hierfür eignen sich Geräte die im eigenen Netzwerk laufen und ein hohes Sicherheitsniveau bieten, wie z.B. NAS-Geräte.

Screenshot Applications

Screenshot: Syncthing Addresses

In das Feld ist die Adresse der Gegenstelle wie folgt einzutragen.

tcp://<ip-adresse>:22000

Die Installationsanleitung für Synchting ist im Beitrag Überwachungskamera mit einem Raspberry Pi, motion und Syncthing in 20 Minuten beschrieben.

Der Benutzer zum Ausführen von Syncthing ist user.

Syncthing-Befehle in der VM
sudo systemctl start syncthing@user
sudo systemctl enable syncthing@user
sudo systemctl status syncthing@user
sudo systemctl stop syncthing@user
sudo systemctl restart syncthing@user

Die Syncthing-Administrationsoberfläche kann im Webbrowser der VM aufgerufen werden:

http://localhost:8384

Die globale Erkennung (Global Discovery) sollte in den Einstellungen ausgeschaltet werden. (Settings --> Connections → Hacken bei Global Discovery entfernen.)


VM für E-Mails

Es wird eine eigene VM für den Abruf von bestimmten E-Mail-Adressen erstellt. Eingehende Nachrichten auf diesen Konten, mit unbekannten Anhängen und Links, können in diesem Qube analysiert werden.
Die VM ist abgeschottet und das eigentliche Hauptsystem kann nicht angegriffen werden.

Die VM wird die syncthing erstellt.

Für diese VM nutze ich einen YubiKey / Nitrokey, auf dem die privaten Schlüssel für das Entschlüsseln der Nachrichten abgespeichert ist. Im Abschnitt YubiKey und Nitrokey in Qubes OS wird die Vorbereitung von Qubes OS beschrieben, damit die Smartcards verwendet werden können.

In der E-Mail-VM wird der E-Mail-Client Thunderbird verwendet. Dort wird der eigene öffentliche Schlüssel abgespeichert. Der private Schlüssel bleibt auf dem YubiKey / Nitrokey.

Du hast keinen YubiKey / Nitrokey - verwende Slit GPG

Qubes OS stellt eine elegante Softwarelösung bereits, um die privaten Schlüssel in einer eigenen VM gesichert abzuspeichern. Andere VMs können darauf Zugriff erhalten, um z.B. Nachrichten zu entsperren.
- https://doc.qubes-os.org/en/latest/user/security-in-qubes/split-gpg.html

Im Manual wird darauf hingewiesen, dass bei einem Zugriff auf einen privaten Schlüssel immer eine Benutzerinteraktion und ein grafischer Hinweis erfolgt. Dieser Hinweis ist gut und wichtig! Je nach verwendeter Smartcard wird der Benutzer ebenfalls zu einer Interaktion aufgefordert. Das kann eine PIN-Eingabe und / oder das Berühren eines Kontaktes sein.

Hat die eigene Smartcard diese Funktion nicht und ist nur eine PIN-Eingabe zum einmaligen Entsperren erforderlich, ist es ratsam den Token nach jeder Operation vom Client zu trennen.

Die komplette Einrichtung und Konfiguration von Thunderbird ist in diesem Artikel nachzulesen Thunderbird OpenPGP Ready - E-Mails verschlüsseln und signieren

Thunderbird und Smartcard

Die Einstellung mail.opengpg.allow_external_gnupg ist in Thunderbird zu aktivieren, damit eine Smartcard verwendet werden kann.


VM für Nachrichten und RSS

Diese VM wird ausschließlich für das Abrufen von Nachrichten mit dem RSS Reader newsboat verwendet. Die gesamte Konfiguration dafür kommt aus einem Git-Repository. Den ganzen Ablauf beschreibe ich in diesen Beiträgen:

Newsboat soll interessante direkt an Wallabag senden. Die Passwortdatei mit den Anmeldedaten wird mit einer Smartcard ver- und entschlüsselt. Dafür sind einige Anpassungen in der VM vorzunehmen.

JSON installieren
sudo apt install js

In der Konfigurationsdatei ~/.gnupg/gpg-agent.conf/ wird festgelegt, dass die PIN-Eingabe über pinentry-qt erfolgen soll.

~/.gnupg/gpg-agent.conf/
pinentry-program /usr/bin/pinentry-qt

Die nachfolgenden Apps habe ich installiert, um in der VM effizienter Arbeiten zu können.

Apps installieren - Optional
sudo apt install kate dolphin kde-cli-tools vlc yt-dl 

Den Mullvad Browser verwende ich auf allen anderen Systemen und habe diesen auch in .zshrc und den Konfigurationsdateien von newsboat fest eingetragen. Deshalb wird der Webbrowser noch in der VM installiert. Mullvad stellt eine ausführliche Installationsanleitung zur Verfügung:

Der Startbefehl in der Newsboat-Konfigurationsdatei ist anzupassen, damit die Originale im Mullvad-Browser geöffnet werden. (o)

Start Mullvad Browser
browser " ~/.local/share/mullvad-browser/start-mullvad-browser.desktop %u; fi'"
bookmark.sh ausführbar machen
chmod +x bookmark.sh

Nachrichten lesen geht damit sehr einfach. Das einzige Fenster der VM, dass geöffnet werden muss ist die Konsole. Daraus lassen sich alle weiteren Apps bequem starten.

Es lassen sich zwei Newsboat-Instanzen gleichzeitig starten.

  1. Hauptinstanz ~/.newsboat
  2. Die zweite Instanz ~/.newsboat-<instanz>/newsboat, z.B. ~/.newsboat-music/newsboat

Für das einfache Starten durch Shortcuts eingenen sich alias in der .bashrc oder der .zshrc.

Zwei Newsboat - Instanzen in Split View in der App Konsole

Screenshot: Zwei Newsboat - Instanzen in Split View in der App Konsole

Download Videos mit yt-dlp

Videos lassen sich mit yt-dlp über die CLI auf die eigene Festplatte herunterladen.

cd ~/Downloads/video && yt-dlp -f 'bestvideo[height<=800]+bestaudio/best[height<=1200]' http://example.com

Eine Anleitung, wie sich Bluetooth-Headsets verbinden lassen, findet sich im Forum:

Funktioniert Audio nicht mehr, dann kann das über dom0 wieder korrigiert und zurückgesetzt werden. 6)

Audio auf Werkseinstellungen zurücksetzten
qubes-prefs -D default_audiovm

Anschließend ist das Betriebssystem komplett neu zu starten.


Weitere VMs

Weitere VMs lassen sich entweder über den Qube Manager als neue Qubes erstellen oder bestehende VMs verwenden geklont. Ein Klon ist auch für das E rstellen einer Testumgebung sehr hilfreich.

Für die folgenden Einsatzwecke können weitere VMs erstellt werden:


YubiKey und Nitrokey in Qubes OS

Mein Nitrokey 3C NFC (Affiliate Link 🛒) wird sofort nach dem Anstecken erkannt und kann ohne Konfiguration und Anpassung an die VMs durchgereicht werden.

Der Nitrokey wird direkt als Smartcard Reader erkannt.

Ein YubiKey dagegen wurde bei mir nicht erkannt. Egal an welchem Port der Token angeschlossen wurde, er tauchte nicht in der USB-Verwaltung auf.

Damit der YubiKey in Qubes OS funktioniert, wird ein eigene sys-usb VM benötigt. Im Manual findet sich die Beschreibung für die Installation und Konfiguration des USB qubes.

Ein YubiKey wird nicht als Smartcard Reader angezeigt, sondern als Keyboard. In einer VM wird der YubiKey trotzdem vollständig erkannt und kann genutzt werden.

Ein Test:
Man reicht den YubiKey an eine VM durch. Dort gibt man auf der CLI den Befehl ein.

Smartcard Status abfragen
gpg --card-status

In der Ausgabe erscheinen alle Details des YubKeys / Nitrokeys.


Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address:

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Weitere Möglichkeiten mich zu unterstützen findest du 👉 hier

Source

Foto von Dean Pugh auf Unsplash