[Gelöst] Multibootsystem voll verschlüsseln?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

[Gelöst] Multibootsystem voll verschlüsseln?

Beitrag von ottonormal » 14.03.2016 19:43:56

Hallo,

Frage an die Experten:
Ich plane für die Zukunft alle Systeme auf meinem Rechner zu verschlüsseln. Im Moment habe ich auf einer 128GB SSD 4 Linux-Systeme, bei denen aber nur das Homeverzeichnis verschlüsselt ist. Nun bin ich etwas unsicher wie das in dem Fall mit der Partitionierung und Grub funktioniert. Ich habe das mal in der Virtualbox probiert, eine primäre Bootpartition am Anfang der Platte, dann eine erweiterte Partition mit zunächst mal einer logischen Partition für die erste Debian-Installation und den weiteren Platz für die anderen Systeme.
Die erste verschlüsselte Debian-Installation ist abgeschlossen. Wie funktioniert es mit den weiteren? Braucht jedes System eine eigene Bootpartition? Wer bekommt wohin Grub installiert?

Oder funktioniert so etwas überhaupt nicht? Wenn die ertste Installation verschlüsselt und für Grub zuständig ist, erkennt es andere Systeme wenn die unverschlüsselt sind. Aber, auf einem anderen Rechner habe ich 2 Festplatten mit je einem verschlüsselten System. Da ist es so, dass bei der Installation von Grub das jeweilige System das andere nicht erkennt. Ich muss also, wenn ich das 2. System starten will, beim Bootvorgang erst die entsprechende Festplatte auswählen.

Wie ist das dann bei 4 verschlüsselten Systemen auf einer Festplatte, was muss ich beachten?

Gruß, ottonormal
Zuletzt geändert von ottonormal am 15.03.2016 18:30:29, insgesamt 1-mal geändert.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Multibootsystem voll verschlüsseln?

Beitrag von NAB » 14.03.2016 19:59:35

"Vollverschlüsselung" gibt's nicht. Irgendwas muss unverschlüsselt sein, um den Rest entschlüsseln zu können. Bei Linux sind das Grub und der Kernel ... und beides liegt in /boot.

Somit braucht jedes System statt mindestens einer nun mindestens zwei Partitionen ... eine für /boot und eine für den Rest.

Wo du den Bootloader von Grub hintust, ist so ne Frage. Ich vermute, es handelt sich um ein BIOS-System. Eigentlich brauchst du nur einen Bootloader ... es würde also reichen, nur bei einem System Grub nach /dev/sda zu installieren und diesen Schritt bei den restlichen Systemen zu überspringen. Das erste Sysstem müsste dann mit os-prober so freundlich sein, die anderen Linux-Installationen zu erkennen ... oder du musst per Hand in der Grub-Konfiguration nachhelfen.

Wenn die Bootloader-Installation sich nicht überspringen lässt, solltest du den Bootloader der restlichen Linuxe in die jeweilige Bootpartition installieren, also nach sda1, sda3 u.s.w. ... falls Grub das mitmacht.

Schlimmstenfalls hast du mehrere Bootloader, die sich gegenseitig auf /dev/sda überschreiben ... auch das lässt sich in den Griff bekommen.

Das in Virtualbox zu üben, ist eine gute Idee!
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Multibootsystem voll verschlüsseln?

Beitrag von smutbert » 14.03.2016 20:14:21

NAB hat geschrieben:[...]Bestenfalls hast du mehrere Bootloader, die sich gegenseitig auf /dev/sda überschreiben ... […]
Bei der Installation würde ich das der Einfachheit halber erst einmal in Kauf nehmen.

Also für jedes /boot eine eigene Partition und das vorraussichtliche Lieblingssystem ev. als letztes installieren, damit es das letzte Wort hat, was den grub im MBR angeht.
Dass später bei grub-Updates der mbr wieder von den anderen Systemen überschrieben wird, kann man zumindest bei debian-basierten Systemen verhindern, indem man bei diesen Systemen bei

Code: Alles auswählen

# dpkg-reconfigure -p low grub-pc
festlegt, dass grub auf keines der Geräte automatisch geschrieben werden soll.

Mit os-prober würde ich mich gar nicht herumschlagen, weil der die Änderungen oft nur mit Verspätung mitbekommt, etwa bei dieser Konstellation:
Auf einem der 3 zuerst installierten Systeme wird ein Kernelupdate installiert und auch in der eigenen grub.cfg eingetragen. Die grub.cfg des Chefsystems wird aber nicht automatisch aktualisiert solange dort nicht ebenfalls irgendetwas routinemäßig am Kernel oä geändert wird, dh der Eintrag bootet dann noch immer den alten Kernel dieses Systems.

Sehr elegant umgeht man das imho, wenn man selbst booteinträge erstellt, die direkt die grub.cfg des jeweils zu startenden Systems laden. Das funktioniert (obwohl es das nicht zwangsweise müsste) meiner Erfahrung nach problemlos und man hat immer die aktuellen Booteinträge für alle Systeme.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Multibootsystem voll verschlüsseln?

