2368397

Qubes-OS: Supersicher mit Xen

27.08.2018 | 14:00 Uhr | David Wolski

Ein bemerkenswerter Vertreter unter den Linux-Distributionen, die sich dem Thema Sicherheit verschrieben haben, ist Qubes-OS. Es arbeitet mit der Virtualisierung von Xen, um einzelne Anwendungen in abgeschottete Container zu sperren.

Als besonders sichere Maßnahme hat sich im Alltag die strikte Trennung von Systemen und deren Anwendungen nach ihren Einsatzbereichen erwiesen: Auf privaten Systemen, auf denen man eventuell etwas mehr Dinge „anstellt“, laufen in der Regel keine hochwichtigen Programme mit nicht mehr beizubringenden Daten. Doch gut abgeschottete Systeme werden sich, auch nach Bedienfehlern, Nachlässigkeiten, missglückten Experimenten oder Hacks, gegenseitig weniger gefährlich. Zwar ist diese stringente Trennung und Abschottung von physikalischen Systemen nach ihren verschiedenen Einsatzzwecken eine einleuchtende Sicherheitsmaßnahme – aber auch reichlich umständlich in der Realisierung. Für jeden Anwendungsbereich ein eigenes Notebook oder einen separaten PC zu verwenden, erscheint wenig praktikabel. Im Alltag ist es dann doch zumeist so, dass man auf einem Arbeitsrechner auch mal persönliche Dokumente öffnet, sodass sich Privates und Geschäftliches vermischen.

Abschottung mit Xen

Komfortabler gelingt die Abschottung von Systemen und deren Anwendungen mittels Virtualisierung. Ein leistungsstarker PC kann mit einem Programm wie Virtualbox mehrere virtuelle Maschinen gleichzeitig stemmen. Sicherheitsbewusste Anwender haben so mehrere separate Systeme auf ihrem Rechner, brauchen aber nicht mit unterschiedlicher Hardware zu hantieren, sondern haben immer noch alles auf einem Rechner und Bildschirm. Diesen Ansatz greift das Linux-System Qubes-OS auf, das mit der Virtualisierungstechnik Xen arbeitet, die eng mit dem Linux-Kernel verzahnt ist und deren Entwicklung unter der Ägide der Linux Foundation steht. Xen ist kein kompletter Virtualisierer wie beispielsweise Vmware oder Virtualbox, sondern betreibt eine Paravirtualisierung.

Anders als bei der Komplettvirtualisierung bildet die Paravirtualisierung kein komplettes System mit virtueller Hardware ab. Qubes-OS nutzt den effizienten Ansatz mit Xen, um Anwendungen in ihrer eigenen Xen-Maschine (genannt „Xen-Domäne“ oder einfach „Qube“ in Qubes-OS) laufen zu lassen und auf einem Desktop nahtlos nebeneinander darzustellen.

Sichere und unsichere Domänen

In Qubes laufen nicht alle Anwendungen in ihrer eigenen Xen-Domäne, denn das wäre eine übertriebene Maßnahme. Stattdessen liefert Qubes-OS mehrere vorkonfigurierte Domänen mit, die diverse Anwendungen nach Aufgaben zusammenfassen. So gibt es Xen-Domänen für die Arbeit, für Privates und für definitiv unsichere Tätigkeiten gibt es Wegwerf-Domänen, die generell keine Benutzerdaten speichern. Zur Abschottung voneinander erhalten die Domänen ein eigenes Dateisystem sowie eine eigene IP-Adresse in einem virtuellen Netzwerk unter Qubes, das die Domänen über NAT bei Bedarf ans eigentliche Netzwerk anbindet. Dabei kann Qubes verschiedene Netzwerkadapter nutzen, um beispielsweise eine Domäne mit einem Firmennetzwerk über Ethernet zu verbinden und eine andere per WLAN in ein privates Netzwerk einzuloggen. Firewallregeln gibt es getrennt für jede einzelne Domäne. Die Kommunikation zwischen Domänen ist damit eingeschränkt und kontrolliert. Auch Dateien können nicht direkt zwischen Domänen ausgetauscht werden, sondern nur über einen externen Dateiserver oder über ein internes, von Qubes bereitgestellten Transfertool.

Qubes-OS 4.0: Die Voraussetzungen

Als überaus wählerisch zeigt sich Qubes-OS 4.0 bei der Installation, die schon aufgrund der Hardwarevoraussetzungen keine leichtzunehmende Hürde ist.

Aus diesem Grund haben die Entwickler unter https://www.qubes-os.org/hcl eine tabellarische Übersicht mit getesteter Hardware als erste Orientierung veröffentlicht. Ein Überblick zu den Anforderungen:

