Festplatten verschlüsseln mit FreeBSD

melpomen, 123RF

Verschlusssache

Wie die jüngsten Ereignisse rund um die NSA-Affäre gezeigt haben, wird es immer wichtiger, seine Daten vor fremden Zugriffen zu schützen. FreeBSD bietet mehrere Möglichkeiten, den Schutz durch Verschlüsselung zu gewährleisten. Mit GELI und Pefs werden in diesem Artikel zwei Konzepte in Theorie und Praxis näher beleuchtet.
Termine planen, Nachrichten austauschen, Kundendaten verwalten, am besten auch vom Smartphone aus. Das alles und noch viel mehr sollen moderne ... (mehr)

Für einen Notebook-Besitzer ist es wohl eine Horrorvorstellung, sein Gerät im Zug, Flugzeug oder Bibliothek zu vergessen. Nicht nur das Notebook wäre wohl für immer verschwunden. Meist sind auch wichtige persönliche Daten, Geschäftsberichte und das geheime Tagebuch gespeichert, die nicht für fremde Augen bestimmt sind. Es bieten sich viele Möglichkeiten an, solche Informationen zu schützen oder den Zugriff darauf auch für Profis erheblich zu erschweren. Die Zauberformeln sind die Verschlüsselung von Festplatten (Disk Encryption) und die nicht minder wirksame Alternative der Dateiverschlüsselung (File Encryption).

Mit der Einführung des GEOM-Frameworks in FreeBSD 5 wurde eine Möglichkeit geschaffen, Plugins in den Zugriffspfad für Datenträger einzuhängen. Dazu werden die Kommunikationswege zwischen Dateisystem durch GEOM geleitet. Innerhalb von GEOM wird der Datenstrom an Module verteilt, bevor er zu den Lowlevel-Funktionen (Gerätetreiber) gelangt. Hier setzt das Modul GELI zur Verschlüsselung von Festplatten an, wie es in Abbildung 1 zu sehen ist.

Abbildung 1: Kommunikation zwischen Dateisystem, GELI und Hardware.

Eingestöpselt

Das Plugin GELI ist ein Modul, mit dessen Hilfe sich ganze Datenträger, Slices oder Partitionen unabhängig vom verwendeten Dateisystem verschlüsseln lassen. Da GELI unterhalb der Dateisystemschicht angesiedelt ist, arbeitet es vollkommen transparent, sodass ein Datenträger, der mit GELI behandelt wurde, sich wie gewohnt verhält. Der einzige Unterschied liegt darin, dass die Daten eben verschlüsselt in den einzelnen Sektoren abgelegt werden.

Wenn das System über kryptografische Hardware verfügt, wird diese vom Crypto-Framework automatisch verwendet. Solche Kryptografie-Prozessoren gibt es auch für Notebooks, die über einen Mini-PCI-Steckplatz verfügen. Allerdings gilt es hier zu beachten, dass das BIOS des Notebooks nicht unbedingt solche Karten akzeptiert (IBM/Lenovo Thinkpads). Kryptografie-Prozessoren übernehmen die Berechnungen zur Verschlüsselung der Daten, was den Mikroprozessor des Rechners je nach Auswahl des Algorithmus erheblich entlastet. Damit diese Merkmale genutzt werden können, wurde mit OpenBSD 2.7 das genannte Crypto-Framework eingeführt, das später auch in FreeBSD zum Einsatz gelangte. GELI nutzt dieses Framework intensiv beim Einsatz der derzeit implementierten Crypto-Algorithmen AES, Blowfish und TripleDES (3DES).

Es lassen sich nicht nur Home-Partitionen verschlüsseln, sondern auch die komplette Root-Partition. Allerdings muss dann beim Systemstart eine Passphrase eingegeben werden, damit ein Zugriff auf die verschlüsselte Root-Partition möglich ist. Der große Vorteil ist dann, dass nur derjenige das Betriebssystem booten kann, der auch die gültige Passphrase besitzt. Auch wenn die Festplatte in einen anderen Rechner eingebaut wird, bleibt die Abfrage des Passworts immer erhalten. Damit ist eine solche Festplatte für den neugierigen Mitbürger oder Staatsdiener wertlos.