Beitrag von ottonormal » 14.03.2016 20:20:40

NAB hat geschrieben:"Vollverschlüsselung" gibt's nicht. Irgendwas muss unverschlüsselt sein, um den Rest entschlüsseln zu können. Bei Linux sind das Grub und der Kernel ... und beides liegt in /boot.
Ja, das ist schon klar, die Bootpartition ist natürlich nicht verschlüsselt. :D
Aber danke für Deine Antwort, :THX: dann werde ich mich mal an das nächste System wagen und bei der Grubinstallation den MBR in die 2. Bootpartition installieren. Mal schauen, was dabei herauskommt.

@smutbert: Danke auch für Deine Antwort, werde ich auch testen. Erst mal so wie oben geschrieben, in Virtualbox ist es ja einfach eine Sicherung zu erstellen um wieder alles rückgängig zu machen.
Ganz habe ich es auch noch nicht verstanden :?

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Multibootsystem voll verschlüsseln?

Beitrag von NAB » 14.03.2016 20:24:27

smutbert hat geschrieben: Die grub.cfg des Chefsystems wird aber nicht automatisch aktualisiert solange dort nicht ebenfalls irgendetwas routinemäßig am Kernel oä geändert wird, dh der Eintrag bootet dann noch immer den alten Kernel dieses Systems.
Naja ... auf dem "Chefsystem" ist dann ein update-grub nötig, um os-prober neu durchlaufen zu lassen. Stimmt, automatisch geht das nicht, ein wenig Pflege ist schon nötig ... aber auf irgendeine Kernel-Änderung muss man auch nicht warten :-)
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Multibootsystem voll verschlüsseln?

Beitrag von smutbert » 14.03.2016 22:55:56

Du hast recht, aber wenn man wie ich auf dem "Chefsystem" ständig vergisst vor dem Herunterfahren update-grub auszuführen läuft es schon darauf hinaus, dass man auf ein Kernelupdate des Chefsystems warten muss, um auf den anderen Systemen in den Genuß eines neueren Kernels zu kommen :wink:

zum eigentlichen Thema sind mir zwei neue Varianten eingefallen:

Debianlvm2
lvm könnte vielleicht weiterhelfen. Wenn man das lvm auf eine unverschlüsselte Partition legt und die gewünschten Volumes einzeln verschlüsselt, dann könnte man für die /boot-Dateisysteme beliebig viele Volumes anlegen und alle anderen Volumes einzeln verschlüsseln. Ich weiß nur nicht wieviel Handarbeit bei dieser Variante nötig wäre, denn der normale Weg ist wohl das lvm, also die Partition auf der es liegt, komplett zu verschlüsseln und nicht die einzelnen Volumes.

btrfs
Bei btrfs könnte man zwei Partitionen anlegen und mit btrfs formatieren. Die erste unverschlüsselt und die zweite verschlüsselt. Auf der unverschlüsselten legt man Subvolumes für die /boot der diversen Systeme an und auf der verschlüsselten so viele Subvolumes wie man will für den Rest.
Gerade diese Lösung mit btrfs hätte ein paar Vorteile: Man muss sich nur überlegen wieviel Platz man für die /boot aller Systeme benötigt, macht die unverschlüsselte Partition so groß und nimmt den Rest des Platzes für die verschlüsselte. Um die Speicherplatzzuweisung unter den Subvolumes muss man sich nicht kümmern, das übernimmt btrfs selbst. Außerdem könnte man so auf beiden Partitionen beliebig viele Subvolumes anlegen und damit beliebig viele Systeme parallel installieren.
Das Installieren und Einrichten selbst ist dafür möglicherweise wieder mit etwas Handarbeit verbunden, weil die diversen Installer solche Setups vielleicht nicht erwarten.
Bei dieser Lösung würden allerdings alle Systeme zwangsweise denselben Schlüssel zur Verschlüsselung (nicht notwendigerweise auch dasselbe Passwort/Passphrase) verwenden, damit wären zumindest für root von jedem System aus alle anderen zugänglich.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Multibootsystem voll verschlüsseln?

Beitrag von ottonormal » 14.03.2016 23:51:10

Oh, oh, da raucht schon jetzt mein Kopf. Danke für die Mühe, die Ihr Euch wieder mit mir macht.
lvm2 habe ich mir gerade angesehen und nur Bahnhof verstanden, damit bin ich wohl etwas überfordert.

Ich bin jetzt gerade so weit, dass das 2. Debian mit eigener Bootpartition installiert ist. Meine Partitionierung sieht nun so aus:

sda1 = boot Debian 1
sda4 = erweiterte Partition
sda5 = "/" Debian 1
sda6 = boot Debian 2
sda7 = "/" Debian2

