Mit Qubes OS einen funktionstüchtigen Laptop umsetzen

Mit Qubes OS einen funktionstüchtigen Laptop umsetzen

Rocco Gagliardi
von Rocco Gagliardi
am 19. Mai 2016
Lesezeit: 12 Minuten

Benutzen Sie bei der Arbeit einen einzelnen Computer, um Ihre Arbeiten zu erledigen? Oder greifen Sie auf dedizierte Geräte zurück, um das unnötige Exponieren von Daten unterschiedlicher Klassifizierungen zu verhindern? Ist die physische Trennung die richtige Antwort auf die vielen Security-Fragen, die damit einhergehen? (Software Compartmentalization vs. Physical Separation)

Seit mehr als einem Jahrzehnt hilft Virtualisierung den IT-Architekten dabei, Applikationen von Applikationen und ebendiese von Daten zu trennen. Dienste werden einfacher administrierbar und die teure Hardware im Datencenter kann effizienter eingesetzt werden.

Zum Beispiel haben wir eine Log-Appliance namens HERON entwickelt. Auf der Basis von Virtuellen Maschinen (VMs) konnten wir eine Minimierung des Systems vornehmen und dadurch die Exponiertheit von Daten und Diensten markant einschränken. Unser Produkt verfolgt einen serverbasierten Ansatz, bei dem ein Minimum an Benutzerzugriffen gegeben ist. Dementsprechend war die Umsetzung relativ einfach.

Qubes OS versucht das gleiche Ziel am anderen Ende des Kabels zu erreichen: Dem Client-Gerät, wobei der Benutzer im Mittelpunkt steht, da er die Wurzel des Problems ist.

Ich habe viele Jahre mit Qubes OS herumgespielt und mit Version 3 habe ich mich entschiedenen, es als Grundlage für meine Installation sowohl für private als auch geschäftliche Zwecke einzusetzen. In diesem Beitrag werde ich mich auf die schwierigste Aufgabe konzentrieren: Die Orchestrierung der Ressourcen, um eine Lösung im täglichen Gebrauch möglichst nutzbar zu machen.

Was ist das Ziel?

Ich möchte ein einzelnes Gerät haben, um meine Aktivitäten durchführen zu können. Dies reicht vom Lesen von Geschäftsnachrichten bis hin zum anonymen Surfen auf ask.fm. Richtig: Keine Einschränkung, um irgendetwas auf dem Gerät ausführen zu können, unabhängig vom vorinstallierten Betriebssystem und den gegebenen Kontoeinstellungen. Sicher: Wir erstellen unterschiedliche Konten für Geschäftliches, Privates und anonyme Nutzungen. Wir müssen also zwischen dem Benutzerkontext umschalten können, ohne den Bezug zur gestarteten Applikation zu verlieren. Die Probleme eines einzelnen Kontexts bleiben bestehen, sind aber auf ihn reduziert.

Es wäre grossartig, für jede Aufgabe ein dediziertes Gerät nutzen zu können. Doch normalerweise müssen die Daten zwischen den Anwendungen ausgetauscht werden. Und eine physische Trennung der Anwendungen führt nur zur Einführung kreativer Möglichkeiten, um die errichtete Sicherheit wieder zu reduzieren.

Wenn wir im Umkehrschluss eine einzelne Hardware verwenden können, wird es dann möglich, die Anwendungen unterschiedlicher Plattformen einheitlich darstellen zu können? Das ist genau das Ziel, das Qubes OS verfolgt: Eine Reihe von verschiedenen VMs zeitgleich auszuführen und die Ausgaben auf einem einzelnen Desktop (dem _dom0_-Desk) als vereinheitlichtes Betriebssystem darzustellen.

Vorteile

Sicherheit! Als erstes werden die VMs virtuell voneinander getrennt. Falls eine VM kompromittiert wurde, bestehen grosse Chancen, dass die anderen VMs davon nicht berührt werden.

Als zweites wird der Kontakt zwischen den Domains minimiert. Nur die für das Netzwerk und Firewalling zuständigen VMs stehen in Verbindung mit dem gefürchteten Any. Alle anderen VMs werden durch die Firewall-VM geschützt. Dies Reduziert die Exponiertheit auf die Treiber und Software der Firewall-VM. Alle anderen Komponenten der anderen Betriebssysteme/Applikationen in den abgeschotteten VMs werden nie direkt zugänglich.