Generell: In Sachen Hardwareanforderungen ist Qubes-OS kein Leichtgewicht. Xen ist eine Linux-Technologie aus dem Serverbereich – an RAM und CPU-Leistung gibt in diesem Anwendungsbereich wenig Mangel. Entsprechend großzügig sollte die Hardwareausstattung eines Test-PCs für Qubes-OS sein. Dabei ist aber auch darauf zu achten, dass die Hardware nicht zu neu ist. Auf einem brandneuen System mit Intels achter Core-i7-Generation gab es Probleme mit der Hardwareerkennung. Besser geeignet sind etwas ältere, leistungsfähige Rechner der letzten drei bis fünf Jahre.

Speicher: acht GB Minimum

Festplattenplatz: 30 GB Minimum, schnelle SSD empfohlen

Prozessor: leistungsfähige CPU ab vier Kernen und Virtualisierungserweiterungen (Intel-VT-x, AMD-V)

Keine virtuellen Maschinen: In einer virtuellen Maschine läuft Qubes prinzipiell gar nicht oder doch nur sehr eingeschränkt, weil Qubes-OS mit Xen-Domänen arbeitet.

Diese Virtualisierungsmethode verlangt nach exklusivem Zugriff auf den Prozessor und die Hardware, denn eine verschachtelte Virtualisierung mit Xen unter einer VM ist schwierig zu realisieren. Mit Virtualbox funktioniert es gar nicht, mit Vmware Workstation und Player kann die Installation funktionieren, aber es sind weitere Probleme mit dem Netzwerkzugriff zu erwarten. Qubes-OS ist für einen speziell dafür geeigneten, leistungsfähigen PC gemacht, eine Installation auf eine extern angeschlossene SSD/Festplatte ist dank des flexiblen, von Fedora übernommenen Installers möglich und zum Einstieg empfehlenswert.

Download: Die ISO-Datei zur Übertragung auf einen USB-Stick ab acht GB Speicherplatz liegt unter https://www.qubes-os.org/downloads zum Download bereit (4,3 GB). Das installierbare System ist kein Livesystem, sondern startet den Fedora-Installer Anaconda in englischer Sprache.

Dokumentation: https://www.qubes-os.org/faq

Das Installationsprogramm: Qubes-OS basiert auf einer älteren Ausgabe von Fedora und übernimmt dessen Installer.
Vergrößern Das Installationsprogramm: Qubes-OS basiert auf einer älteren Ausgabe von Fedora und übernimmt dessen Installer.

Fedora im Hintergrund

Das Management von Xen ist komplex und wäre auf Desktopsystemen mit den Linux-Bordmitteln allein überaus umständlich. Deshalb liefert Qubes einige hilfreiche grafische Verwaltungstools mit, die den Start und das Erstellen von Xen-Domänen erleichtern. Außerdem gibt es so eine einfachere Möglichkeit, Domänen mit PCI-Geräten per PCI-Passthrough zu verbinden oder einen Netzwerkadapter verfügbar zu machen. Die übergreifende Xen-Domäne (dom0) dient nur zur Verwaltung aller Xen-Domänen und des Basissystems, aber nicht zur eigentlichen Arbeit, damit das Basissystem immer isoliert von den Anwendungen bleibt.

Qubes-OS erschien erstmals 2012 und wurde von der bekannten VM-Spezialistin und Hackerin Joanna Rutkowska ins Leben gerufen. Schnell fanden sich rund ein Dutzend Mitstreiter, die das System heute weiterentwickeln. Es wurde 2014 für den „Access Innovation Price“ 2014 nominiert und hat von Berufsparanoikern wie Edward Snowden viele Lorbeeren bekommen. Mittlerweile liegt Qubes-OS in Version 4.0 vor und lädt zum Ausprobieren und Experimentieren ein. Das Basisbetriebssystem mit der übergreifenden Xen-Domäne baut auf Fedora auf, bringt aber auch Domänen mit einem Debian-Gastsystem mit. Als Desktop kommt ein schlichtes englischsprachiges XFCE zum Einsatz.

Keine Installation möglich: Qubes-OS ist wählerisch bezüglich der Hardware, auf der es laufen will.
Vergrößern Keine Installation möglich: Qubes-OS ist wählerisch bezüglich der Hardware, auf der es laufen will.

Installation: Keine kleine Hürde

