Für alle, die an einem sicheren Debian-Server interessiert sind, gibt es seit heute das neue CISS.2024.vps.bookworm.hardening Script V5.0.256, das eine in jeder Hinsicht gehärtete Debian-Infrastruktur aufsetzt. Neben der Ephemeral SWAP Encryption und zusätzlicher /boot Verschlüsselung mittels LUKS2 gibt es nun auch ganz neu die Option zur automatischen Erstellung eines LVM on RAID(n) on dm-crypt incl. dm-integrity High Availbility Setups. Reguläre RAID1-Verbünde haben das Problem, dass bei Plattenlesefehlern diese naturgemäß gnadenlos mit gespiegelt werden. Mit der unter dem RAID Verbund liegenden dm-integrity Integritätsprüfung inkl. dm-crypt Festplattenvollverschlüsselung werden Lesefehler eindeutig als solche erkannt und noch unter dem RAID Verbund korrigiert. Alle Kernelanpassungen zur Bereitstellung der notwendigen Module werden automatisiert durchgeführt. Ebenfalls an Bord sind zahlreiche gehärtete Komponenten, die bei dem ebenfalls standardmäßig installierten Auditierungsprogramm Lynis einen relativen Score von 94% generieren, während eine ungehärtete Debian Infrastruktur mit ca. 58 % relativen Score zahlreiche sicherheitskritische Elemente beinhaltet, wie zum Beispiel ungehärtete SSH Zugänge. Zahlreiche Optionen, beispielsweise, ob SELinux oder AppArmor installiert werden soll, runden das Paket ab. Das vorhandene Tutorial zum Script ist hier abrufbar: https://coresecret.eu/tutorials/debian-bookworm-hardening-script/
Hintergrund zu RAID1
RAID1 ist ein einfaches Werkzeug für Festplattenredundanz, schützt aber NICHT vor Bitfehlern. Es gibt keine Möglichkeit für RAID1 zu unterscheiden, welche Platte die richtigen Daten enthält, wenn Lesefehler auftreten. Mit dm-integrity hingegen können Fehler auf Blockebene erkannt werden. Das allein bietet aber noch keine Fehlerkorrektur und ist bei nur einer Platte ziemlich nutzlos (Platten fallen aus, shit happens). Wird dm-integrity jedoch unter RAID1 verwendet, sind Plattenredundanz UND Fehlererkennung UND Fehlerkorrektur verfügbar. Ungültige Daten, die von einer Platte empfangen werden, verursachen einen Prüfsummenfehler, der vom RAID-Verbund erkannt und durch korrekte Daten ersetzt wird. Zusammen mit der Verschlüsselung entsteht ein sicheres, redundantes Array. Zusätzlich kann die Datenintegrität durch authentifizierte Verschlüsselung geschützt werden, so dass niemand die Daten böswillig verfälschen kann. Außerdem: Wenn die RAID1-Arrays als physische LVM-Volumes verwendet werden, ist die Gesamtarchitektur der von ZFS sehr ähnlich. Und das alles mit nativen Linux-Tools und ohne umständliche Solaris-Kompatibilitätsschichten oder Lizenzprobleme.
