Wissensdatenbank
Buehl, Kevin
06 Februar 2018
06 Februar 2018
1.613

Wissensdatenbank

Verschlüsselte Partition unter Linux Debian erweitern

Vorwort


Ich habe mir einen neuen Hewlett Packard Enterprise Dl 380 Gen9 Server zugelegt, welcher zu Beginn mit vier 12 TB Festplatten im RAID 6 Ausgestattet wird. Der Server hat 12 Laufwerksschächte welche je nach bedarf mit weiteren 12 TB Festplatten bestückt werden. Ein bestehender RAID-Verbund habe ich schon öfters unter Windows und VMware vSphere erweitert und hat bisher immer ohne Probleme funktioniert. Der neue Server soll meinen alten Dateiserver mit acht 4 TB Festplatten ablösen, das alte System wurde damals direkt mit acht Festplatten ausgestattet und installiert. Da ich unter Linux noch nie eine verschlüsselte Partition erweitert habe, musste ich dies zuerst Testen bevor ich ein Linux System auf dem Server installiere und später das Verschlüsselte Volume nicht vergrössern kann.

Umgebung


Die Tests mit der verschlüsselten Partition habe ich in einer virtuellen Maschine getestet. Welche ich mit einer 40 GB Festplatte konfiguriert habe. Danach habe ich eine root und swap Partition mit 1 GB erstellt die restlichen 38 GB habe ich nicht konfiguriert, da ich die Partition erst nach der Installation verschlüsseln möchte.
parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 1000MB 999MB primary ext4 boot
2 1000MB 2001MB 1000MB primary linux-swap(v1)
3 2001MB 42.9GB 40.9GB primary



Vorbereitung


Nach der Installation sollten Sie sicherstellen das die nötigen Pakete für den Test installiert sind:
apt install cryptsetup parted


Grundeinrichtung


Verschlüsselung


Erstellen Sie nun eine verschlüsselte Partition mit folgendem Befehl:
cryptsetup -v --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-urandom --verify-passphrase luksFormat /dev/sda3
WARNING!
========
Hiermit werden die Daten auf »/dev/sda3« unwiderruflich überschrieben.

Are you sure? (Type uppercase yes): YES
Passphrase eingeben:
Passphrase bestätigen:
Befehl erfolgreich.

Nun können Sie die Partition mit folgendem Befehl einbinden bzw. öffnen:
cryptsetup open /dev/sda3 sda3_crypt
Geben Sie die Passphrase für »/dev/sda3« ein:


Formatieren


Damit Sie die Partition verwenden können, sollten Sie diese mit einem Dateisystem formatieren, ich verwende hier ext4.
mkfs.ext4 -L root /dev/mapper/sda3_crypt
mke2fs 1.43.4 (31-Jan-2017)
Ein Dateisystems mit 9996544 (4k) Blöcken und 2501856 Inodes wird erzeugt.
UUID des Dateisystems: a38447a3-89ab-49f4-8397-080aee6be1c1
Superblock-Sicherungskopien gespeichert in den Blöcken:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624

beim Anfordern von Speicher für die Gruppentabellen: erledigt
Inode-Tabellen werden geschrieben: erledigt
Das Journal (65536 Blöcke) wird angelegt: erledigt
Die Superblöcke und die Informationen über die Dateisystemnutzung werden
geschrieben: erledigt

Einbinden


Erstellen Sie ein Verzeichnis, ich bevorzuge /data:
mkdir -p /data
. Anschliessend können Sie die verschlüsselte Partition einbinden:
mount /dev/mapper/sda3_crypt /data/

Damit ich Sicherstellen kann das meine Dateien später ebenfalls noch vorhanden sind, habe ich eine Datei auf der Partition erstellt:
mkdir /data/test
echo "Wichtiger Inhalt von 4b42" > /data/test/wichtiges_dokument.txt
ls -lah /data/test



Erweitern


Festplatte


Stoppen Sie nun die virtuelle Maschine und erweitern Sie die Festplatte, ich habe Sie auf die nächst übliche Grösse erweitert (80 GB). Starten Sie danach die virtuelle Maschine und melden Sie isch als Root Benutzer an Ihrem System an.

Partition


Dieser Schritt ist bei einem Hardware RAID nicht erforderlich wenn sich die verschlüsselte Partitio direkt auf dem RAID-Verbund befindet.
parted
resizepart
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 1000MB 999MB primary ext4 boot
2 1000MB 2001MB 1000MB primary linux-swap(v1)
3 2001MB 42.9GB 40.9GB primary

(parted) resizepart
Partition number? 3
End? [42.9GB]? 100%
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 1000MB 999MB primary ext4 boot
2 1000MB 2001MB 1000MB primary linux-swap(v1)
3 2001MB 85.9GB 83.9GB primary

Nun können Sie die verschlüsselte Partition öffnen:
cryptsetup open /dev/sda3 sda3_crypt
Geben Sie die Passphrase für »/dev/sda3« ein:
Mit dem nächsten Befehl können Sie die vergrösserte Partition "füllen":
cryptsetup resize sda3_crypt -v
Befehl erfolgreich.

Prüfen Sie nun das Dateisystem und erweitern Sie dieses anschliessend:
e2fsck -f /dev/mapper/sda3_crypt
e2fsck 1.43.4 (31-Jan-2017)
Durchgang 1: Inodes, Blöcke und Größen werden geprüft
Durchgang 2: Verzeichnisstruktur wird geprüft
Durchgang 3: Verzeichnisverknüpfungen werden geprüft
Durchgang 4: Referenzzähler werden überprüft
Durchgang 5: Zusammengefasste Gruppeninformation wird geprüft
root: 13/2501856 Dateien (0.0% nicht zusammenhängend), 234882/9996544 Blöcke

resize2fs /dev/mapper/sda3_crypt
resize2fs 1.43.4 (31-Jan-2017)
Die Größe des Dateisystems auf /dev/mapper/sda3_crypt wird auf 20482560 (4k) Blöcke geändert.
Das Dateisystem auf /dev/mapper/sda3_crypt is nun 20482560 (4k) Blöcke lang.


Funktionskontrolle


Binden Sie die verschlüsselte Partition ein und prüfen Sie die Grösse:
mount /dev/mapper/sda3_crypt /data
df -h
Dateisystem            Größe Benutzt Verf. Verw% Eingehängt auf
udev 992M 0 992M 0% /dev
tmpfs 201M 3.2M 198M 2% /run
/dev/sda1 922M 728M 132M 85% /
tmpfs 1003M 0 1003M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1003M 0 1003M 0% /sys/fs/cgroup
/dev/mapper/sda3_crypt 77G 56M 73G 1% /data

Der Inhalt der Datei können Sie wie folgt ausgeben:
cat /data/test/wichtiges_dokument.txt
Wichtiger Inhalt von 4b42