[[Vorlage(Getestet, natty, lucid, hardy)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Partitionierung:] [:Editor#Root-Rechte-Bearbeiten-von-Systemdateien: Einen Editor mit Root-Rechten öffnen] [:chmod: Zugriffsrechte verändern] [:Skripte/Gerät_mit_Pseudozufallszahlen_überschreiben:Gerät mit Pseudozufallszahlen überschreiben] }}} {{{#!vorlage Warnung Ohne ein sicheres Kennwort nutzt die stärkste Verschlüsselung nichts! Wie man Passwörter am besten wählt, steht hier: [:Sicherheits_1x1:Sicherheits 1x1] }}} {{{#!vorlage Hinweis Alle folgenden Befehle benötigen [:sudo: Root-Rechte]. Man sollte also entweder immer '''sudo''' vor das betreffende Kommando setzen oder mit '''sudo -s''' Root-Status erlangen! }}} [[Inhaltsverzeichnis(3)]] [[Bild(./logo.png, align=left)]] Diese Anleitung geht auf die Erstellung und Wartung von verschlüsselten Datenträgern mittels LUKS - [http://code.google.com/p/cryptsetup/ Linux Unified Key Setup] {en} - ein. Es handelt sich um das Standardverfahren zur Festplattenverschlüsselung unter Linux. Dabei werden alle nötigen Informationen zum Öffnen einer verschlüsselten Partition oder Container-Datei in dieser gespeichert. Das erlaubt es auch [:HAL:], beim Anschließen eines externen Datenträgers mit verschlüsselten Partitionen diese nach Passwortabfrage automatisch einzubinden. Es wird hier nur auf die Verwendung von LUKS eingegangen. Für eine Schritt für Schritt-Anleitung zum Verschlüsseln des Systems bitte die Artikel [:Daten_verschlüsseln:] und [:System_verschlüsseln:] hinzuziehen. = Vorbereitung = Zuerst wird dieses Paket installiert [1]. {{{#!vorlage Paketinstallation cryptsetup, main }}} Anschließend wird das benötigte Kernelmodul mittels des folgenden Befehls [3] geladen: {{{#!vorlage Befehl modprobe dm-crypt }}} Damit sollte die Vorbereitung abgeschlossen sein. Zukünftig werden alle benötigen Module automatisch geladen. = Verwendung = Hier wird ein Auszug der wichtigsten LUKS-Funktionen dargestellt. Für weitere Informationen sei auf die entsprechenden Dokumentationen wie u.a. die [:man:Manpage] von cryptsetup verwiesen. == Erstellen == {{{#!vorlage Warnung Sollte nicht das [:System verschlüsseln:gesamte System verschlüsselt] werden, besteht die Gefahr, das persönliche Daten in unverschlüsselten Bereichen gespeichert werden. Um dieses Risiko zu minimieren sollte der Artikel [:Vorbereitung Teilverschlüsselung:Vorbereitung zur Teilverschlüsselung] durchgearbeitet werden. Ohne diese Maßnahmen ist die Verschlüsselung möglicherweise wirkungslos. Außerdem ist aus Sicherheitsgründen empfehlenswert die Partition ein mal mit Zufallszahlen zu überschreiben, vor allen Dingen, wenn auf dieser vorher unverschlüsselte Daten gespeichert waren[7]. Ansonsten sind unter Umständen viele Dateien nach dem Verschlüsseln noch auslesbar. }}} Zum Erstellen eines LUKS-Geräts wird eine zu überschreibende Partition erzeugt oder ausgewählt [4]. Daraufhin wird dieser Befehl ausgeführt, wobei `` durch den entsprechenden Namen ersetzt werden muss, z.B '''/dev/sde9''': {{{#!vorlage Warnung Alle bisherigen Daten auf dem betreffenden Gerät gehen verloren! }}} {{{#!vorlage Befehl cryptsetup -c aes-xts-plain -s 512 luksFormat }}} {{{#!vorlage Experten [wikipedia_en:XTS:XTS] unterstützt Verwaltungsschlüssel von 128 oder 256 Bit. 512 heißt in dem Fall, dass sowohl [wikipedia:Advanced_Encryption_Standard:AES] als auch XTS die maximale Schlüssellänge von 256 Bit verwenden. Um eine höhere Lese-/Schreibgeschwindigkeit zu erzielen, kann auch stattdessen 256 eingesetzt werden - das entspricht einer 128 Bit Verschlüsselung. Dies ist z.B. für langsamere Systeme empfehlenswert. Alternativ ist es möglich, den Verschlüsselungsalgorithmus [wikipedia:Twofish:Twofish] zu verwenden. Dazu wird '''aes-xts-plain''' durch '''twofish-xts-plain''' ersetzt. }}} == Öffnen == {{{#!vorlage Hinweis Die verschlüsselte Partition kann erst zum Speichern von Daten verwendet werden, wenn sie mit einem [:Dateisystem:] [:Formatieren:formatiert] wurde! }}} Seit Hardy können bereits formatierte LUKS-Geräte auch mit [:Nautilus:] oder [:Dolphin:] eingebunden werden, wenn die oben erwähnte Vorbereitung durchgeführt wurde. Durch Klicken auf den verschlüsselten Datenträger und eine anschließenden Passworteingabe wird das geöffnete LUKS-Gerät eingehängt. Um ein LUKS-Gerät über die Konsole zu verwenden oder es z.B. für die Formatierung vorzubereiten, muss es erstmal wie im Folgenden beschrieben geöffnet werden, wobei der Name variabel ist, aber keine Sonder- und Leerzeichen enthalten sollte. Nach Eingabe des Passwortes wird die Partition unverschlüsselt auf '''/dev/mapper/''' abgebildet und kann mit dieser Bezeichnung beispielsweise zum Formatieren oder [:mount:Ein-/Aushängen] angesprochen werden. (Hinweis: Die Formatierung mit GParted kann zu Problemen führen) {{{#!vorlage Befehl cryptsetup luksOpen }}} === Beim Start mit Passwortabfrage === Zum Laden eines LUKS-Geräts beim Systemstart wird diese Zeile in angepasster Form an die Datei '''/etc/crypttab''' angehängt [5], wobei `` durch die entsprechende [:UUID:] der Partition ersetzt wird. Daraufhin wird bei jedem Startvorgang nach dem Passwort gefragt. {{{ UUID= none luks }}} Alternativ ist es anstelle der UUID möglich, aber nicht empfehlenswert, die entsprechende Gerätebezeichnung zu verwenden. `UUID=` würde dann durch den Gerätenamen ersetzt. Anschließend müssen noch mit folgendem Befehl die Startdateien aktualisiert werden: {{{#!vorlage Befehl update-initramfs -u -k all }}} === Beim Start ohne Passwortabfrage === Es gibt drei mehr oder minder geeignete Varianten zum Öffnen von LUKS-Geräten beim Start ohne extra Passworteingabe. ==== LVM ==== Es ist möglich eine große Partition mit LUKS zu verschlüsseln und in dieser ein [:Logical_Volume_Manager: LVM]-Gerät anzulegen. In diesem können beliebig viele logische Partitionen erstellt werden, die alle mittels einer Passworteingabe freigeschaltet werden. Der Einrichtungsvorgang bei einer Neuinstallation ist im Artikel [:System_verschlüsseln:] beschrieben. ==== Schlüsselableitung ==== Seit Hardy gibt es das so genannte Decrypted-Derived-Script, das den Schlüssel aus einem bereits geöffneten LUKS-Gerät berechnen kann. Mit diesem können nach der Freischaltung des Ursprungsgeräts beliebig viele geöffnet werden. Auf die generelle Verwendung geht der Artikel [:LUKS/Schlüsselableitung:] und auf den Einrichtungsvorgang bei einer Neuinstallation [:System_verschlüsseln/Schlüsselableitung:] ein. ==== Schlüsseldatei ==== Des Weiteren ist es möglich, LUKS-Geräte mit einer Schlüsseldatei zu öffnen. Da diese jedoch das Passwort im Klartext enthält, wird von dieser Variante abgeraten. Auf die Verwendung geht der Artikel [:LUKS/Schlüsseldatei:] ein. === Bei der Anmeldung === Außerdem ist es möglich mittels eines extra [wikipedia:Pluggable_Authentication_Modules: PAM]-Plugins ein LUKS-Gerät automatisch beim Login einzuhängen, wenn einer der LUKS-Schlüssel identisch mit dem Anmeldepasswort ist. Die Anleitung dazu würde den Rahmen dieses Artikels sprengen, es ist aber am Beispiel der Home-Partition [:Daten_verschlüsseln#luks:hier] beschrieben. === Nach der Anmeldung === Wie schon oben unter ''"Öffnen"'' erwähnt können seit Hardy LUKS-Geräte unter [:GNOME:Gnome] und [:KDE:] eingebunden werden. Das Passwort kann dabei im Falle von Gnome im [:GNOME_Schlüsselbund: Schlüsselbund] hinterlegt werden, so dass LUKS-Geräte ohne extra Abfrage eingehängt werden können. Mit KDE ist dies nicht möglich (Stand Ubuntu 9.10 - [https://bugs.kde.org/show_bug.cgi?id=186783 Bug 186783] {en}). == Schließen == Sobald das enthaltene Dateisystem nicht mehr eingehängt ist oder anderweitig verwendet wird, kann das LUKS-Gerät wie folgt geschlossen werden: {{{#!vorlage Befehl cryptsetup luksClose }}} == Passwörter verwalten == LUKS bietet insgesamt acht Speicherplätze (genannt "Slot" 0-7) für änderbare Passwörter, die jeweils den Zugriff auf die Daten erlauben. Die belegten Speicherplätze und Headerinformationen lassen sich mittels dieses Befehl überprüfen: {{{#!vorlage Befehl cryptsetup luksDump }}} === Passwort hinzufügen === Zuerst das alte Passwort eingeben, dann das neue. {{{#!vorlage Befehl cryptsetup luksAddKey }}} === Passwort löschen === Ein bekanntes Passwort kann mit folgendem Befehl entfernt werden: {{{#!vorlage Befehl cryptsetup luksRemoveKey }}} Will man hingegen einen bestimmten Slot löschen, kann man dies mit folgendem Befehl tun: {{{#!vorlage Befehl cryptsetup luksKillSlot }}} Alternativ muss in Hardy wie folgt ein Slot entfernt werden: {{{#!vorlage Befehl cryptsetup luksDelKey }}} === Passwort ändern === Zum Ändern eines Passworts wird zuerst das neue Passwort hinzugefügt und anschließend das alte entfernt. == Header sichern == Um Informationen über die Partitionierung innerhalb des Containers und der Keyslots zu sichern, empfiehlt es sich ein Backup vom LUKS-Header (außerhalb des verschlüsselten Containers) anzulegen. Wird dieses Backup entwendet, ist ein Zugriff auf den verschlüsselten Container trotzdem nur mit Schlüsselinformationen möglich. {{{#!vorlage Befehl cryptsetup luksHeaderBackup --header-backup-file }}} Zur Wiederherstellung wird folgender Befehl verwendet: {{{#!vorlage Befehl cryptsetup luksHeaderRestore --header-backup-file }}} {{{#!vorlage Hinweis Der LUKS-Container kann nach einer Wiederherstellung des Headers nur mit den zum Zeitpunkt der Sicherung aktiven Schlüsseln geöffnet werden. }}} == GUI == Mit dem Programm [http://gdecrypt.pentabarf.de/ GDecrypt] {en} können LUKS-Geräte erstellt werden. Dazu wird ab Hardy das folgende Paket installiert [1]: {{{#!vorlage Paketinstallation gdecrypt, universe[2] }}} = Links = * [http://code.google.com/p/cryptsetup/ LUKS-Homepage] {en} * [http://de.gentoo-wiki.com/wiki/DM-Crypt#LUKS gentoo-wiki.com] {de} * [http://www.fedorawiki.de/index.php?title=Verschl%C3%BCsselte_Festplatten fedorawiki.de] {de} * [wikipedia:Linux_Unified_Key_Setup:Wikipedia über LUKS und dm-crypt] #tag: System, Sicherheit, Installation