Verschlüsselte Container

Aus

Hinweis

Mit der Firmware DSM 2.3 wird die Verschlüsselung (von Freigaben) auf den DiskStations: DS1010+, RS409+, RS409RP+, RS409, DS509+, DS409+, DS409, DS209+II, DS209+, DS209, DS109+, DS109, DS409slim, RS408, RS408-RP, DS508 und DS408 über die Administrieroberfläche zugänglich gemacht, daher ist diese Anleitung eher für Personen interessant, die Geräte mit einer Firmware DSM 2.2 oder früher nutzen bzw. nicht dieses Feature unter DSM 2.3 nutzen können.

Verschlüsselung auf der DS

Die Diskstation bot von Hause aus leider keine Möglichkeit Daten zu verschlüsseln - mittlerweile hat sich das ja geändert. Es mag trotzdem für den einen oder anderen interessant zu sein, wie man vordem hat verschlüsseln können und auch als Alternative immer noch verschlüsseln kann. itaris Thread im Forum zeigt wie einfach das ganze mit ein bisschen Konsolenhilfe zu machen ist. Danach ist es möglich verschlüsselte (AES) Container zu mounten und Daten hineinzuschieben. Die AES Verschlüsselung gilt als sehr stark und in vielen Ländern können geheime Regierungsdokumente damit verschlüsselt werden.

Voraussetzungen

Damit man von die Verschlüsselungen profitieren kann müssen einige Voraussetzungen erfüllt werden:

  1. IPKG muss installiert werden
  2. Zugriff auf die Kommandozeile

Danach müssen einige Module via ipkg installiert werden

  1. ipkg install kernel-module-cryptoloop
  2. ipkg install kernel-module-aes
  3. ipkg install util-linux

Dann müsst ihr unter /dev/ prüfen ob ihr bereits loopX Devices habt (X steht für eine Zahl ab 0). Wenn nicht dann legt 8 Stück davon an. Entweder manuell oder mit folgendem Code:

C=0;
while [ $C -lt 8 ];
do
 mknod /dev/loop$C b 7 $C;
 C=`expr $C + 1`;
done;

Die Rechte der Devices sollten 0644 sein

chmod 0644 /dev/loop*

Installation

Die benötigten Module in die entsprechenden Verzeichnisse kopieren und die Module laden

  1. cp /opt/lib/modules/2.6.15/kernel/drivers/block/cryptoloop.ko /lib/modules/
  2. cp /opt/lib/modules/2.6.15/kernel/crypto/aes.ko /lib/modules/
  3. Auf den ersten beiden Zeilen von /etc/rc.local die folgenden Anweisungen einfügen
    1. insmod cryptoloop.ko
    2. insmod aes.ko
    3. Datei abspeichern
  4. DS neustarten

Anwendung

Anlegen einer Container Datei

Zuerst muss eine leere Datei angelegt werden, die danach die Daten des Containers beinhaltet. Dazu könnt ihr die Datei mit Nullen füllen (geht schneller ist aber u.U. ein Risiko) oder den Zufallsgenerator benutzen, der die Datei mit Zufallswerten befüllt. Ich verwende lieber den Zufallsgenerator, auch wenn es wesentlich länger dauert (hier mit einem 100 MByte Container):

dd if=/dev/urandom of=/volume1/crypt.raw bs=1M count=100

"Verbinden" des Containers mit loop0

/opt/sbin/losetup -e aes /dev/loop0 /volume1/crypt.raw (Kennwort vergeben) 

Formatieren und Mounten

mkfs.ext3 /dev/loop0
mkdir /cc
mount -t ext3 /dev/loop0 /cc

Jetzt solltet ihr unter /cc auf den verschlüsselten Container zugreifen können. Das Kopieren der Daten geht natürlich etwas länger, weil eben zusätzlich verschlüsselt wird.