Verschluesselung: dm-crypt/luks unter openSUSE: Unterschied zwischen den Versionen
Zeile 107: | Zeile 107: | ||
<br/> | <br/> | ||
− | + | Unter | |
+ | /dev | ||
+ | sollte dann mindestens (je nachdem wieviele Partitionen auf dem Stick existieren), das Device | ||
+ | /dev/usbcrypt | ||
+ | auftauchen unter dem der Stick dann - unabhängig von dem echten Device, dass z.B. bei '''fdisk -l''' angezeigt wird - angesprochen werden kann.<br/><br/> | ||
+ | == USB-Stick partitionieren/formatieren == | ||
+ | Zum Partitionieren bieten sich diverse Programme an:<br/> | ||
+ | Konsole:<br/> | ||
+ | <pre>fdisk | ||
+ | cfdisk | ||
+ | sfdisk | ||
+ | parted</pre> | ||
+ | GUI:<br/> | ||
+ | <pre>GParted (empfohlen) | ||
+ | QtParted</pre> | ||
+ | Es wird mindestens eine Partition benötigt, auf der später die Schlüssel (Keys) gespeichert werden.<br/><br/> | ||
+ | Im folgenden Beispiel werden auf einem <u>'''leeren'''</u> USB-Stick zwei neue Partitionen angelegt.<br/> | ||
+ | Auf der ersten Partition (50MB) wird später der Schlüssel für die /home-Partition gespeichert - die zweite kann für Daten genutzt werden (unverschlüsselt).<br/> | ||
+ | {{Box Achtung||Mit der folgenden Eingabe werden alle Daten auf dem Stick gelöscht!}} | ||
+ | {{Box Beispiel|Anlegen von zwei Partitionen auf einem leeren/neuen USB-Stick mitt sfdisk|<pre># sfdisk -uM /dev/usbcrypt << "EOF" | ||
+ | |||
+ | > 0,50,L,+ | ||
+ | |||
+ | > ,,L | ||
+ | |||
+ | > EOF</pre> | ||
+ | }} | ||
Version vom 29. April 2007, 09:19 Uhr
Inhaltsverzeichnis
Verschlüsselung: dm-crypt/luks unter openSUSE
Verschlüsselung einer /home- und swap-Partitionen mit cryptsetup (mit LUKS-Erweiterung), speichern des Keys auf einem (ebenfalls verschlüsselten) USB-Stick und automatische einbinden während des Bootvorgangs.
Hinweis: |
Dieser Artikel beschreibt die Einrichtung einer verschlüsselten Partition unter openSUSE. |
Allgemeines
Voraussetzungen
Installation von cryptsetup (mit LUKS-Erweiterung)
Unter openSUSE 10.2 ist das Programm cryptsetup im Paket
util-linux-crypt
enthalten.
Bis einschließlich SuSE Linux 10.1 gibt es das Paket
cryptsetup-luks
bei Packman.
Unterstützung von dm-crypt und AES im Kernel
Um den Device-Mapper dm-crypt und AES-Verschlüsselung zu nutzen müssen folgende Optionen im Kernel aktiviert sein:
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Device Drivers --> RAID and LVM Support --> [*] Multiple devices driver support (RAID and LVM) <*> Device mapper support <*> Crypt target support Cryptographic Options --> <*> AES cipher algorithims (i586) <*> SHA256 digest algorithm
Diese Optionen sind im SUSE-Standardkernel bereits aktiviert.
Nur wer einen eigenen Kernel verwendet muss diese Optionen berücksichtigen.
Kontrollieren lassen sich diese Einstellungen mit:
zcat /proc/config.gz | egrep 'DM_CRYPT|_AES|SHA256|CRYPTO='
oder
egrep 'DM_CRYPT|_AES|SHA256|CRYPTO=' /boot/config-*-default
Beispiel: /proc/config.gz
|
# zcat /proc/config.gz | egrep 'DM_CRYPT|_AES|SHA256|CRYPTO=' CONFIG_DM_CRYPT=m CONFIG_CRYPTO=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_AES_X86_64=m |
Einbinden des USB-Sticks
Um den USB-Stick immer über dasselbe Device ansprechen zu können, muss eine entsprechende UDEV-Regel erstellt, werden,
die automatisch einen Symlink auf den Stick (und die jeweiligen Partitionen) anlegt.
Zuerst ermittelt man die Seriennummer des USB-Sticks
(anhand dieser Nummer kann das Device später eindeutig zugeordnet werden):
udevinfo -a -p `udevinfo -q path -n /dev/<USB-Device>` | grep ATTRS{serial}
Beispiel: USB-Device: /dev/sdc
|
# udevinfo -a -p `udevinfo -q path -n /dev/sdc` | grep ATTRS{serial} ATTRS{serial}=="076A1A939BC2" ATTRS{serial}=="0000:00:02.1" |
Welche Seriennummer nun zum USB-Stick gehört ermittelt man mit:
udevinfo -a -p `udevinfo -q path -n /dev/<USB-Device>` | grep ATTRS{product}
Beispiel: USB-Device: /dev/sdc
|
# udevinfo -a -p `udevinfo -q path -n /dev/sdc` | grep ATTRS{product} ATTRS{product}=="USB DISK 28X" ATTRS{product}=="USB2.0 Hub" ATTRS{product}=="EHCI Host Controller" In diesem Fall gehört also die erste Seriennummer zum USB-Stick. ATTRS{serial}=="076A1A939BC2" |
Anschließend eine UDEV-Regel erstellen:
Mit einem beliebigen Editor die Datei
/etc/udev/rules.d/01-usb-crypto.rules
mit dem Inhalt
# udev-rule for encrypted usb-pen SUBSYSTEMS=="usb", ATTRS{serial}=="<Seriennummer>", KERNEL=="sd*", NAME="%k", SYMLINK+="<Device-Name>%n"
erstellen.
Wobei
ATTRS{serial}=="<Seriennummer>"
natürlich durch die Seriennummer des eigenen USB-Sticks ersetzt werden muss
und mit
SYMLINK+="<Device-Name>%n"
festgelegt wird unter welchem Devicenamen der Stick später verwendet wird.
Beispiel: Seriennummer: 076A1A939BC2, USB-Device: /dev/usbcrypt
|
# udev-rule for encrypted usb-pen SUBSYSTEMS=="usb", ATTRS{serial}=="076A1A939BC2", KERNEL=="sd*", NAME="%k", SYMLINK+="usbcrypt%n" Der komplette Stick kann in diesem Fall mit /dev/usbcrypt die erste Partition mit /dev/usbcrypt1 die zweite Partition mit /dev/usbcrypt2 usw. angesprochen werden. |
Anschließend die UDEV-Regeln mit
udevcontrol reload_rules
neu laden und den USB-Stick einstecken.
Unter
/dev
sollte dann mindestens (je nachdem wieviele Partitionen auf dem Stick existieren), das Device
/dev/usbcrypt
auftauchen unter dem der Stick dann - unabhängig von dem echten Device, dass z.B. bei fdisk -l angezeigt wird - angesprochen werden kann.
USB-Stick partitionieren/formatieren
Zum Partitionieren bieten sich diverse Programme an:
Konsole:
fdisk cfdisk sfdisk parted
GUI:
GParted (empfohlen) QtParted
Es wird mindestens eine Partition benötigt, auf der später die Schlüssel (Keys) gespeichert werden.
Im folgenden Beispiel werden auf einem leeren USB-Stick zwei neue Partitionen angelegt.
Auf der ersten Partition (50MB) wird später der Schlüssel für die /home-Partition gespeichert - die zweite kann für Daten genutzt werden (unverschlüsselt).
Achtung: |
Mit der folgenden Eingabe werden alle Daten auf dem Stick gelöscht! |
Beispiel: Anlegen von zwei Partitionen auf einem leeren/neuen USB-Stick mitt sfdisk
|
# sfdisk -uM /dev/usbcrypt << "EOF" > 0,50,L,+ > ,,L > EOF |
Links
http://www.saout.de/misc/dm-crypt
http://luks.endorphin.org/dm-crypt