Qubes OS setzt auf Sicherheit durch Xen-Virtualisierung

Aus LinuxUser 02/2015

Qubes OS setzt auf Sicherheit durch Xen-Virtualisierung

© Maciej Maksymowic, 123RF

Sauber getrennt

Qubes OS trennt Anwendungen in durch Xen bereitgestellten virtuellen Maschinen voneinander. So entstehen abgeschottete Sicherheitszonen.

Nicht erst seit dem Bekanntwerden des NSA-Skandals ist es sinnvoll, Daten auf Rechnern mit Netzzugang zu schützen. In LU 09/2014 haben wir Whonix [1] vorgestellt, das mit zwei getrennten virtuellen Maschinen und dem Einsatz von Tor Sicherheit aufbaut. Diesmal schauen wir hinter die Kulissen von Qubes OS [2], das mit etwas weniger Aufwand und Xen [3] als Hypervisor eine erhöhte Sicherheit für Anwendungen verspricht.

Die seit 2012 entwickelte Distribution geht dabei eigene Wege: Virtuelle Maschinen (VM) erweitern ein minimales Gastsystem, das derzeit auf Fedora 20 basiert und als GUI sowohl KDE als auch XFCE mitbringt, aber über keinen Netzzugang verfügt.

Die VMs basieren auf dem Hypervisor Xen. Das ganze System stammt aus der Firma “The Invisible Things Lab” der polnischen Sicherheits-Forscherin Joanna Rutkowska. Die VMs trennen Applikationen voneinander, wobei verschiedene Sicherheitslevel zum Einsatz kommen (Abbildung 1), nach dem Prinzip “Sicherheit durch Isolation” [4].

Abbildung 1: Die einfachste Übung in Inkscape hilft dabei, die Ideen hinter den Splines und Tangenten zu verstehen. Die blauen Linien sind die Tangenten.

Abbildung 1: Die einfachste Übung in Inkscape hilft dabei, die Ideen hinter den Splines und Tangenten zu verstehen. Die blauen Linien sind die Tangenten.

Rutkowska weiß, wovon sie spricht, stammt aus ihren Händen doch auch Bluepill [5], ein Rootkit, das vom Gastsystem aus einen Hypervisor angreift. Möchten Sie zusätzlich Tor in Qubes OS einbinden, dann sollten Sie einen Tor-Proxy in eine Netzwerk-Adapter-VM sperren, wie es Rutkowska in ihrem Blog beschreibt [6].

In weiteren, unprivilegierten Domänen – bei Qubes heißen sie AppVMs – laufen jeweils eine oder mehrere Anwendungen. Nach der Installation finden Sie bereits einige entsprechend vordefinierte Container vor. Darunter zählen neben der dom0, die dem einzigen Benutzer mit allen nötigen Rechten eine Heimstatt bietet (Qubes ist aus Sicherheitsgründen als Einbenutzersystem ausgelegt), unter anderem auch die AppVMs Work, Personal, Banking.

Farben kennzeichnen die jeweils eingestellte Sicherheitsstufe der einzelnen AppVMs, wobei Rot die höchste Stufe repräsentiert. Die derzeit aktuelle Version von September trägt die Release-Nummer R2 und ermöglicht, neben kompletten Distributionen auch Windows 7 in eine AppVM zu sperren. Allerdings hat Rutkowska die App-VMs eher für Anwendungen konzipiert als für ganze Betriebssysteme.

Passende Hardware

In der Praxis erweist sich Qubes als recht kritisch, was den Hardware-Unterbau angeht. Daher sollten Sie vor der Installation die Hardware-Check-Liste [7] zurate ziehen: Sie bietet unter Umständen Tipps, die viel Zeit sparen. Im Test erwies sich etwas ältere Hardware als eher geeignet, um mit Qubes zu kooperieren. Ein etwas älterer Kernel hilft ebenfalls, falls die Installation gar nicht erst gelingt oder das System nicht rund läuft. Dazu wählen Sie vor der Installation aus dem Bootmenü den Punkt Troubleshooting und dort einen der angebotenen Kernel (Abbildung 2).

Abbildung 2: Ein simples Bild eines Apfels lässt sich in Inkscape als Vorlage verwenden.

Abbildung 2: Ein simples Bild eines Apfels lässt sich in Inkscape als Vorlage verwenden.

Qubes erwartet einen versierten Anwender. Es empfiehlt sich, vorher ausgiebig auf der Webseite zu stöbern. Da erfahren Sie unter anderem, dass Qubes sich nicht oder nur mit großen Schwierigkeiten für eine Installation in einer weiteren virtuellen Umgebung wie Virtualbox oder KVM eignet.

Installation

Qubes ist kein Live-System. Der Installer startet nach dem Hochfahren automatisch und fragt neben Sprache und Zeitzone hauptsächlich die Angaben in Bezug auf die Partitionen ab. Hier taten sich im Test Hürden auf, da die Software die Informationen nicht immer korrekt einlas. Am einfachsten bieten Sie Qubes eine vorbereitete leere Partition an, die Sie über die Option custom partitioning auswählen.

