Kann ich die Festplattenverschlüsselung deaktivieren?

41

Ich habe vor kurzem Ubuntu 12.10 installiert und es erfordert eine Passphrase zum Booten (ich habe es mit einem verschlüsselten Dateisystem installiert).

Muss ich neu installieren, um zu einem unverschlüsselten Standarddateisystem zu wechseln?

Zealdor
quelle
Haben Sie die gesamte Ubuntu-Installation oder nur Ihr Home-Verzeichnis verschlüsselt?
Flimm
Ich habe während der Installation verschlüsselt, daher schätze ich die gesamte Installation.
Zzealdor
3
Da ich ein neuer Benutzer bin, bin ich mir nicht sicher, wie Dinge unter Linux funktionieren (Microsoft hat die
Nase voll
@Rinzwind Wahrscheinlich nicht. Diese Methode (ecryptfs) verschlüsselt das Basisverzeichnis und benötigt kein zusätzliches Kennwort. Das Login-Passwort wird verwendet.
Jan.
1
@ user163872: Die neuen Ubuntu-Versionen (12 und 13) sind auf alten Computern wie Netbooks sehr langsam. Sie sollten Lubuntu installieren, das auf Geschwindigkeit ausgelegt ist und auf älteren / langsameren Computern sehr schnell läuft, auch bei geringem RAM (dh 512 MB). Lubuntu ist fast dasselbe wie normales Ubuntu - nur die Desktops / Menüs sind etwas anders. Aber alles, was auf normalem Ubuntu funktioniert, wird auch in Lubuntu funktionieren.
Lara

Antworten:

22

Wenn Ubuntu während des Startvorgangs (dh auf der Textkonsole, bevor der Anmeldebildschirm angezeigt wird) nach einer Verschlüsselungskennphrase fragt, bedeutet dies, dass eine vollständige Festplattenverschlüsselungsmethode verwendet wurde. (Es gibt mehr als einen Weg, dies zu tun, aber ich werde die Antwort allgemein halten.) Die Verschlüsselung wird durch eine zusätzliche Software-Schicht zwischen dem Dateisystem und der physischen Festplatte und nicht dem Dateisystem selbst vorgenommen.

Es gibt keine einfache Methode oder ein Werkzeug, um dies rückgängig zu machen. Mit einigem Wissen über die Funktionsweise von Linux-Systemen kann dies durchgeführt werden. Sie müssten das gesamte Dateisystem (oder alle Dateien) auf eine andere Partition (mit genügend freiem Speicherplatz) oder eine externe Festplatte verschieben. Entfernen Sie dann den verschlüsselten Container und erstellen Sie das Dateisystem ohne Verschlüsselung neu. Stellen Sie schließlich sicher, dass das neue Dateisystem vom Bootloader und mount -avor dem Neustart richtig erkannt wird .

Vermeiden Sie dieses zeitaufwändige und fehleranfällige Verfahren nach Möglichkeit. Führen Sie einfach eine Neuinstallation durch. Für einen neuen Benutzer ist dies die schnellste und sicherste Option.

PS: Möglicherweise können Sie die Passphrase für die Verschlüsselung in eine leere Zeichenfolge ändern. Zum Entschlüsseln muss nur die Eingabetaste gedrückt werden. Vielleicht können Sie weiter gehen und die (jetzt unbrauchbare) Passphrasen-Eingabeaufforderung unterdrücken. Dadurch wird die Verschlüsselung jedoch nicht deaktiviert. Die Daten wären immer noch verschlüsselt, obwohl die Verschlüsselung unbrauchbar wäre, da der Schlüssel trivial erraten werden kann.

Jan
quelle
3
Sollten Sie theoretisch nicht in der Lage sein, etwas wie "dd if = / dev / mapper / sda5_crypt of = / dev / sda5 bs = 32M" zu tun?
Roy
@ Roy, ich denke, das wird genau dann funktionieren, wenn Folgendes zutrifft: 1. ddund die zugrunde liegenden Treiber schreiben erst, wenn sie alle Blöcke gelesen haben (wahrscheinlich gibt es Flags und Einstellungen, um dies sicherzustellen). 2. das Lesen / Schreiben Blöcke überlappen nicht die Kanten von Verschlüsselungsblöcken (kann überprüft werden, kann etwas Mathematik erfordern) 3. Wichtige Header-Informationen, die für die Entschlüsselung benötigt werden, werden vor Abschluss nicht überschrieben (überprüfen Sie das zugrunde liegende Verschlüsselungsformat, möglicherweise von Anfang bis Ende). Ich denke, dass es möglich ist, aber eine sorgfältigere Einrichtung und Analyse erfordern würde.
FuzzyTew
20

Unten ist meine Lösung aufgeführt, die funktioniert hat. Denken Sie daran, dass ich kein Linux-Spezialist bin, daher ist dies möglicherweise nicht die beste Lösung. Konnte sowieso keinen besseren finden.

Migration der FDE-Installation auf eine unverschlüsselte Partition

HINWEIS : Wann immer ich sage, meine ich

/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition

Kopieren von Daten aus dem verschlüsselten Root-Dateisystem

Booten Sie von einer Live-CD. Ich habe Ubuntu 13.10 32bit Desktop ISO verwendet.

Hängen Sie Ihre Partition ein:

sudo cryptsetup luksOpen /dev/sda5 crypt1

Kopieren Sie Ihre Quelldaten in die Zielpartition und speichern Sie die DD-PID in der PID-Variablen:

sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!

Dies wird jeden zweiten DD-Prozess mit dem USR1-Signal und dem DD-Ergebnisstatus anpingen:

while sudo kill -USR $pid; do sleep 1; done

Alternative zur DD-Überwachung

Wenn Ihnen die 'while-Methode' oben nicht gefällt, können Sie watch verwenden. Öffne ein anderes Terminalfenster und erhalte die PID:

pgrep -l '^dd$' | awk '{ print $1 }'

Ersetzen Sie durch Ihre Prozess-ID:

watch kill -USR1 <pid>

Sie sollten die Ausgabe in Ihrem dd-Terminal alle 2 Sekunden sehen.

Konfiguration des neuen Root-Dateisystems und der Partitionen

Wenn es fertig ist, können Sie Ihre nicht verschlüsselte Partition mounten, um zu sehen, ob es in Ordnung ist:

sudo mount /dev/sda3 /mnt

Hängen Sie danach Ihre Partition aus:

sudo umount /dev/sda3

Krypta-Partition freigeben:

sudo cryptsetup luksClose /dev/sda5

Laufen Sie gparted. Löschen Sie Ihre LUKS-Partition (sowohl erweiterte als auch logische). Ändern Sie die Größe Ihres / dev / sda3 und bewegen Sie sich nach links. Erstellen Sie eine Swap-Partition.

Hinweis: Das Verschieben von / dev / sda3 nach links kann lange dauern. Für mich dauerte es 30 Minuten auf 120 GB Partition und SSD-Laufwerk. Wenn Sie 500 GB + Festplatte haben, warten Sie einige Stunden. Möglicherweise möchten Sie Swap vor Ihrer Partition erstellen, anstatt Ihr / dev / sda3 zu verschieben.

Erstellen Sie ein neues Swap-Dateisystem auf Ihrer Swap-Partition:

sudo mkswap /dev/sda2 

und irgendwo die UUID speichern.

Holen Sie sich Ihre Root-Partitions-UUID:

sudo blkid /dev/sda3

Fstab bearbeiten:

sudo nano /etc/fstab

Löschen oder kommentieren Sie Overlays und tmpfs-Zeilen aus.

Füge eine Zeile hinzu, die durch das Ergebnis blkid ersetzt:

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

Datei löschen:

rm /etc/crypttab

Aktualisieren Sie Ihre initramfs, um Fehler wie "cryptsetup: evms_activate ist nicht verfügbar" zu vermeiden:

sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

Abschließende Hinweise und Fehlerbehebung

Es hat bei mir funktioniert, es besteht jedoch die Möglichkeit, dass es bei Ihnen nicht funktioniert, wenn Sie Schritt für Schritt vorgehen. Bevor ich die Methode update-initramfs herausgefunden habe, habe ich den Kernel einige Male neu installiert und auch grub geändert. Es sollte jedoch kein Fall für Sie sein. Beachten Sie, dass oben genannten Anweisungen können Ihre Daten löschen, also seien Sie vorsichtig und machen sein BACKUP , VOR , dass Sie fortfahren.

Nur für den Fall, dass Sie Kernelprobleme haben (chrooted und / boot mounted):

uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

Natürlich ersetze linux-image-3.XY-ZZ durch dein Kerneldatum von uname.

oder GRUB (außerhalb der Chroot):

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

Weitere Details: https://help.ubuntu.com/community/Boot-Repair

Viel Glück

NeverEndingQueue
quelle
1
Ich glaube, dass Sie die UUID der Swap-Partition /etc/initramfs-tools/conf.d/resumemanuell ersetzen müssen und ich würde empfehlen, den Inhalt des Dateisystems mit cp -aoder zu kopieren rsync -a, da dies im Allgemeinen schneller und sicherer für SSDs wäre.
LiveWireBT
Vielen Dank, dass Sie meine Ausarbeitung benutzerfreundlicher gemacht haben. Ich habe die Änderung des Lebenslaufs nicht vorgenommen, hatte auch Angst vor der Verwendung von cp oder rsync und dachte, dass dd (rohe Kopie von Gerät zu Gerät) das richtige Werkzeug für solche Aufgaben ist. Ich habe das auf VM gemacht, aber das Image wurde auf SSD platziert. Können Sie das Thema "Sicherer für SSDs" näher erläutern?
NeverEndingQueue
Durch dddie Verwendung von Kopien wird die gesamte Partition kopiert, sogar Blöcke, die leer sein sollten, was zu unnötigen Schreibvorgängen auf die SSD führt (und bei manchen beeinträchtigt dies sogar die Leistung beim Schreiben in fast alle Zellen). Vor ein paar Jahren haben ich und einige andere festgestellt, dass das Kopieren mit ddund Aktivieren von TRIM (EXT4-Discard-Option) dazu führt, dass TRIM Blöcke löscht, von denen es denkt, dass sie leer sind, und Sie nach einigen Stunden eine fehlerhafte Installation hinterlassen.
LiveWireBT
In der ersten Überwachungsmethode sollte USR1 anstelle von USR sein. Ich weiß, dass es offensichtlich ist, aber es kann ein Problem für Neulinge wie mich sein;)
goodfellow
9

Falls es in Ordnung ist, die Verschlüsselung beizubehalten, aber die Aufforderung zur Eingabe der Passphrase auszuschalten, ist es viel einfacher, ein einfaches Passwort wie "password" festzulegen und dieses einfache Passwort in den initramfs im Klartext zu speichern. Deaktivieren Sie das LUKS-Verschlüsselungskennwort .

Fügen Sie im Wesentlichen ein Hook-Skript hinzu, das den initramfs ein "Keyscript" hinzufügt. In der Regel werden diese Skripte verwendet, um das Kennwort über Bluetooth, von einem USB-Stick usw. abzurufen. In diesem Fall müssen Sie nur das einfache Kennwort ausdrucken.

Richard A
quelle