Linux – e2fsck (fsck.ext3) – verschlüsseltes Device (loop-aes)

Gestern ist mir beim Mounten meines Raids folgende Warnung in der /var/log/messages meines Arch Linux Servers aufgefallen:

EXT3-fs warning: maximal mount count reached, running e2fsck is recommended

Das Device /dev/md0 ist mit Loop-AES verschlüsselt.

Um das Filesystem mit e2fsck (fsck.ext3) zu überprüfen muss das Device entschlüsselt sein aber nicht gemountet. (ACHTUNG! Niemals e2fsck auf eine eingebundene Partition anwenden!)

Um unser Journaling-Dateisystem, welches mit Loop-AES verschlüsselt ist, zu überprüfen, gehen wir wie folgt vor:

Dateisystem aushängen

umount /media/raid

Device entschlüsseln, ohne es einzuhängen

losetup -e AES256 /dev/loop0 /dev/md0

Dateisystem überprüfen, auch wenn das Dateisystem sauber erscheint

e2fsck -f /dev/loop0

Device wieder verschlüsseln bzw. trennen

losetup -d /dev/loop0

Jetzt können wir unser verschlüsseltes Dateisystem wieder ganz normal, ohne das in der /var/log/messages die Warnung erscheint, mounten.

Ubuntu/Debian – Kernel: 2.6.32.3 – Loop-AES selber kompilieren

Nach meinem Kernelupdate auf Version 2.6.32.3 wollte ich ganz normal, wie in der alten HowTo beschrieben, loop-AES kompilieren. Jedoch lief bereits das Kompilieren von util-linux-2.12r auf Fehler.

cc -c -O2 -fomit-frame-pointer -I../lib -Wall -Wmissing-prototypes -Wstrict-prototypes -DNCH=1   -D_FILE_OFFSET_BITS=64 -DSBINDIR=\"/sbin\" -DUSRSBINDIR=\"/usr/sbin\" -DLOGDIR=\"/var/log\" -DVARPATH=\"/var\" -DLOCALEDIR=\"/usr/share/locale\" -O2 fsck.cramfs.c -o fsck.cramfs.o
fsck.cramfs.c:79:22: error: asm/page.h: No such file or directory
fsck.cramfs.c: In function ‘romfs_read’:
fsck.cramfs.c:144: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result
fsck.cramfs.c: In function ‘do_symlink’:
fsck.cramfs.c:274: warning: ignoring return value of ‘symlink’, declared with attribute warn_unused_result
fsck.cramfs.c: In function ‘do_uncompress’:
fsck.cramfs.c:361: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result
fsck.cramfs.c: In function ‘main’:
fsck.cramfs.c:532: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result
make[1]: *** [fsck.cramfs.o] Fehler 1
make[1]: Verlasse Verzeichnis '/usr/src/util-linux-2.12r/disk-utils'
make: *** [all] Fehler 1

Um dieses Problem schnellstmöglich zu umgehen habe ich mich für die util-linux Alternative util-linux-ng entschieden. Kurz und knapp nochmal die veränderte HowTo: Ubuntu/Debian – Kernel: 2.6.32.3 – Loop-AES selber kompilieren weiterlesen

Ubuntu/Debian – Loop-AES selber kompilieren

In einem älteren Artikel haben wir uns die veraltete loop-aes-source aus dem Debian-Repository beschafft. Diesmal werden wir uns die aktuellste Source vom Entwickler direkt holen und diese auf unserem Debian Lenny selbst kompilieren.

UPDATE: …funktioniert auch mit Ubuntu!

ACHTUNG: Wichtig ist das, dass Modul loop vorhanden ist. Bei manchen Distributionen ist loop direkt im Kernel kompiliert (CONFIG_BLK_DEV_LOOP=y) oder garnicht (CONFIG_BLK_DEV_LOOP=n), es muss aber als Modul vorhanden sein (CONFIG_BLK_DEV_LOOP=m) damit loop-AES dieses anpassen kann. Zum Kernel kompilieren kann mein Artikel oder die Ubuntuusers Wiki zu Rat gezogen werden.

Zuerst installieren wir uns ein wenig Kernelzubehör.

aptitude install linux-headers-`uname -r` make gcc bzip2

Jetzt holen wir uns die Source von util-linux und loop-AES. Ubuntu/Debian – Loop-AES selber kompilieren weiterlesen

Ubuntu/Debian – Loop-AES einrichten

linux happytux - Ubuntu/Debian - Loop-AES einrichtenEigentlich wollte ich euch einen Artikel über die Erstellung eines Software-RAID’s unter Debian schreiben, aber das wäre ein sinnloses Unterfangen gewesen. Dem Wiki-Eintrag bei ubuntuusers.de gibt es nämlich nichts mehr hinzuzufügen. Daher habe ich mich entschlossen euch „Loop-AES“ etwas näher zu bringen, die AES-Verschlüssung sollte jedem von Euch ein Begriff sein. Was aber macht Loop-AES? Loop-AES erzeugt ein neues „loop“-Device, was euch beim ISO-Image mounten unter Linux schon ein Begriff sein könnte. Dieses Loop-Device wird zwischen dem eigentlichen Device und dem Mountpunkt gehangen.

losetup -a
/dev/loop0: [000d]:3313 (/dev/md0) encryption=AES256
grep loop /etc/fstab
/dev/md0        /media/fooooo   ext3    defaults,loop=/dev/loop0,encryption=AES256,noauto      0       0

Das Loop-Device verschlüsselt die Daten mit AES256 bevor diese auf das eigentliche Device geschrieben werden, je nach Einstellungen natürlich auch mit einer anderen Bit-Zahl. Loop-AES kann nicht nur Block-Devices verschlüsseln sondern auch Container die zum Beispiel mit „dd“ erstellt werden können. Es gibt für Linux viele verschiedene Verschlüsselungsmöglichkeiten : Truecrypt, DM-Crypt, Loop-AES, Cryptsetup etc., warum ich mich für Loop-AES entschieden habe kann ich euch nicht sagen. Eine kleine HowTo möchte euch dennoch nicht vorenthalten:

Ubuntu/Debian – Loop-AES einrichten weiterlesen