![]() |
Kleines Verschlüsselungs-HowTo für Linux
Dieses HowTo zeigt die Verschlüsselung eines GNU/Linux unter Verwendung von dm-crypt (implementiert im Paket cryptsetup), LUKS und LVM.
Ich habe hier auf lange Erklärungen der Grundlagen verzichtet, wer mehr erfahren möchte dem seien die Dokumentationen zu cryptsetup/dm-crypt, dem Devicemapper des Linuxkernels, LUKS und LVM empfohlen. Anmerkung: Die installer der meisten großen Distributionen wie CentOS,RHEL,Fedora,Debian,*buntu bieten Verschlüsselung schon während der Installation an. Namen müssen ggf. an Euere Partitionslayout angepasst werden. Auch wenn ich den Inhalt gründlich geprüft habe, müsst ihr selber mitdenken und für Backups sorgen, an Datenverlusten bin ich nicht schuld! Szenarian Verschlüsselter „Container“ Einzelne verschlüsselte Partition Nachträgliches Verschlüsseln des Betriebssystems Verschlüsselter Container Dazu muss der Container zunächst erstellt werden und loopback gemountet werden Erzeugen des Containers Code:
dd if=/dev/urandom of=container bs=1M count=10 Loopback mounten (Mit Loopback können, vereinfacht, Dateien als Laufwerk gemountet werden) Code:
losetup /dev/loop0 container Code:
cryptsetup luksFormat /dev/loop0 Code:
mkfs.ext3 /dev/mapper/test Code:
mount /dev/mapper/test /mnt/test/ Code:
losetup /dev/loop/0 test Einzelne Verschlüsselte Partition: !Achtung! Hier geht es um das Verschlüsseln einer Partition die nicht zum Booten des Betriebssystems gebraucht wird, beispielsweise einer externen Festplatte o.ä. Da beim Verschlüsseln alle Daten auf der Partition verloren gehen muss vorher ein Backup angelegt werden. Überschreiben der Partition mit zufälligen Daten: Code:
shred -n1 -v /dev/sdb1 Code:
cryptsetup luksFormat /dev/sdb1 Code:
mkfs.ext3 /dev/mapper/test Code:
mount /dev/mapper/test /mn/test Vorraussetzungen: Auf eurem System müssen die Pakete lvm2 und cryptsetup installiert sein. Außerdem benötigt ihr eine LiveCD. Das Vorgehen um ein System nachträglich zu verschlüsseln ist zusammengefasst folgendes:
Backup Zunächst legt ihr euch ein Backup eures Systems an. Überprüft euer Backup,denn ab jetzt werden alle Daten gelöscht. Verwendet dazu am besten die LiveCD und Rsync. Bootet von der Livecd, öffnet einen Terminal: Partition mit Zufallsdaten füllen Code:
shred -n1 -v /dev/sdb Code:
fdisk /dev/sdb Verschlüsseltes LUKS Medium erzeugen und unter dem Namen „sdb2crypto“ öffnen: Code:
cryptsetup luksFormat /dev/sdb2 Konfiguration wie man sie meistens nach der Verschlüsselung während der Installation vorfindet. Die zweite Möglichkeit wäre die Einrichtung der Partitionen ohne LVM. Möglichkeit 1: LVM Setup auf der verschlüsselten Partition erzeugen: Code:
pvcreate /dev/mapper/sdb2crypto vgdisplay crypto | grep „Free PE“ erhaltet. Dateisysteme erzeugen: Code:
mkswap /dev/mapper/crypto-swap Mountpoint erstellen: Code:
mkdir /mnt/restore Code:
mount /dev/mapper/cryptop-root /mnt/restore Code:
mkdir /mnt/restore/boot Code:
rsync -az <Ort_eures_Backups> /mnt/restore Code:
mount -t proc none /mnt/restore/proc Code:
nano /etc/crypttab Code:
/dev/mapper/crypto-root / ext3 errors=remount-ro 0 1 Code:
nano /etc/initramfs-tools/conf.d/resume Code:
RESUME=/dev/mapper/crypto-swap Code:
nano /boot/grub/menu.lst Als nächstes muss Grub zum MBR hinzugefügt werden und initrds wiedererstellt werden. /etc/mtab neu erstellen: Code:
cat /proc/mounts > /etc/mtab Code:
nano /etc/mtab Code:
/dev/mapper/crypto-root / ext3 rw,errors=continue,data=ordered 0 0 Code:
grub-install /dev/sdb Code:
update-initramfs -k all -u Code:
exit Nach einem Reboot sollte euch LUKS nach einem Passwort für die verschlüsselte Partition fragen. Anmerkung: Sol l damit ein Server auf dem kein physischer Zugriff besteht muss noch ssh so konfiguriert werden, dass der Key über SSH übertragen werden kann. Möglichkeit 2: Die zweite Möglichkeit wäre die Konfiguration der Partitionen ohne LVM Vorraussetzungen sind die Pakete cryptsetup und initramfs-tools. In /etc/crypttab das mapping zwischen der Partition und dem „Verschlüsselungsinterface“ eintragen Code:
echo "root /dev/sdb2 none luks" >>/etc/crypttab Code:
sed -i 's#/dev/sdb2#/dev/mapper/root#' /boot/grub/menu.lst Code:
update-initramfs -k all -u Daten Löschen und mit Zufallsdaten füllen: Code:
shred -n1 -v /dev/sdb2 Code:
cryptsetup luksFormat /dev/sdb2 Code:
mkfs.ext3 /dev/mapper/root Und jetzt viel Spaß beim Verschlüsseln |
ext3 ?
Sorry ext3 ist recht nerfig wenn Du oder man grosse Platten betreibt.
ext4 ist heute normal, xfs, oder reiserfs wird immer unterschätzt. Es geht um den schnellsten selbsttest beim boot. Das hätte ich bei ext3 schon lange erwartet, da es reiserfs es schon einige jahre vorher konnte. (richtiges fs-journaling) Bei ext3 verliere ich mehr daten als bei ext4. Da trett ich wohl den schlimmsten fs-war an now ;)) Aber danke für das Doku, ist sonst geill. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.