Den Bootloader für Debian 2 habe ich in sda6 installiert. Booten kann ich aber so nur Debian 1. Führe ich da update-grub aus, wird Debian 2 nicht gefunden. Ich habe jetzt also Debian 1 zum "Chefsystem" gemacht. Merkwürdig ist aber, dass in der grub.cfg von Debian 2 das erste System enthalten ist. Ich hätte also doch besser die Variante 2 wählen sollen und das Chefsystem zuletzt installieren, den MBR dabei jeweils überschreiben sollen.
Mit super-grub2-disk kann ich übrigens auch das 2. Debian problemlos starten. Nun wollte ich mir den Grub-Customizer auf Debian 1 installieren, das scheiterte aber an den Abhängigkeiten. Es sind Stretch-Debians installiert, da hapert es wohl noch etwas mit dem Grub-Customizer.
Die grub.cfg von Debian 1 händisch um den Eintrag von Debian 2 zu erweitern traue ich mir nicht zu.

Vielleicht installiere ich mal einfach das 3. Debian mit Überschreiben des MBR. :wink:
Vielleicht wäre es auch sinnvoll, erst alle 4 Systeme zu installieren und zum Schluss am Ende der Platte noch ein ganz kleines Minimalsystem als Chef zu installieren, das nur den Zweck hat, Grub zu verwalten für die anderen Systeme. Das System brauchte dann nicht mal verschlüsselt zu sein.
Ich möchte ja auch die Möglichkeit haben, später vielleicht mal das 3. Debian gegen ein anderes System zu tauschen.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Multibootsystem voll verschlüsseln?

Beitrag von NAB » 15.03.2016 00:19:51

ottonormal hat geschrieben:Die grub.cfg von Debian 1 händisch um den Eintrag von Debian 2 zu erweitern traue ich mir nicht zu.
Das wäre auch der falsche Platz. Der richtige Platz wäre /etc/grub.d/40_custom (von Debian 1).
Da kommen die "menuentry"-Blöcke aus der grub.cfg von Debian 2 rein, und zwar ganz unten. Nach einem "update-grub" werden sie dir beim nächsten Booten angezeigt. Keine Sorge, da kannst du nichts kaputt machen.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Multibootsystem voll verschlüsseln?

Beitrag von ottonormal » 15.03.2016 00:45:27

Ja, danke. :THX:
Ich werde mal schauen, im Moment läuft Installation Nr. 3. Das dauert wieder eeewig. Ich habe die netinstall-ISO, da hängt das immer beim Holen von einigen Dateien. Da werden Restzeiten von 8 Std. und mehr angezeigt, dann auf einmal geht es wieder ganz schnell.
Ich werde jetzt den Bootloader auf sda installieren und somit den alten von Debian 1 überschreiben. Ich hoffe, dass dabei dann auch die ersten beiden Debians gefunden und eingebunden werden.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Multibootsystem voll verschlüsseln?

Beitrag von ottonormal » 15.03.2016 18:29:53

Es ist geschafft und es funktioniert! :D
Ich habe es aber etwas umständlicher über den Grub-Customizer gemacht, es wäre sicher einfacher gewesen, die "menuentry"-Blöcke aus den grub.cfg der ersten 3 Debians direkt in /etc/grub.d/40_custom (von Debian 4) einzutragen. Ich war mir aber nicht sicher, wo genau so ein Block anfängt und wo aufhört. (Jetzt weiß ich es aber) :D

Meine Vorgehensweise war folgendermaßen:
Ich habe zuerst 3 Debian-Stretch installiert (mate, xfce und lxde). Dann als letztes noch ein Jessie (lxde) als "Chef" für den Grub-Bootloader weil ich darauf auch den Grub-Customizer installieren konnte.
Jedes System hat beim update-grub nur sich selbst gefunden und keine weiteren Systeme. Dann habe ich den Grub-Customizer gestartet. Der zeigte auch nur den Starteintrag von Debian 4 an. Diesen Starteintrag habe ich als Muster genommen für die anderen 3 Starteinträge die ich so im Grub-Customizer erstellen konnte. Die musste ich natürlich anpassen, die Informationen dafür sind ja in der jeweiligen grub.cfg vorhanden.
Ja, das hat auch sofort funktioniert, hinterher habe ich mir die "menuentry"-Blöcke in /etc/grub.d/40_custom angesehen, die waren dann natürlich vorhanden. Deshalb weiß ich jetzt auch, für's nächste mal, wie die aussehen müssen damit es dann etwas weniger umständlich wird.

Ich habe viel bei diesem Test in der Virtualbox gelernt und kann das bei der nächsten Neuinstallation auf meinem Rechner umsetzen.

Ich bin sehr dankbar für Eure Hilfe :THX:

Gruß, ottonormal


Und so sieht das Ergebnis aus:

http://www.pic-upload.de/view-30041721/ ... l.png.html
http://www.pic-upload.de/view-30041731/ ... n.png.html

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [Gelöst] Multibootsystem voll verschlüsseln?

Beitrag von NAB » 15.03.2016 18:55:15

Siehste ... geht doch :THX:

Wenn die anderen drei Linuxe ihren Boottloader auch nach /dev/sda installiert haben, werden sie ihn dir überschreiben und auf sich selber umbiegen, wann immer Grub aktualisiert wird. Aber das lässt sich leicht korregieren ... zum Beispiel mit der SuperGrub2Disk und einem "grub-install /dev/sda".
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Antworten