Auf meinem hauptsächlich verwendeten System (einem MacBook Pro) gibt es die Möglichkeit AES verschlüsselte Images zu erstellen… natürlich würde es rein zur ‚entfernten‘ Sicherung ausreichen, dieses Image im ganzen auf ein entferntes System zu kopieren. Dadurch macht man sich aber davon abhängig, dass im Falle eines Zurückspielens der Sicherung, das System auf das sie geladen werden soll, diese auch wieder lesen kann.
Was weiss ich jetzt schon, ob der nächste Rechner wieder ein Mac wird?
Sinniger für eine Archivierung ist, einen verschlüsselten Container auf dem Sicherungssystem an zu legen und die Daten aus dem lokalen verschlüsselten Image, verschlüsselt in diesen zu kopieren.
Bei OpenBSD werden solche Images mit Hilfe von so genannten ‚pseudo-devices‘ angelegt, die eigentlich als Festplatte für Virtuelle Maschinen gedacht waren bzw. sind.
Die meisten der benötigten Befehle benötigen ‚root‘ Rechte, deshalb sollte doas
für den durchführenden User entsprechend eingerichtet sein.
Als erstes wird eine Datei ausreichender Grösse benötigt.
Man kann diese recht einfach mit ‚disk dump‘ oder kurz dd
erstellen.
dd if=/dev/zero of=encrypted.bin bs=1m count=128
Da encrypted.bin
ja eine Virtuelle Festplatte werden soll, kann man auch gleich einen ‚mountpoint‘ dafür erstellen… früher oder später braucht man ihn eh.
mkdir encrypted
Erst einmal können wir prüfen welche Virtuellen Festplatten „Steckplätze“ noch frei sind. OpenBSD hat von Haus aus 4 „Virtual Node Devices“ im Kernel einkompiliert.
Für Tätigkeiten an den „Steckplätzen“ verwendet man das Programm vnconfig
mit root Rechten.
doas vnconfig -l
Beim ersten verwenden sollte eigentlich folgende Ausgabe herauskommen:
vnd0: not in use vnd1: not in use vnd2: not in use vnd3: not in use
Ich binde es auf vnd1 ein, grundsätzlich muss es aber nur ein freier Platz sein:
% doas vnconfig vnd1 encrypted.bin % doas vnconfig -l vnd0: not in use vnd1: covering encrypted.bin on wd0h, inode 39159347 vnd2: not in use vnd3: not in use
Jetzt machen wir es zu einer „Festplatte“ indem wir sie erst mit fdisk
grob partitionieren:
% doas fdisk -i vnd1 Warning CHS values out of bounds only saving LBA values Do you wish to write new MBR and partition table? [n] y Warning CHS values out of bounds only saving LBA values Writing MBR at offset 0.
Und dann auf a
labeln:
% doas disklabel -E vnd1 Label editor (enter '?' for help at any prompt) > a partition: [a] offset: [128] size: [261972] FS type: [4.2BSD] RAID > p OpenBSD area: 128-262100; size: 261972; free: 0 # size offset fstype [fsize bsize cpg] a: 261972 128 RAID c: 262144 0 unused > w > q No label changes.
Mit bioctl
erstellen wir jetzt das verschlüsselte RAID Device. Nach diesem commando kann man es bereits wie eine normale „Festplatte“ verwenden:
% doas bioctl -c C -l /dev/vnd1a softraid0 New passphrase: Re-type passphrase: softraid0: CRYPTO volume attached as sd0 % doas fdisk -i sd0 Do you wish to write new MBR and partition table? [n] y Writing MBR at offset 0. % doas disklabel -E sd0 Label editor (enter '?' for help at any prompt) > a partition: [a] offset: [64] size: [256976] FS type: [4.2BSD] Rounding size to bsize (32 sectors): 256960 > p OpenBSD area: 64-257040; size: 256976; free: 16 # size offset fstype [fsize bsize cpg] a: 256960 64 4.2BSD 2048 16384 1 c: 261444 0 unused > w > q No label changes. % doas newfs sd0a newfs: reduced number of fragments per cylinder group from 16056 to 15984 to enlarge last cylinder group /dev/rsd0a: 125.5MB in 256960 sectors of 512 bytes 5 cylinder groups of 31.22MB, 1998 blocks, 4096 inodes each super-block backups (for fsck -b #) at: 32, 63968, 127904, 191840, 255776, % doas mount /dev/sd0a encrypted
Sieht ja alles schon recht gut aus… bloss die Rechte des mounts passen noch nicht.
drwxr-xr-x 2 root wheel 512 May 8 20:47 encrypted
Ist aber kein grösseres Problem, diese müssen nur einmalig auf den richtigen Benutzer gesetzt werden, und ggf noch den Zugang beschränken das darf dann allerdings bereits der User selbst machen.
% doas chown sierrax:sierrax encrypted % chmod 700 encrypted
Um das ganze dann für die Lagerung zu zumachen wird das Device per doas umount encrypted
und mit doas bioctl -d sd0
das special device entfernt. Es braucht auch nicht als in der vnd liste zu bleiben, sondern kann mit doas vnconfig -u vnd1
daraus entfernt werden. Sobald man es wieder braucht, muss man dann halt einen Schritt mehr machen.
Die Schritte könnten dann so, oder so ähnlich ausschauen.
% doas vnconfig vnd3 encrypted.bin % doas bioctl -c C -l /dev/vnd3a softraid0 Passphrase: softraid0: CRYPTO volume attached as sd0 % doas mount /dev/sd0a encrypted
Pingback: Wenn 4 vnd nicht reichen! – www.sx-lab2.net