Der Weg zur Installation beginnt mit dem Download der ISO-Datei von https://www.qubes-os.org/downloads (4,3 GB), die auf eine DVD oder einen USB-Stick ab acht GB Kapazität passt. Zur Übertragung eignet sich das Linux-Kommandozeilentool dd, die Installation ist unter https://www.qubes-os.org/doc/installation-guide im Detail beschrieben. Nach dem Booten auf dem ausgewählten Rechner startet Qubes-OS kein Livesystem, sondern einen Installer, der in weiten Teilen von Fedora 25 übernommen ist. Weil Qubes selbst mit Virtualisierung arbeitet, verlangt das System nach realer, leistungsfähiger Hardware. Diese muss zudem einige anspruchsvolle Voraussetzungen erfüllen (siehe Kasten „Qubes-OS 4.0: Die Voraussetzungen“), wobei man immerhin bei der Installation nicht lange rätseln muss. Der Installer spuckt umgehend eine Fehlermeldung aus, wenn die gewählte Hardware ein zwingend benötigtes Merkmal nicht mitbringt. Auf dem Datenträger verlangt das System mindestens 32 GB, wobei es sich empfiehlt, schon im Vorfeld mit dem Partitionierer Gparted Platz zu schaffen, weil der Partitionierer des Installationsprogramms reichlich umständlich zu bedienen ist. Nach der Auswahl der Zielfestplatte unter „Installation destination“ erstellt ein Klick auf „Begin Installation“ das Standard-Partitionslayout, das übrigens mit Luks-Verschlüsselung der Datenträger arbeitet und die Vergabe eines Passworts zum Systemstart verlangt. Während die Installation läuft, erstellt man noch unter „User creation“ einen Benutzer und dessen Passwort zur Anmeldung am System. Nach dem ersten Booten fragt das System, welche Standarddomänen es erstellen soll. Für den Einstieg können Sie einfach die Vorauswahl übernehmen.

Netzwerk verbinden: Erst nachdem ein physikalischer Netzwerkadapter der Domäne „sys-net“ zugewiesen ist, kann das System über das Symbol rechts oben ins Netzwerk.
Vergrößern Netzwerk verbinden: Erst nachdem ein physikalischer Netzwerkadapter der Domäne „sys-net“ zugewiesen ist, kann das System über das Symbol rechts oben ins Netzwerk.

Erster Start und Orientierung

Qubes-OS präsentiert dem Anwender einen XFCE-Desktop, in dessen Anwendungsmenü links oben allerdings keine Anwendungen im Vordergrund stehen, sondern die vorkonfigurierten Xen-Domänen („Qubes“). Unterhalb jedes der Qubes klappen sich die darin vorhandenen aufrufbaren Programme aus. So finden sich beispielsweise unterhalb von „Domain: personal“ die Einträge für den Firefox-Browser, den Dateimanager und das Terminal. Ein Klick darauf startet diese Xen-Domäne und das darin aufgerufene Programm – mit einem farbigen Fensterrahmen deutlich von anderen Programmen in den fremden Domänen abgesetzt.

Schaltzentrale: Der Qube Manager ist eine grafische Anwendung im Stil eines Taskmanagers.
Vergrößern Schaltzentrale: Der Qube Manager ist eine grafische Anwendung im Stil eines Taskmanagers.

Bevor man etwa in Firefox in einer der Domänen loslegen kann, gilt es aber erst, für Netzwerkkonnektivität zu sorgen. Das ist keine triviale Aufgabe, denn Netzwerke sind für Qubes-OS grundsätzlich ein Einfallstor für Risiken von außen. Das Networkmanager-Icon rechts oben in XFCE ist deshalb auch nicht der richtige Weg ins Netzwerk. Stattdessen läuft die Netzwerkverbindung nur in die Xen-Domäne „sysnet“, die das Netzwerk dann wiederum über „sys-firewall“ oder direkt an eine der anderen Domänen weitergibt. Dieses Zusammenspiel wird klarer, wenn man den „Qube Manager“ über „System Tools“ im Anwendungsmenü startet. Die tabellarische Übersicht im Stil eines Taskmanagers zeigt die verfügbaren Qubes, deren Namen, den Status sowie in der Spalte „NetVM“ deren Netzwerkverbindung untereinander. Um jetzt die Domäne „sys-net“ ins Netzwerk zu bringen, klicken Sie diese im Qube Manager rechts an und wählen „Qube settings“. Unter „Devices“ wählen Sie links unter den PCI-Geräten den gewünschten Netzwerkadapter aus und befördern diesen mit dem Pfeil-Symbol in das rechte Feld „Selected“. Umgekehrt wirft der umgekehrte Pfeil unerwünschte PCI-Geräte aus der Spalte „Selected“ wieder heraus. Nach einem Klick auf „OK“ startet im Qube Manager der Kontextmenüeintrag „Restart qube“ die Domäne „sys-net“ neu. Erst dann kann das Netzwerksymbol in der XFCE-Systemleiste die Verbindung konfigurieren.

