DMCrypt

Den Umstieg meines Desktop-Rechners von Debian Etch auf Ubuntu Gutsy Gibbon nahm ich zum Anlass, mein Betriebssystem mit Ausnahme einer /boot-Partition komplett zu verschlüsseln.

Ein entsprechendes System lässt sich per Ubuntu-Alternative-CD sehr einfach installieren. Bei der Partitionierung lassen sich manuell Partitionen für Verschlüsselung anlegen, in die man das System installieren kann.

Ein Problem ergab sich bei mir jedoch beim Hochfahren, da das System das zu verwendende Crypto-Laufwerk nicht fand. Zuerst dachte ich, dem Betriebssystemkern würden Module fehlen, die die Verschlüsselung erst ermöglichen. Nach genauerem Nachforschen fiel mir aber auf, dass die Module zwar da waren, aber nicht geladen wurden. Somit waren natürlich die zu verwendenden Crypto-Laufwerke in /dev/mapper nicht vorhanden.

Ein Freund wusste glücklicherweise Rat. Er wusste, dass man den Kernel beim Booten nur mit den entsprechenden Optionen ausstatten muss, damit dieser sich selbst das verschlüsselte Root-Filesystem zu einem benutzbaren Pseudo-Device mappt.

Das geschah ganz einfach, indem ich in der Datei /boot/grub/menu.lst an meinen zu bootenden Kernel hinten diesen Kernel-Parameter anhängte:

cryptopts=source=[Geräte-Datei der verschlüsselten Root-Partition],target=[Name der gemappten Root-Partition]

In meinem Fall sah das dann so aus:

cryptopts=source=/dev/sda3,target=sda3_crypt

Der Kernel erstellt dann beim Booten selbstständig ein Device in /dev/mapper, das man mit dem Kernel-Parameter "root" als Root-Filesystem-Partition angeben kann.

Tags: Linux