Haben Sie die Installation angestoßen, benötigt das Kopieren und Einrichten der rund 3 GByte großen ISO-Datei, die von DVD oder von einem USB-Stick kommen darf, auf moderner Hardware rund eine halbe Stunde, auf älteren PCs zwei bis drei Stunden.

Standardmäßig verschlüsselt Qubes die Systempartition mittels LUKS, was sich jedoch über die entsprechende Option abwählen lässt. Zudem bietet das Setup eine Installation mittels LVM oder Thin Provisioning als Option an. Es empfiehlt sich, für die Installation und die ersten Schritte eine Internetverbindung via Kabel zu wählen, da nur gängige WLAN-Treiber beiliegen und der Installer keine Möglichkeit bietet, weitere nachträglich zu installieren.

Der erste Start

Beim ersten Start ins frisch installierte System legt dieses den einzig vorgesehenen Nutzer an und bietet eine Auswahl zu erstellender Container an. Hier empfiehlt es sich, die Voreinstellung zu übernehmen, da das System so die virtuellen Maschinen für Netzwerk und Speicher korrekt aufsetzt.

Die zusätzlich erstellten VMs für Applikationen dürfen Sie nach dem Start ins System umbenennen, löschen oder erweitern. Grundsätzlich sollten Sie aber vorerst nichts ändern, sondern sich mit dem andersgearteten Konzept und dem Speichern der Daten vertraut machen.

Bei Qubes laufen mehrere Anwendungen in einem Container mit einer bestimmten Sicherheitsstufe. In diesem gespeicherte Daten stehen zunächst nur in dieser Umgebung bereit. Um aus anderen Containern auf sie zuzugreifen, kopieren und verschieben Sie die Daten mithilfe bestimmter Optionen im Dateimanager. Über den “Qubes VM Manager”, der beim Hochfahren immer automatisch startet (Abbildung 3), steuern Sie alle VMs.

Abbildung 3: Der Kreis sollte den Umfang des Apfels übertreffen: Verkleinern geht immer, vergrößern ist etwas schwieriger.

Abbildung 3: Der Kreis sollte den Umfang des Apfels übertreffen: Verkleinern geht immer, vergrößern ist etwas schwieriger.

Lernen

Wichtig ist das Verständnis dafür, wie und wo Operationen auf Dateien bei Qubes wirken: Möchten Sie einen Befehl in der Domäne personal absetzen, gilt es, die Konsole in dieser zu starten. Eine über das Menü gestartete Konsole jedoch öffnet sich in der Domäne dom0. Eine Konsole in der Domäne personal öffnen Sie über das Menü links unten und dort unter Domain:personal | personal:Terminal.

Abbildung 4: Hier deckt sich der Apfel bereits fast völlig mit dem Kreis, der darüberliegt. Die Vektor-Form ist also hergestellt.

Abbildung 4: Hier deckt sich der Apfel bereits fast völlig mit dem Kreis, der darüberliegt. Die Vektor-Form ist also hergestellt.

Standardmäßig ordnet Qubes allen Domänen einen Dateimanager, Firefox als Browser und eine Konsole zu. Weitere Apps finden sich ebenfalls im entsprechenden Menü, wobei es zu beachten gilt, keine Anwendungen in dom0 zu betreiben.

Eine Ausnahme stellt die Konsole zur Systemadministration dar. Es besteht die Möglichkeit, aus dieser Konsole manuell Anwendungen zu starten. Möchten Sie Firefox in der roten Domäne starten, nutzen Sie dazu das Kommando qvm-run -a red firefox. Liegt Ihnen Debian mehr als Fedora, so können Sie mit folgendem Befehl ein VM-Template installieren und darauf aufbauen:

$ sudo qubes-dom0-update --enablerepo=qubes-templates-community qubes-template-debian-8-x64

Die weitere Handhabung von Qubes und die vielfältigen Möglichkeiten, die es bietet, erschließen sich durch das Studium der umfangreichen und gut strukturierten, aber derzeit nur in Englisch vorliegenden Dokumentation im Qubes-Wiki [8].

Abbildung 5: Die typische Umrandung für ein Symbol oder ein Emblem erstellen Sie, indem Sie Text am inneren Kreis ausrichten.

Abbildung 5: Die typische Umrandung für ein Symbol oder ein Emblem erstellen Sie, indem Sie Text am inneren Kreis ausrichten.

Copy & Paste

Wie schon erwähnt, befinden sich Texte oder Dateien jeweils nur in der Domäne, in der Sie sie erstellt oder in die Sie sie heruntergeladen haben. Um sie in eine andere Domäne zu kopieren, bedarf es eines etwas erweiterten Mechanismus. Möchten Sie einen Text von Domäne A nach B kopieren, so markieren Sie ihn zunächst und kopieren ihn per [Strg]+[C].

