Hallo, ich habe vor, auf einem Raspberry Pi 4B Ubuntu MATE zu installieren. Das Image ist schnell heruntergeladen und es funktioniert auch soweit alles wie erhofft. Aber leider gibt es keine Möglichkeit der Vollverschlüsselung (außer /boot natürlich) mittels cryptsetup. Also muss man das System im nachhinein verschlüsseln. Diese Anleitung (leicht angepasst) https://github.com/NicoHood/NicoHood.github.io/wiki/Raspberry-Pi-Encrypt-Root-Partition-Tutorial hat leider nicht zum Erfolg geführt (hängt beim booten, kann /dev/mapper/crypt nicht finden). Dies hier https://stafwag.github.io/blog/blog/2020/07/12/manjaro-on-rpi4-full-disk-encryption/ sieht vielversprechend aus und ist recht aktuell, aber leider nicht für Ubuntu/Debian gedacht. Falls jemand ein verschlüsseltes Ubuntu-Derviat auf einem Raspberry Pi am laufen hat, dann wäre ich für Hilfe sehr dankbar.
Ubuntu MATE 20.04 auf Raspberry Pi 4B mit Verschlüsselung
Anmeldungsdatum: Beiträge: 21 |
|
||||||||||||||||||||||||||||||||
Supporter
Anmeldungsdatum: Beiträge: 53487 Wohnort: Berlin |
Man kann kein System im nachhinein verschlüsseln. Die Anleitung beschreibt (extrem verkompliziert), wie man eine Datei anlegt, in der man ein LUKS anlegt, in dem man ein Dateisystem erzeugt, in das man die Daten des installierten Systems reinkopiert. Das hat mit "nachträglicher Verschlüsselung" exakt nichts zu tun. |
||||||||||||||||||||||||||||||||
Supporter, Wikiteam
Anmeldungsdatum: Beiträge: 8558 Wohnort: Münster |
Das UbuntuUsers-Wiki enthält Anleitungen zum Aufsetzen eines verschlüsselten Systems. Siehe z.B.:
Die Besonderheiten, welche bei einer Installation für einen RPi gelten, musst Du zusätzlich beachten. |
||||||||||||||||||||||||||||||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 21 |
Okay, "im nachhinein verschlüsseln" war etwas unglücklich ausgedrückt. Man erstellt eine mit LUKS verschlüsselte Partition (keine Datei) und kopiert dorthin die vorher gesicherten Daten wieder zurück. Vorher muss man wohl noch (wie auch in anderen Anleitungen beschrieben) cryptsetup in initramfs einbauen. Soweit alles klar. Wie man grundsätzlich sein System oder auch andere Festplatten verschlüsselt ist mir geläufig. Nur den Bootvorgang auf dem Raspberry Pi bekomme ich nicht hin. |
||||||||||||||||||||||||||||||||
Anmeldungsdatum: Beiträge: 15844 |
Hallo chridazi, Nehme 20.10, das soll für den RP 4B funktionieren ... Gruss Lidux |
||||||||||||||||||||||||||||||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 21 |
Hallo Lidux, das Ubuntu MATE 20.04 funktioniert auch einwandfrei für den Raspberry Pi 4B. Es geht aber um die Verschlüsselung. Gibt es da beim 20.10 eine Option out-of-the-box? Kann ich mir schwer vorstellen, da man ja erstmal ein unverschlüsseltes Image auf die SD-Karte dumpt. |
||||||||||||||||||||||||||||||||
Supporter, Wikiteam
Anmeldungsdatum: Beiträge: 8558 Wohnort: Münster |
Vielleicht kannst Du uns einmal konkret die relevanten Dateien zeigen, welche für die Einbindung von Dateisystemen während des Bootvorgangs relevant sind? Z.B. /etc/fstab und /etc/crypttab, und zwar die Versionen, welche in der initrd.img eingebaut wurden. Auch die exakte Fehlermeldung könnte die Phantasie möglicher Helfer triggern. |
||||||||||||||||||||||||||||||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 21 |
Das Problem war der Splash-Screen beim booten, welcher die Eingabemaske für das Passwort verhindert. Daher habe ich diesen Beitrag korrigiert. Habe hier mal meine Vorgehensweise zusammengefasst:
Voila, der Raspberry Pi 4B mit Ubuntu MATE 20.04 und verschlüsseltem Dateisystem. |
||||||||||||||||||||||||||||||||
Anmeldungsdatum: Beiträge: 8 |
Also bei mir funktioniert das leider nicht, getestet habe ich sowohl mit "normalem" ubuntu, als auch mit ubuntu-mate. Einen Fehler kann ich ganz sicher schon benennen, nämlich in Zeile 26 greift bei mir der sed nicht, warum auch immer. Korrigiert habe ich es so, dass ich dann manuell die Anleitung von Zeile 22-25 durchgeführt habe.
Nützlich wäre, diesen Teil nochmals zu erläutern. Genau das scheint nämlich nicht korrigiert zu sein. Ich werde nicht nach einem PWD gefragt und das boot-system findet nichts ... |
||||||||||||||||||||||||||||||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 21 |
Wenn ich mich recht entsinne, legte sich der Splash-Screen über die Eingabemaske für das Passwort, so dass man keine Chance hatte, dieses überhaupt einzugeben. Zumindest sah man keine Eingabemaske, das Passwort ließ sich vielleicht trotzdem eingeben. Nach einer gewissen Zeit gab es dann ein Timeout und das System meldete, daß keine Boot-Platte gefunden wurde. Daher die Zeilen 16 bis 20 mit denen der Splash-Screen abgeschaltet wird. Der sed Befehl auf die /etc/fstab angewandt funktioniert evtl. nicht, wenn statt Tabulatoren Leerzeichen vorhanden sind. Die Datei /boot/firmware/cmdline.txt sieht bei mir momentan so aus:
Die Datei /boot/firmware/usercfg.txt:
Die Datei /etc/fstab:
Die Datei /etc/crypttab:
Hoffe dies hilft ein wenig weiter. |
||||||||||||||||||||||||||||||||
Anmeldungsdatum: Beiträge: 8 |
Allein das persönliche Home-Verzeichnis zu verschlüsseln muss nicht immer ausreichen - manche sensible Dateien liegen im System womöglich unverschlüsselt. Deswegen kann es von Vorteil sein, gleich das ganze System zu verschlüsseln. Leider bieten manche Distros bei der Installation keine oder schlechte Verschlüsselungsoptionen an. Mehrere Recherchen zum Thema "Raspberry Vollverschlüsseln" oder "Pi nachträglich verschlüsseln" oder auch "PC / Linux nachträglich vercrypten" haben immer wieder unzureichende Lösungen geboten. Daher hier eine Doku, in der Hoffnung, nützlich zu sein. Tatsächlich ist eine komplette Systemverschlüsselung nicht unbedingt notwendig, wenn man konsequent heikle Dateien bzw. sensible Verzeichnisse schützt. Dazu wird eine verschlüsselte Containerdatei erzeugt und via fstab eingebunden. Beim Hochfahren fragt das System das Passwort ab. Im Container liegt dann ein Script, das automatisch ausgeführt wird, und die zu schützenden Config-Files via Sym-Link auf den Crypt-Container "umbiegt". Verschlüsselung ermöglichen (=installieren)
Unter TwisterOS zusätzlich:
verschlüsselten Container erstellen
Freies loop-device erfragen und statt loop12 unten richtig eintragen. Es geht aber auch mit loop12, selbst wenn es nicht das unmittelbar nächst freie ist, sofern es noch nicht benutzt wird.
Device einbinden, im Falle von berryboot: sudo losetup /dev/loop12 /mnt/berryboot/crypt.img
Verschlüsseln & öffnen
Formatieren
Mount-Point für das Einhängen des Containers erstellen
Container einhängen
Verzeichnisse innerhalb des Containers anlegen (für das "umbiegen" heikler Verzeichnisse)
crypt-container automatisch mounten (System fragt beim booten nach dem PWD)
Skript automatisch beim Start einmalig
Home umziehen (Hier nur unvollständig angedeutet, das "alte" Home bleibt, daher kann man bei Bedarf auch ohne "neuem" Home (=rem in fstab, crypttab) arbeiten)
Das Script:
Bis dato getestet: am Raspberry: Ubuntu 21.10, Ubuntu-Mate, BerryBoot Ubuntu, Twister OS 2.1.2, am PC: Ubuntu, Linux Mint/Mate Anmerkung: Manchmal sieht man nicht das Anmeldefenster. Lösung: ESC-Taste drücken! |
||||||||||||||||||||||||||||||||
Anmeldungsdatum: Beiträge: 64 |
Hallo, erstmal vielen Dank für diesen Beitrag, er hat mir sehr weitergeholfen. Leider bei mir auch ohne Erfolg, allerdings mit MATE 22.04. Deshalb meine Ergänzungen. Im Zuge meiner neuen "grünen" IT stelle ich mein Serversetup auf VPS bei Hetzner und Raspis bei mir zuhause um. Ich habe seit einer Weile einen 4B/4GB an meinem Fernseher hängen. Er dient mir als NAS und verwandelt meinen einfachen Hisense in einen datenschutzfreundlichen Smart TV. Als NAS hatte ich eine alte 240 GB SSD in ein externes USB Gehäuse gepackt und via Samba freigegeben. Ein normales NAS kommt mir nicht mehr ins Haus, ich möchte selber updaten und FOSS verwenden. Ausserdem hab ich X2Go Server mit Mate Desktop drauf. Nach kleineren Problemen unter Ubuntu 21.10 läuft momentan ein Ubuntu Budgie 22.04 drauf. Ich hab dann die SSD durch eine grössere Intenso Premium SSD 512GB ersetzt und es sind laufend Hänger gewesen. Stecker ziehen und Neustart, ziemlich unbrauchbar. Ich hatte keinen Schimmer was da los ist, hatte in der fstab einfach die UUID geändert und hat auch geklappt bis ich via Samba ein Video geschaut hab und zack hängt! Bin dann in das Geschäft und habe es erläutert, eigentlich war mir klar dass es nicht an der neuen SSD liegen kann aber der Gedanke lag nah sie umzutauschen. Ja da sind ja meine Daten drauf und eine SSD zu löschen naja. Ich begann mich mit crypttab und luks zu versuchen. Erste Versuche ein verschlüsseltes Ubuntu zu installieren gelangen mir auf dem aktuellen Hetzner CX21. Hab einfach die CD ISO eingelegt und bei der Installation verschlüsseln lassen. Bin damit sehr zufrieden und weiss meine Credentials einigermassen sicher und einen Desktop in der Cloud. Als vor ein paar Tagen Mate 2204 rauskam wollte ich alle meine Devices damit betreiben. Es ist so schnell und meines Erachtens das beste Ubuntu. Gerade auf schwacher Hardware. Also hab ich eine externe USB SSD (für den Desktop und 2 Laptops) eingerichtet. Da kommt ja dann LVM dazu. Ich lernte cryptsetup Befehle und Namen hatte aber immer wieder Probleme da ich den Mechanismus mit dem initramfs nicht verstanden habe. Hab alles richtig eingetragen und er will immer auf die andere UUID zugreifen... Seit einer Woche ringe ich nun damit rum und vorhin ergab sich mein erstes Erfolgserlebnis. Ubuntu Mate 22.04 ARM64 auf meinem Pi ist vollverschlüsselt und startet sogar ☺ OK viel blabla hier nun meine Ergänzungen zu den Angaben vom Themenstarter. Ich fand weitere Artikel die sehr ähnlich sind. In einemhttps://github.com/NicoHood/NicoHood.github.io/wiki/Raspberry-Pi-Encrypt-Root-Partition-Tutorial fand ich den Hinweis mit dem fakecrypt.img, dass der initram nur mit cryptsetup gebaut wird wenn auch einer eingehängt ist. Hat aber auch nicht geklappt. Aber ich kam auf die Spur.
genau. Also für mich liegt die Lösung zwischen Zeile 19 und 20 in seiner Vorgehensweise, allerdings führt quiet splash nicht weiter, denn die Passworteingabe muss blind erfolgen, da nur ein schwarzer Bildschirm zu sehen ist. Vielleicht kennt da jmd eine Lösung dazu. chridazi schrieb:
Mithilfe des System verschlüsseln bin ich so vorgegangen. Dabei benutzte ich 2 SD Karten Meine Quell SD mit aktuellem zu verschluesseltem MAte 22.04. Eine zweite wo ich ein neues Mate draufgeflasht habe und ein USBstick mit PIOS für das rsync der beiden anderen.
So hat es bei mir geklappt. Allerdings habe ich diesen Beitrag direkt müde danach geschrieben und es ist mein erster dieser Art. Sind bestimmt noch Fehler drin. Beim Neustart nur mit der CryptSD kommt nach dem Farbscreen ein etwas hellerer schwarzer Bildschirm und ich hab dann gleich den Unterschied zu vorher gesehen, wo ich auch versucht habe das Passwort blind einzutippen. Nur diesmal klappt es und ich hab MATE 2204 in meinem Wunschsetup vollverschlüsselt. Falls jemand einen Hinweis hat wie man auch eine Passworteingabemaske hinbekommt wäre ich dankbar. Hab mittlerweile auch ein PIOS verschluesselt. Meine Anmerkungen dazu: Ebenfalls schwarzer Bildschirm beim boot. Blinde Passworteingabe. Ich vermute einen Zusammenhang mit den Grafiktreiber im Initramfs. Ausserdem hab ich beim PIOS das SD Laufwerk (/dev/mmcblk0) durch die UUIDs ersetzt, damit auch ein USB Boot erfolgreich ist. WICHTIG: Ich bin kein Profi und bei dd und rsync --delete werden Daten ohne Nachfrage Daten unwiderruflich gelöscht und man sollte genau aufpassen bzw. ein Backup haben falls was schiefgeht. |
||||||||||||||||||||||||||||||||
Anmeldungsdatum: Beiträge: 64 |
Hallo, meine Raspis und Laptops sind mittlerweile alle vollverschlüsselt. Dank diesem Beitrag. Nun ein Nachtrag bzgl. schwarzer Bildschirm beim Bootvorgang mit "blinder" Passwortabfrage. Seit dem letzten Kernelupdate 5.15.0-1014-raspi vom Sept.22 booten die Raspis perfekt mit Eingabeprompt. Bei Ubuntu Mate 22.04 läuft alles wie vorher auch, allerdings bootet der PIOS nicht mehr. Er hat ein anderes Initramfs generiert, werde mir das noch näher anschauen. ja schrieb:
|
||||||||||||||||||||||||||||||||
Anmeldungsdatum: Beiträge: 8 |
Also ich habe jetzt die Anleitung etliche Male ausprobiert, inzwischen ist ja auch schon einiges an Zeit vergangen, aber ich komme leider zu keiner Lösung. ja schrieb: Sind bestimmt noch Fehler drin. Vielleicht gibt es ja irgend einen Punkt, der völlig selbstverständlich ist, und ich nicht durchführe, und es deswegen nicht klappt? Ich habe versucht, diese Anleitung zu verstehen, und auch viele andere Anleitungen im Netz versucht. Es ist auch nicht eine Frage des OS. Es funkt einfach nicht bei mir. Ich habe obige Anleitung mehrfach durchgearbeitet und auch insofern etwas abgeändert, in dem ich versuche mit 2 sdcards durch zu kommen. Vielleicht kann ja bitte ein Berufener sich diese Lösung ansehen und mir mitteilen, wo ich was falsch gemacht habe. Danke vielmals. Via Imager PiOS 64Bit vom 5. Dezember 2023 installieren System full update
Installation der Luks Abhängigkeiten (vielleicht nicht alles nötig ...)
System neu starten
PIOS auf 2. sdcard clonen, damit wirklich alles gleich ist Raspi mit PIOS von sdcard booten. Mountpoint anlegen
Dann crypt erstellen
Die erstellte verschlüsselte LUKS-Partition öffnen, Dateisystem erstellen und einhängen
Daten von der internen sdcard auf die usb-sdcard kopieren
Ordentlich aushängen, sonst gibts einen Datenverlust
REBOOTEN, und zwar dieses Mal von USB quellSD System mit Quell SD im USB reader booten und Dann cryptSD in Slot einstecken. passwortabfrage beim Einstecken abrechen. Mittels CHroot in das neue System wechseln, das ist im wiki Artikel beschrieben und boot/firmware ebenfalls einhängen Und weil die Karte im internen Slot hängt, ist es eben mmcblk0p1 bzw. mmcblk0p2
fstab, crypttab und cmdline anpassen (ich bin ja jetzt root im cryptSYSTEM) sed greift bei mir nicht, weil ich in der cmdline.txt kein "root=LABEL=writable" habe daher manuell statt
nun
UND
LÖSCHEN So schaut jetzt meine cmdline.txt aus:
nano /etc/fstab Ersetze in /etc/fstab in die fstab
crypttab
Und JETZT das InitRD neu erstellen.
USB-sdcard entfernen und reboot. Fehlermeldung: /dev/mapper/crypt not found |
||||||||||||||||||||||||||||||||
Anmeldungsdatum: Beiträge: 64 |
Hi, ich habe zwischenzeitlich auch ein MX Linux für den Pi5 und ein aktuelles PIOS verschlüsselt. Bei PIOS hat anstatt MarccoOccram schrieb:
nur ein update-initramfs -u -k all geholfen. Bei MX war es dann glaub wieder das mkinitramfs. Entweder das eine oder das andere. Ich vermute du hast die Vorgehensweise verstanden, da du es schon so oft versucht hast. Heute abend habe ich etwas Zeit und ich schreib meine Vorgehensweise beim letzten U23.10 auf. #cmdline.txt zswap.enabled=1 zswap.zpool=z3fold zswap.compressor=zstd multipath=off dwc_otg.lpm_enable=0 console=tty1 root=/dev/mapper/cryptU2310 cryptdevice=UUID=xxxx-xxxxxxx-xxxx-xxxx-xxxx:cryptU2310 rootfstype=ext4 rootwait fixrtc quiet splash #crypttab cryptU2310 UUID=xxxx-xxxxxxx-xxxx-xxxx-xxxx none luks #fstab /dev/mapper/cryptU2310 / ext4 defaults 0 1 UUID=XXXX-XXXX /boot/firmware vfat defaults 0 1 Vielleicht hilft dir das bis dahin. |