Als Beispiel eine Untrusted-VM, die den Browser für den Internet-Zugriff stellt. Diese exponiert zwar den Code des Browsers gegenüber dem Internet. Der Treiber der Netzwerkkarte hingegen nicht.

Dies führt eine zusätzliche Ebene der Sicherheit für die Systeme ein, indem der Kontakt zwischen den Domains und den virtualisierten Systemen auf die gemeinsamen Zugriffe zur Display-Engine reduziert wird.

Nachteile

Die Komplexität wird erhöht. Tatsächlich baut Qubes OS eine ganze Netzwerkinfrastruktur auf, um die einzelnen Anwendungen betreiben zu können. Diese Infrastruktur muss optimiert und bewirtschaftet werden.

Einige Einschränkungen bei der Nutzung. Für Qubes OS stellt der Benutzer lediglich ein weiterer Prozess dar. Wenn also ein Prozess durch das System eingeschränkt werden will, tangiert das auch immer den Benutzer direkt.

Einige Einschränkungen bezüglich Hardware. Die Hardware muss Virtualisierung unterstützen, weshalb keine Low-Level Hardware eingesetzt werden kann. Zusätzlich ist genügend Speicher und Speicherplatz erforderlich.

So funktioniert es

Ich werde nicht direkt darauf eingehen, wie Qubes OS intern funktioniert. Laden Sie es am besten herunter und probieren Sie es aus. Weitere Informationen finden sich online.

Grundsätzlich handelt es sich um ein reduziertes Betriebssystem mit Hypervisor (Xen), das die Vorteile der modernen CPU-Architekturen (VT-x/d) für sich einsetzt. Es gibt speziell entwickelte Software-Komponenten, um die Geräte zu bewirtschaften (Emulatoren) und zur Darstellung von Applikationen.

Dabei gilt es zu bemerken, dass die Sicherheit innerhalb einer VM grundsätzlich die Gleiche bleibt. Eine in einer VM betriebene Applikation ist genauso (un)sicher, wie wenn sie auf einem normalen Linux betrieben wird. Alle herkömmlichen Sicherheitsmassnahmen, die da erforderlich wären, sind auch im Rahmen von Qubes OS angeraten.

Wie man loslegt

Bevor mit dem Anlegen der Domains begonnen wird, sollte man sich überlegen, wo Daten abgelegt werden und in welche Richtung eine Kommunikation stattfinden muss. Und zwar für und zwischen allen Domains! Dies gilt also nicht nur für Netzwerkverbindungen, sondern zum Beispiel auch für Zugriffe auf die Zwischenablage oder den Dateitransfer auf externe Datenträger.

Ich habe damit begonnen, sämtliche Abreiten aufzulisten, diese zu kategorisieren und Ziele sowie Interaktionsmöglichkeiten festzuhalten.

Arbeit Beschreibung
Email Zugriff auf unseren Mailserver via Browser
Wiki Zugriff (R/W) auf das Wiki des Unternehmens
Dokumente Nutzung der Microsoft Office Anwendungen (W/E/P/A, Visio), um auf Dateien auf dem Dateiserver zuzugreifen
Admin Administration der internen Server via ssh/https/rdp
Admin Administration der externen Server via ssh/https
Entwicklung Code schreiben und in der Test-Umgebung ausführen (SVN Check-In/Out)
Archiv Nützliche Dokumente, die nicht täglich gebraucht werden
Privat Beschreibung
Email Zugriff auf private Emails
Dokumente Nutzung der Microsoft Office Anwendungen (Visio + Access) , um auf Dateien auf in der privaten oder öffentlichen Clous zuzugreifen
Admin Administration der privaten Infrastruktur via ssh/https/rdp
Blog Bewirtschaftung des privaten Blogs
Finanz Nutzung von Online-Banking zur Auslösung von Zahlungen
Online-Shopping Online einkaufen über den Webbrowser (Zugriff mit Kreditkarte)
Browsen zur Recherche Könnte einige merkwürdige Seiten beinhalten
Browsen zur Unterhaltung Twitter, Facebook

Umsetzung

Als Hardware setze ich auf einen Lenovo T420s, i7, 16GB RAM und 256 SSD.