Durch seine einfache Sektor-zu-Sektor-Verschlüsselung erreicht GELI sehr hohe Geschwindigkeit und Sicherheit beim Verarbeiten der Informationen. Viele andere Systeme zur Verschlüsselung von Festplatten auf Softwarebasis verwenden temporäre Dateien. Dadurch wird nicht nur der Ablauf erheblich gebremst, sondern es leidet unter Umständen auch die Datensicherheit und Datenintegrität. Dies macht sich spätestens dann bemerkbar, wenn der Rechner abstürzt. Man darf nicht vergessen, dass temporäre Dateien immer zum Hacken eines Systems einladen! Bei der Sektor-zu-Sektor-Verschlüsselung werden keine temporären Dateien benötigt, weil die Dateien während des Schreibvorgangs verschlüsselt beziehungsweise beim Lesen entschlüsselt werden. Das macht es extrem schwierig, die Daten solcher Festplatten zu extrahieren. Ein anderer Vorteil dieser Verschlüsselungstechnik ist, dass es fast unmöglich ist, ganze Dateien zu rekonstruieren, da eine Struktur nicht mehr erkennbar ist.

Backup-Schlüssel

Der Einsatz von zwei voneinander unabhängigen Schlüsseln ist in GELI realisiert. So lassen etwa ein privater Schlüssel und ein Unternehmensschlüssel generieren. Das ist beispielsweise für Notebooks von Außendienstmitarbeitern eine interessante Option. Der Benutzer bekommt einen Schlüssel und der EDV-Service der Firma hat ebenfalls einen Schlüssel, der mit dem erstgenannten nicht identisch ist. Damit erhält der EDV-Service im Falle eines Sicherheitsupdates ebenfalls Zugriff auf die Festplatte, auch wenn ein Benutzer seinen Schlüssel versehentlich zerstört hat. Damit kann er über seinen zuvor gesicherten Masterkey wieder auf seine Daten zugreifen.

GELI bietet eine Option, Platten mit einem zufälligen Einmalschlüssel einzusetzen. Dadurch lassen sich beispielsweise Swappartitionen und temporäre Dateisysteme verschlüsseln. Daten, die in einer Swap-Partition unverschlüsselt abgelegt sind, sind für Hacker ein wahres Eldorado. Schlampig programmierte Software, die Passwörter im Klartext im Arbeitsspeicher temporär ablegt, wird dadurch angreifbar. Wenn aber die Swap-Partition verschlüsselt ist, sind die Chancen sehr gering, etwas zu finden. Die Verwendung eines Einmalschlüssels ist nützlich, weil bei einem Neustart des Systems die in dieser Partition enthaltenen Informationen nicht mehr lesbar sind. Die Funktionsweise von GELI ist sehr einfach und anhand von Abbildung 2 recht schnell erläutert.

Abbildung 2: Funktionsweise von GELI.

Während der Initialisierungsphase erzeugt GELI einen neuen Gerätetreiber und teilt dies dem Device-Driver-Daemon »devd« mit. Er übernimmt unter FreeBSD die Verwaltung der Gerätetreiber und ist somit automatisch involviert. Der Name des neuen Geräts setzt sich aus dem Treibernamen und der Endung ».eli« zusammen. Nachdem die Partition oder das Slice bei GELI angemeldet sind, findet die Kommunikation mit dem Datenträger nur noch über den von GELI erzeugten Gerätetreiber statt. Beim Aushängen und Abmelden der Partition bekommt der Device-Driver-Daemon die Anweisung, den von GELI erzeugten Treiber wieder zu entfernen.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023