Das fügt den Text in die Zwischenablage dieser Domäne ein, woraufhin die zusätzliche Tastenkombination [Strg]+[Umschalt]+[C] den Text als Kandidaten für das Kopieren in eine andere Domäne markiert. In Domäne B fügen Sie den Text mittels [Strg]+[Umschalt]+[V] in die dortige Zwischenablage ein. Mit [Strg]+[V] übertragen Sie die Daten anschließend in die Applikation. Damit erhält nur Domäne B den Inhalt der Ablage. Keine andere Domäne hat Zugriff darauf, denn nach diesem Schritt entfernt das System den Text aus der Zwischenablage in Domäne B.

Auch das Kopieren von Dateien zwischen Domänen bedarf aus Sicherheitsgründen eines Zwischenschritts. Um Dateien zwischen Domänen zu kopieren, markieren Sie in Domäne A im Dateimanager die Dateien und wählen im Kontextmenü den Eintrag Copy to another AppVM. Ein Dialog fragt daraufhin den Namen der Domäne ab, in die Sie diese übertragen wollen. Nach dem Bestätigen beginnt das Kopieren. In der neuen Domäne finden Sie die Daten unter /home/user/QubesIncoming/Quelldomäne und verschieben sie bei Bedarf per Dateimanager.

Backup

Qubes verfügt über ein Backup-Modul, das Sie im VM-Manager unter System | Backup VMs finden. Im entsprechenden Dialog verschieben Sie die zu sichernden Domänen von der linken auf die rechte Seite der Maske. Erscheint eine AppVM rot markiert, beenden Sie sie zunächst. Nach einem Klick auf Next wählen Sie das Ziel der Sicherung aus – entweder ein Gerät oder eine laufende AppVM (Abbildung 6).

Abbildung 6: Bei Bedarf sichern Sie die Daten einer virtuellen Maschine auf einem entfernten Server.

Abbildung 6: Bei Bedarf sichern Sie die Daten einer virtuellen Maschine auf einem entfernten Server.

Ein Backup auf einen USB-Stick wäre ebenfalls möglich, wenn dieser in die Ziel-VM eingebunden ist. Sie dürfen bei der Eingabe des Ziels auch einen Befehl eingeben, der das Backup per SSH auf einen entfernten Server schreibt. Per Option legen Sie das Backup verschlüsselt ab. Nach einem weiteren Klick auf Next startet die Sicherung.

Für das Wiederherstellen eines Backups bietet die Maske eine Reihe von Optionen an, die weitgehend selbsterklärend ausfallen. So führt die Option ignore missing das Backup durch, obwohl die wiederherzustellende AppVM von anderen Containern abhängt, die aber zum Zeitpunkt des Wiederherstellens nicht laufen. Die Dokumentation beschreibt zudem den Fall einer Notfall-Wiederherstellung auf einem beliebigen Linux-System, wenn kein Qubes-System bereitsteht.

Fazit

Qubes hinterlässt einen gemischten Eindruck, wobei das Positive überwiegt. Die Umsetzung macht einen sehr professionellen Eindruck, der aus dem wissenschaftlichen Umfeld herrührt. Der Sicherheitsfaktor erscheint etwas höher als bei vergleichbaren Ansätzen, besonders, wenn Sie zusätzlich Tor einbinden.

Für Anwender ist das System durch seine exzellente Dokumentation leicht zu bedienen. Die User-Dokumentation, speziell den Teil über die Installation, sollten Sie vor dem ersten Start der Distribution unbedingt studieren. Ist das System einmal installiert und haben Sie das Prinzip verinnerlicht, erfüllt Qubes seinen Zweck mit Bravour. Es verlangt jedoch bei der Bedienung des Öfteren kleine Umwege, die zusätzlich Zeit kosten. Für das kommende Qubes R3 planen die Entwickler Verbesserungen bei der GUI sowie die Möglichkeit, neben Xen noch andere Hypervisoren einzusetzen. Hierzu haben sie das Odyssey-Framework [9] aufgesetzt, das sich das Libvirt-Projekt [10] zunutze macht.

Damit würde sich Qubes vom kompletten Betriebssystem zum Aufsatz für Hypervisoren wie KVM, Virtualbox oder VMware entwickeln und so mehr Einsatzmöglichkeiten eröffnen sowie die Probleme mit der schlechten Hardware-Kompatibilität überwinden. Zudem soll das Qubes R3 eine USB-VM enthalten, um USB-Geräte automatisch bereitzustellen. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2015 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

1 Kommentar
Älteste
Neuste Beste Bewertung
GepPetto
11 Jahre her

Wir testen Qubes OS R2 derzeit sehr intensiv für den Einsatz in unserem Unternehmen. Ziel ist es, auf einem Client div. VM’s für drei unterschiedliche Netz zur Verfügung zu stellen. Zudem soll auch eine mobile Verbindung möglich sein. Das OS macht einen sehr professionellen Eindruck, die Konfiguration und Bedienung ist für den versierten Linux-User keine große Herausforderung. Auch das “App” Portfolio ist bereits fast ausreichen. Einen Wermutstropfen hat das OS aber doch. Leider lassen sich USB-Ethernet Adapter, Surfsticks, 3G Module usw. nicht separat einer VM zugewiesen werden. Es kann immer nur der gesamt USB Bus der VM übergeben werden.

Nach oben