Zu Beginn komme ich mit den Fedora-Distributionen zurecht. In einem weiteren Schritt habe ich Windows 7, die dazugehörigen Tools sowie ein BSD eingerichtet.

Erstellen von Domains

Basierend auf der zuvor diskutierten Zusammenstellung werden nun die folgenden Domains eingerichtet:

Domain Zweck
Secure Betreiben von wenigen Applikationen, die auf dedizierte Datenbestände zugreifen können, keine Hardware-Zugriffe und Einschränkungen bezüglich Copy&Paste
Personal Betreiben einer beschränkten Anzahl an Applikationen, die auf beschränkte Datenbestände und Hardware-Ressourcen zugreifen können
Work Ausführen von Windows-Applikationen, Zugriff auf Freigaben im Unternehmensnetzwerk, Zugriff auf das Unternehmensnetzwerk mittels VPN
Untrusted Ausführen von Browser und anderen Applikationen zur Umsetzung von Zugriffen auf unsichere Ressourcen

Netzwerk-Rules

Für die privaten und geschäftlichen Domains pflege ich anstatt des Blacklist-Ansatzes einen Whitelist-Ansatz zu verfolgen: Alle Zugriffe einschränken und lediglich zulassen, was erforderlich ist. Dies ist das gleiche Vorgehen, das ich bei meinen Geräten für die Personal Firewalls verfolge. Es mag zwar zu Beginn aufwändig erscheinen. Doch nach einigen Tagen hat sich ein sehr solides Regelwerk eingependelt.

Copy & Paste-Regeln

Zusätzlich schränke ich das Copy & Paste-Verhalten zwischen den Domains ein:

Domain FW Policy Secure Personal Work Untrust
Secure drop all, allow banks Nicht anwendbar Erlaubt Nicht erlaubt Nicht erlaubt
Personal drop all, allow trusted sites Nicht erlaubt Nicht erlaubt Erlaubt Nicht erlaubt
Work drop all, allow company nets Nicht erlaubt Erlaubt Nicht anwendbar Nicht erlaubt
Untrusted allow all Nicht erlaubt Erlaubt Nicht erlaubt Nicht anwendbar

Zusätzliches

Durch das Hinzuführen von Whonix wird das anonyme Surfen möglich. Dieser Artikel diskutiert, wie Whonix auf Qubes OS installiert wird.

Desweiteren kann eine Authentisierung mittels Yubikey umgesetzt werden. Selbst wenn ich selbst nicht hundertprozentig vom Produkt überzeugt bin, hat mir mein Kollege Andrea einen zu Testzwecken zur Verfügung gestellt. In diesem Artikel wird erklärt, wie Yubikey mit Qubes OS betrieben wird.

Probleme / Lösungen

Die Lösung kostet uns etwas. Das allgemeine Arbeitsverhalten muss der neuen Umgebung angepasst werden. Hier einige Beispiele:

Fazit

Qubes OS benutzt Virtualisierung, um eine Separierung und damit eine bessere Kontrolle der Zugriffe auf Daten unterschiedlicher Klassifizierungen zu erreichen. Dadurch wird die Exponiertheit des Systems und der einzelnen Applikationen erreicht.

Dies auf einem Client durchzuführen, erfordert spezielle Software, um die Interaktion mit dem Benutzer abzufangen und zu kontrollieren. Dabei soll die Funktionalität des Systems intakt bleiben. Das ist dann das Schwierige daran. Auf der anderen Seite muss der Benutzer darauf vorbereitet sein, anders zu denken und zu handeln, als er es normalerweise gewohnt ist.

So lange der Hypervisor seine Arbeit richtig macht, ist dies der bevorzugte Weg, um die gewünschte Sicherheit erreichen zu können.

Über den Autor

Rocco Gagliardi

Rocco Gagliardi ist seit den 1980er Jahren im Bereich der Informationstechnologie tätig. In den 1990er Jahren hat er sich ganz der Informationssicherheit verschrieben. Die Schwerpunkte seiner Arbeit liegen im Bereich Routing, Firewalling und Log Management.

Links

Sie wollen die Sicherheit Ihrer Firewall prüfen?

Unsere Spezialisten kontaktieren Sie gern!

×
Schutz vor Phishing

Schutz vor Phishing

Rocco Gagliardi

Logging

Logging

Rocco Gagliardi

IT Security Policies

IT Security Policies

Rocco Gagliardi

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv