Cybersecurity of network of connected devices and personal data security

Sichere Daten in der Cloud durch Verschlüsselung

Viele Leute haben bei der Verlagerung ihrer Daten in die Cloud Bedenken, dass das nicht so sicher ist wie die Speicherung On-Premise. An diesem Argument ist sicher einiges dran und – je nach Rechtsprechung – trifft es mehr oder weniger zu. Wenn Sie jedoch einen ungepatchten, allgemein offenen Server betreiben, spielt es keine Rolle, ob er sich in Ihrem eigenen Keller oder in der Cloud befindet. Er ist gleichermaßen verletzbar.

(Wenn Sie mehr darüber erfahren möchten, wie Ihre Daten bei uns sicher sind, lesen Sie unseren Blogpost zur Frage, warum und wie Ihre Daten aus rechtlicher Sicht bei uns sicher sind.)

In diesem Artikel soll es in erster Linie darum gehen, wie Sie dafür sorgen können, dass Ihre Daten sicher sind, wenn Sie sich für eine Verlagerung in die Cloud entschieden haben. Entscheidend ist die Festplattenverschlüsselung. Da unsere Cloud Ihnen viel mehr Kontrolle und Flexibilität bietet als die meisten anderen Clouds, decken wir zwei verschiedene Arten der Verschlüsselung ab: Disk/Volume-Verschlüsselung und Festplattenverschlüsselung.

Angesichts der Komplexität dieses Themas wollen wir nicht zu tief in die verschiedenen Verschlüsselungsalgorithmen eintauchen, sondern konzentrieren uns auf den Überblick:

Disk/Volume-Verschlüsselung

Die bequemste Form der Verschlüsselung ist die Disk/Volume-Verschlüsselung. Wenn Sie Daten auf einer vorhandenen virtuellen Maschine (VM) haben, können Sie einfach eine verschlüsselte Festplatte oder ein Volume hinzufügen. Wenn Sie das verschlüsselte Volume unmounten (oder den Server ausschalten) und dabei ihren Verschlüsselungsschlüssel nicht auf dem Server speichern, sind Ihre Daten sicher.

Der Nachteil bei dieser Art von Verschlüsselung ist jedoch, dass ein Angreifer im Falle einer Kompromittierung Ihres Servers Ihre Passphrase/Ihren Schlüssel (und/oder Daten) entwenden könnte, wenn Sie das nächste Mal das Festplatten-Image mounten.

Es gibt verschiedene Möglichkeiten, Ihre Daten zu verschlüsseln. Zum Beispiel bietet Ubuntu Ihnen in den letzten Versionen die Möglichkeit, Ihr Home-Verzeichnis out-of-the-box zu verschlüsseln.

Im Grunde benötigen Sie für diese Form der Verschlüsselung entweder ein Festplatten-Image (d.h. eine große Datei auf der Festplatte, die üblicherweise als ‚Sparse-Image‘ bezeichnet wird) oder eine Partition/Festplatte. Bei beiden Ansätzen gibt es Vor- und Nachteile, aber es wäre vorzuziehen, die Daten auf einer separaten Festplatte zu speichern, da die Struktur logischer ist und Ihnen die Möglichkeit gibt, die Partition/Festplatte einfach auf einem separaten Server zu mounten.

In den folgenden Beispielen verwenden wir eine Ubuntu 14.04-Box, die auf unserer Cloud mit zwei Festplatten läuft: eine für das Betriebssystem (‚/dev/vda‘) und eine für die Speicherung der sensiblen Daten (‚/dev/vdb‘).

Nutzung von Cryptsetup

Wenn Sie Ubuntu nutzen, bietet cryptsetup schätzungsweise die einfache Methode für die Einstellung. Angenommen, die Festplatte, die Sie verschlüsseln möchten, lautet ‚/dev/vdb‘ (die leer sein sollte), führen Sie die folgenden Befehle aus:

$ sudo apt-get install cryptsetup
$ sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/vdb
$ sudo cryptsetup luksOpen /dev/vdb enc_disk
$ sudo mkfs.ext4 /dev/mapper/enc_disk
$ sudo mount /dev/mapper/enc_disk /mnt

Stellen Sie sicher, dass Sie diese Partition ounmounten, wenn Sie fertig sind.

Wenn Sie diese Partition das nächste Mal mounten möchten, führen Sie einfach folgende Befehle aus:

sudo cryptsetup luksOpen /dev/vdb enc_disk
sudo mount /dev/mapper/enc_disk /mnt

Nutzung von TrueCrypt

Wenn wir die jüngsten Entwicklungen um TrueCrypt einmal beiseitelassen, ist TrueCrypt immer noch ein sehr mächtiges Werkzeug für die Verschlüsselung. Sie sollten es wirklich noch benutzen, bis bewiesen ist, dass es unsicher ist (wurde TrueCrypt schon geprüft?).

Während die auf der offiziellen Website verfügbare Version keine Unterstützung mehr für das Erstellen eines Volumes bietet, hosten unsere Freunde bei TrueCrypt.ch (gehosted mit CloudSigma) immer noch eine Kopie der letzten Version 7.1a., die diesen Support bietet.

Da wir es auf einem Server betreiben, benutzen wir die kopflose Version von TrueCrypt. Die Nutzung von TrueCrypt ist ein bisschen chaotischer, da es viel mehr mögliche Einstellungen, genauer Verschlüsselungsoptionen gibt. Das ArchWiki und das TrueCrypt-Benutzerhandbuch sollten Ihnen eine gute Vorstellung vermitteln, was am besten zu Ihrem Bedarf passt.

Erstellen Sie das Volume
$ sudo truecrypt --volume-type=normal -c /dev/vdb
Verschlüsselungsalgorithmus:
 1) AES
 2) Serpent
 3) Twofish
 4) AES-Twofish
 5) AES-Twofish-Serpent
 6) Serpent-AES
 7) Serpent-Twofish-AES
 8) Twofish-Serpent
Select [1]:

Hash-Algorithmus:
 1) RIPEMD-160
 2) SHA-512
 3) Whirlpool
Select [1]:

Dateisystem:
 1) None
 2) FAT
 3) Linux Ext2
 4) Linux Ext3
 5) Linux Ext4
Select [2]: 5

Enter password:
Re-enter password:

Enter keyfile path [none]:

Please type at least 320 randomly chosen characters and then press Enter:

Done: 100.000%  Speed:   120 MB/s  Left: 0 s

The TrueCrypt volume has been successfully created.

Das war ziemlich geradeaus. Wie Sie sehen können, haben wir beschlossen, die normale AES-Verschlüsselung mit EXT4 zu verwenden. Dies ist für die meisten Zwecke ausreichend.

Mount the volume

Als nächstes mounten wir das Gerät:

$ sudo truecrypt --mount-options=nokernelcrypto  /dev/vdb /mnt
Umount the volume

Wenn Sie mit dem Laufwerk fertig sind, stellen Sie sicher, dass Sie es ordnungsgemäß unmounten, indem Sie den folgenden Befehl eingeben:

$ sudo truecrypt -d

Vollständige Festplattenverschlüsselung (FDE)

Wie bereits erwähnt, können Sie beim Einsatz einer verschlüsselten Partition oder Festplatte anfällig für bestimmte Angriffe sein. FDE löst dieses Problem, da die Passphrase beim Booten eingegeben werden muss. Somit gibt es keine Möglichkeit für einen Eindringling, Ihre Passphrase aus dem Server abzurufen (da kein Benutzerprozess zum Zeitpunkt der Eingabe der Passphrase läuft). Mit unserer Schnittstelle können Sie auch mit verschlüsseltem VNC auf Ihren Server zugreifen, um Man-in-the-Middle-Angriffe zu vermeiden.

In einer Public Cloud ist FDE eher selten, da es eine stärkere Kontrolle Ihrer VM erfordert als die meisten Public Clouds bieten. Glücklicherweise ist die Einrichtung von FDE in unserer Umgebung sowohl möglich als auch einfach.

