Wenn auf Ihrem GNU / Linux-System eine Blockgeräteverschlüsselung implementiert ist, ist es sinnvoll, auch Ihre Swap-Partition zu verschlüsseln, da entschlüsselte Daten jederzeit im Klartext in den Swap geschrieben werden können.
Wenn ich mir die Debian-Manpage für "crypttab" ansehe, sehe ich ein Beispiel für das Erstellen einer zufällig verschlüsselten Swap-Partition beim Booten, sodass der Schlüssel im Verlauf des Startvorgangs zufällig festgelegt wird und nur dem System selbst bekannt ist:
# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
In diesem Beispiel wird die Austauschvorrichtung durch einen herkömmlichen Entwicklungspfad bezeichnet, d. H. /dev/sda6
Absolute Gerätepfade können sich ändern und werden beim Booten neu zugewiesen, wenn beispielsweise ein USB-Laufwerk angeschlossen ist. Ein Benutzer wäre sehr unglücklich, wenn /dev/sda6
es sich um eine andere Partition als erwartet handeln würde, die anschließend mit zufälligen Auslagerungsdaten überschrieben wurde !!
Die Lösung scheint also zu sein: Verwenden Sie eine UUID anstelle eines Gerätepfads (da sich eine UUID nicht ändern sollte) und ersetzen Sie sie /dev/sda6
durch/dev/disk/by-uuid/<whatever the uuid of dev/sda6 is>
ABER ... hier ist das Problem: Jedes Mal, wenn cryptsetup die verschlüsselte Swap-Partition beim Booten neu erstellt, wird eine neue UUID dafür generiert! Doh!
Wir müssen also die UUID dieses verschlüsselten Dateisystems irgendwie beibehalten. Ich denke, Cryptsetup kann dies mit seinem --offset
Schalter tun , wodurch der LUKS-Header und damit die UUID erhalten bleiben.
Ich habe diese URL gefunden: https://wiki.archlinux.org/index.php/System_Encryption_with_LUKS#Using_UUIDs_with_encrypted_swap_partitions
Weiß jemand, wie man die für Arch Linux beschriebene Lösung auf dem Debian-Betriebssystem implementiert? Die im Dokument genannten Init-Skripte scheinen auf dem Debian-Betriebssystem nicht vorhanden zu sein
Vielen Dank!
EDIT
Man könnte verwenden ecryptfs die gleichen Enden (verschlüsselte Swap - Speicher) mit dem Befehl zu erreichen:
ecryptfs-setup-swap
Ohne die Probleme , die bedrängt Block - Device - Verschlüsselung. Schauen Sie sich diese AskUbuntu-Abfrage an
ecryptfs-setup-swap
nur ein Helfer , dass konfiguriertdm-crypt
/crypttab
für Sie. Daecryptfs
es sich um einen Treiber auf Dateiebene handelt, werden nicht ganze Partitionen verarbeitetdm-crypt
. Möglicherweise finden Sie diese Methode benutzerfreundlicher, aber letztendlich erreichen Sie nichts anderes. Wenn überhaupt, machte die Macken dieser Methode (einschließlich der UUID) wahrscheinlich mich mehr verwirrt , als wenn ich hatte gerade getan mich von Grund auf ... obwohl ich mehr gelernt.Antworten:
Verwenden Sie in / etc / crypttab / dev / disk / by-id anstelle von / dev / disk / by-UUID , um auf Ihre Swap-Partition zu verweisen. Zum Beispiel Ihr / etc / fstab - Eintrag für Swap könnte sein ,
Dann wäre der richtige entsprechende Eintrag in / etc / crypttab so etwas wie
Beachten Sie, dass auf das obige Gerät mit / dev / disk / by-id verwiesen wird, was Sie für Ihr Laufwerk herausfinden können, indem Sie Folgendes in die CLI eingeben:
quelle
/dev/sdaN
, dass Sie eines Tages eine andere Festplatte anschließen und feststellen, dass Ihre Kernel-Namensreihenfolge geändert wurde und eine Ihrer Nicht-Swap-Partitionen in den Papierkorb verschoben wurde. UUID wäre auch nett, aber ich denke, das Hauptproblem ist, dass es in den ersten Bytes der Partition gespeichert ist, sodass wir das unlösbare Henne-Ei-Szenario erhalten, das hier diskutiert wird.In meiner / etc / crypttab habe ich
Hier ist / dev / mapper / cswap ein von LVM erstelltes logisches Volume, das dafür sorgt, dass logische Volume-Namen unabhängig von den Laufwerksbuchstaben korrekt zugewiesen werden. Außerdem kann ich die Größe meiner Swap-Partition problemlos ändern.
quelle
Versuchen Sie, den Rest der Lösung zu implementieren, und ignorieren Sie die Init-Datei. Es sieht so aus, als ob dieses Teil des Init-Skripts nur dazu da ist, Sie zu schützen. Entweder schützt Debian Sie nicht auf diese Weise, oder es wird eine Fehlermeldung angezeigt, wenn Sie versuchen, damit zu booten, die Sie hoffentlich an den richtigen Ort führt.
Ich würde auch darauf achten, dass IIRC Debian und ArchLinux unterschiedliche Formate für / etc / crypttab haben (verrückt, ich weiß, aber ich bin vor ein paar Jahren von Ubuntu zu Arch gewechselt und habe mich schließlich entschieden, Straight Bash zu verwenden, anstatt mich in Crypttabs einzumischen).
quelle
Führen Sie ecryptfs-setup-swap oder manuell aus:
Diese Konfiguration verwendet beim Booten zufällig generierte Schlüssel und unterstützt den Ruhezustand auf der Festplatte nicht! Sie sollten den Ruhezustand über Ihr DE Power Management-Dienstprogramm deaktivieren und auf Kritisch herunterfahren setzen, um Datenverlust zu vermeiden!
Wechseln Sie zu einem Administrator- / Root-Konto
su root oder sudo für jeden Befehl
Swap deaktivieren
Swapoff -a
Suchen Sie die vorhandene Swap-Partition
lsblk
Beispiel: sda3 8: 3 0 8G 0 Teil [SWAP]
Alten Swap überschreiben
dd if = / dev / zero bs = 1024000 von = / dev / sda <#>
Beispiel: dd if = / dev / zero bs = 1024000 von = / dev / sda3
FSTAB-Setup
vim / etc / fstab
Ersetzen Sie das alte SWAP-Gerät durch den Namen des Crypttab-Mappers: / dev / mapper / cswap
ALTE UUID = d03f3d8e-7888-48a5-b3cc-41de8dbbcfdc Swap-Swap-Standardeinstellungen 0 0
NEU
/ dev / mapper / cswap none swap pri = 1, Standardeinstellung 0 0
Krypto-Setup
ls -lF / dev / disk / by-id
Beispiel: ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 -> ../../sda3
vim / etc / crypttab
cswap / dev / disk / by-id / ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 / dev / urandom Swap, Chiffre = aes-cbc-essiv: sha256, Größe = 256
Aktiver verschlüsselter Swap
Starten Sie den Computer neu
Überprüfen Sie die Enctypted Swap-Vorgänge
dmsetup -C info
Beispiel: cswap 253 0 L - w 2 1 0 CRYPT-PLAIN-cswap
lsblk
Beispiel ├─sda3 8: 3 0 8G 0 Teil
│ cs cswap 253: 0 0 8G 0 Krypta [SWAP]
cat / proc / swaps
Beispiel: Dateiname Typ Größe Verwendet Priorität / dev / dm-0 Partition 8385532 0 -1
quelle