Abgeschotteter Firefox: Geöffnete Programmfenster auf dem Desktop bekommen stets eine Rahmenfarbe, welche die Domäne signalisiert.
Vergrößern Abgeschotteter Firefox: Geöffnete Programmfenster auf dem Desktop bekommen stets eine Rahmenfarbe, welche die Domäne signalisiert.

Domänen und Programme

Ein dann gestartetes Programm, beispielsweise ein Firefox in „Domain:personal“, hat nun die Internetverbindung. Diese Domäne merkt sich auch solche Änderungen und speichert Dateien in ihrem eigenen Dateisystem. Zur Arbeit mit Dateien dient in der „Domain:personal“ der Eintrag „personal: Files“. Dieser startet nicht den gewöhnlichen Dateimanager, sondern eine modifizierte Variante, die bei einem Rechtsklick auf Dateien und Ordner die Punkte „Copy to Other AppVM“ und „Move to Other AppVM“. anzeigt. Nur über diese Programmpunkte können Dateien in andere laufende Domänen kopiert beziehungsweise verschoben werden. Dort landen die Dateien stets im Unterverzeichnis „QubesIncoming“. Für den Anschluss eines USB-Sticks gibt es die Domäne „sys-usb“, zu der man Dateien erst transferieren muss und dann erst auf das USB-Laufwerk bekommt.

Neben den festen Domänen gibt es Einwegtemplates, die bei Bedarf eine frische Domäne erstellen und beim Schließen wieder komplett löschen. Diese Domänen finden sich im Anwendungsmenü unter „Disposable: fedora-26-dvm“ und „Disposable: whonix-ws-dvm“. Dort steht auch ein vorkonfigurierter TOR-Browser zur Verfügung. Zwar ist die Auswahl der vorinstallierten Programme nicht gerade üppig, aber doch bei Bedarf erweiterbar. Xen-Domänen selbst sind nicht direkt veränderbar, wohl aber deren Templates, die das virtuelle Dateisystem enthalten. Um beispielsweise „Domain:personal“ mit dem Chromium-Browser zu erweitern, starten Sie im Anwendungsmenü erst „Template:fedora-26 –› fedora-26:Terminal“ und geben dort

sudo dnf install chromium

ein. Nach der Installation wartet die „Domain: personal“ im Qubes Manager per Rechtsklick und „Restart Cube“ auf ihren Neustart, um ihr Dateisystem zu aktualisieren. Soll Chromium im Anwendungsmenü auftauchen, geht man im Kontextmenü auf „Qube Settings –› Applications“ und holt dort mit dem Pfeilsymbol den Eintrag „Chromium Web Browser“ in die rechte Spalte.

Die Betriebssysteme in den Templates müssen regelmäßig aktualisiert werden. Dazu klicken Sie ein Template im Qube Manager rechts an und wählen „Update qube“.

Der Datenaustausch zwischen den virtuellen Domains ist nur über spezielle Kontextmenüs im Thunar- Dateimanager möglich.
Vergrößern Der Datenaustausch zwischen den virtuellen Domains ist nur über spezielle Kontextmenüs im Thunar- Dateimanager möglich.

Fazit: Sicherheit mit hohem Aufwand

Eine Binsenweisheit aus dem Umfeld der IT-Sicherheit besagt, dass Komfort im umgekehrten Verhältnis zur tatsächlichen Sicherheit steht. Leider ist auch Qubes-OS hier keine Ausnahme von dieser Regel. Wer das System wirklich produktiv einsetzen will, muss bereits über einen soliden Wissensstand zur Xen-Paravirtualisierung mitbringen. Eine hohe Hürde ist, dass Qubes-OS extrem wählerisch bezüglich der Hardware ist, mit der es ausschließlich zusammenarbeiten kann. Eine Menge offener Bugs in der aktuellen Version Qubes-OS 4.0 versprechen zudem intensive Recherchen nach Lösungen auf der Projektwebseite, wobei die meisten Bugs im Zusammenspiel mit Hardware- und Bios-Problemen auftreten. Als Experimentalsystem ist Qubes-OS für eine Gruppe bewanderter Linux-Anwender ein interessanter Blick auf Xen. Normalsterbliche werden sich weiterhin mit virtuellen Maschinen in Virtualbox oder Vmware leichter tun, da diese weitaus intuitiver bedienbar sind als Qubes-OS.

Feedback an die Redaktion

PC-WELT Marktplatz

2368397