Für die Verschlüsselung verwenden wir das in Ubuntu integrierte verschlüsselte LVM. Es gibt viele andere Optionen, aber diese ist für den Anfang wohl eine der einfachsten.

Ähnlich wie im letzten Beispiel verwenden wir Ubuntu 14.04. Allerdings verwenden wir keine der vorinstallierten Systeme, sondern installieren Ubuntu von Anfang an mit der Installationsdiskette (ja, dies ist in unserer Cloud möglich).

Sobald Sie den Server gebooted und den Installer gestartet haben, gehen Sie einfach wie gewohnt vor. Wenn Sie gefragt werden, ob Sie Home direkt verschlüsseln möchten, wählen Sie Nein und fahren Sie fort.

Wenn Sie zum folgenden Bildschirm gelangen, wählen Sie „Use entire disk and set up encrypted LVM“.

use_entire_disk_and_set_up_encrypted_lvm

Geben Sie jetzt die Passphrase ein. Sie müssen diese Passphrase jedes Mal eingeben, wenn Sie den Server ausschalten oder neu starten.

set_lvm_passphrase

Wenn Sie die Installation abgeschlossen haben und der Server zum ersten Mal erscheint, werden Sie feststellen, dass Sie die Passphrase eingeben müssen.

fde_on_first_boot

Das war‘s! Sie können jetzt sicher sein, einen Server mit voller Festplattenverschlüsselung in der Cloud zu haben.

Ein Hinweis zur Leistung

Verschlüsselung ist zwar eine hervorragende Methode, um sicherzustellen, dass Ihre Daten bei der Speicherung (at rest) sicher sind, sie hat jedoch ihren Preis. Jedes Mal, wenn Sie eine verschlüsselte Festplatte lesen oder beschreiben, gibt es Overhead. Die Größe dieses Overheads wird weitgehend durch die von Ihnen verwendete Verschlüsselung bestimmt. In TrueCrypt zum Beispiel haben Sie eine Reihe von Optionen zur Auswahl. Im Grunde liegt es an Ihnen zu bestimmen, wie sensibel die Daten sind und wie viel Overhead es Ihnen wert ist. Wenn es nur etwas ist, das Sie gelegentlich lesen und beschreiben, kann es den zusätzlichen Overhead wert sein, wenn es jedoch etwas ist, das Sie häufig lesen und beschreiben, vielleicht eher nicht.

Zusammenfassung

Wie anfangs erwähnt, ist Verschlüsselung ein sehr komplexes Thema. Dieser Beitrag soll Ihnen nur einige Hinweise geben. Wenn Sie Ihre Daten ernsthaft sichern wollen, müssen Sie sich eingehender informieren, welche Algorithmen und Werkzeuge am besten zu Ihren Anforderungen passen.

Bitte beachten Sie auch, dass Sie bei der Verschlüsselung (sowohl FDE als auch Volumes) anfälliger für Störungen in der Cloud sind. Unser Ziel ist zwar, alle Hosts jederzeit einsatzbereit zu halten, es kann jedoch passieren, dass Hosts ausfallen und VM neu gestartet werden. Wenn Sie das verschlüsselte Volume für Ihre Server-Workload verwenden (oder FDE), müssen Sie sich manuell anmelden und den Server wieder in den Arbeitszustand versetzen. Jede Verschlüsselung des Speichers sollte daher mit einer eng integrierten Überwachung verknüpft werden, um nach Unterbrechungen eine korrekte Wiederherstellung zu gewährleisten. Zwei großartige Optionen sind hier Pingdom für eine einfache Verfügbarkeitsüberwachung oder New Relic für eine erweiterte Systemüberwachung.

About Viktor Petersson

Former VP of Business Development at CloudSigma. Currently CEO at WireLoad and busy making a dent in the Digital Signage industry with Screenly. Viktor is a proud geek and loves playing with the latest technologies.

Schreibe einen Kommentar