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: 53125 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: 8282 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: 15511 |
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: 8282 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: 6 |
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: 6 |
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: 53 |
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: 53 |
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:
|