Dienstgeräte - Verschlüsselung des home

Hallo Martin,

ich dachte Ubuntu 22.04 kommt erst im April dieses Jahres.

Viele Grüße

Wilfried

Hallo Wilfried,

ja, aber im kompletten Gegensatz zu Microsoft, wo man das Release kaum verwenden kann (Bananensoftware: reift beim Kunden) kann man bei ubuntu relativ schmerzfrei schon Monate vor Releas die Dinger installieren.
Ich hab das früher sehr oft gemacht, meist, weil ich aktuellere Softwarepakete wollte oder brauchte.
Am frühsten war ich mal Mitte Januar dran mit einem .04 Release (ich schätze, das war 2009).
Das letzte mal, dass ich so einen Stunt gemacht habe war das selber runterladen und kompilieren eines neueren Kernels: damals hatte ich gerade meinen Ryzen gekauft. Müßte irgendwann 2018 gewesen sein.
Der Kernel in Ubuntu hat den noch nicht so gut unterstützt: es gab Probleme mit dem Sound des ASUS Boards und den Stromsparfunktionen des Ryzen.
Ein aktueller Kernel hat das behoben. Der Ryzen 7 1700X läuft noch immer auf dem Board von damals in meinem Rechner.

LG

Holger

Hallo Holger,

gut zu wissen. Mich hat es auch interessiert, weil ich mir vorgenommen hatte, sobald mein Ubuntuclient 20.04 „serienreif“ ist (momentan läuft in der Schule noch bionic), zeitnah das upgrade auf 22.04 zu probieren. Dann wäre bis 2027 mal Ruhe.

Viele Grüße

Wilfried

Hallo!

Es ist hier nicht der Ubuntu-Client für die LMN7 gemeint. Ob der linuxclient7 funktioniert habe ich noch nicht probiert.
Es ist ein Ubuntu 22.04 für die Leihgeräte (Schüler und Lehrer). Ich musste den Schritt gehen (obwohl einiges noch nicht geht, z.B. Bildschirm teilen in BBB, weil das bei Wayland generell noch nicht geht und Xorg bei 22.04 einen Fehler wirft), weil wir 4 unterschiedliche Laptopsorten von 4 Herstellern bekommen haben und ich nur so Standby und HDMI-Ausgang zum Laufen bekommen habe.
Wenns einer haben mag, einfach melden :slight_smile:
Man kann sich momentan wöchentlich über neue Features freuen, gerade habe ich entdeckt, dass man rechts oben die Energieeinstellungen direkt vornehmen kann!
Hoffentlich kommt nicht mal ein Feature, dass mir die Lehrergeräte kaltstellt…
LG
Max

1 „Gefällt mir“

Moin,
falls hier auch KDE-User mitlesen: Mit KDE Vaults geht das Verschlüsseln einzelner Verzeichnisse sehr einfach und komfortabel. Ferner kann man dann die verschlüsselten Daten auch mit einer Cloud synchron halten (was bei den entschlüsselten Daten ja weniger sinnvoll wäre). Allein deswegen würde ich kein voll verschlüsseltes Dateisystem nehmen - wie macht man da stressfrei ein Backup?
LG
Andreas

1 „Gefällt mir“

Moin, das klingt sehr sinnvoll.
Aber einerseits sollte auch die Cloud die Daten server-verschlüsselt ablegen und im Idealfall kommst du mit 2FA an deine Daten in der Cloud - und dann wäre ein plaintext-Kopie deiner Daten die zugänglichere Variante (Von jedem sicheren Rechner kommt man an verschlüsselte Daten).
Andererseits hindert den Otto-Normal-Nutzer ja auch nicht das verschlüsselte System (oder nur verschlüsselte Home) zu nutzen und dann zusätzlich verschlüsselte Verzeichnisse oder Container zu erstellen, die dann mit einer (z.B. unverschlüsselten) Cloud gesynct werden.

Ist ein bisschen wie bei einer Kühlkette:
Entweder arbeitest du direkt im Kühllager und schickst die Ware mit Hilfe von Kühlschränken in andere Kühllager, aber sobald du das Kühllager betritts kommst du an dein Dinge. Und es hindert dich niemand daran trotzdem die Dinge zusätzlich im Kühlschrank im Kühllager aufzubewahren.
Oder du arbeitest bei Raumtemperatur und holst dir immer die Dinge aus deinen Kühlschränken und fürs Backup schickst du die Kühlschränke auf die Reise.

NAja, hinkt ein bissl.

Der Punkt aber ist: beim Arbeiten mit Raumtemperatur wird die Ware evtl. unbemerkt schlecht. A.k.a. Daten werden evtl. unverschlüsselt auf dem Rechner abgelegt.

Ich habe Kollegen, die sich fragen, ob empfange Emails per thunderbird dann auch verschlüsselt abgelegt sind, und ich muss bei ~.thunderbird eben passen: ne, ist nicht verschlüsselt, wenn ich nicht das System oder das Home verschlüssele.
Ebenso, was (temporär) Anhänge angeht, die in /tmp/.mozilla.... abgelegt werden.

VG, Tobias

Und noch ein Argument das für Vollverschlüsselung gilt:
Wer mal seinen Laptop weitergeben soll/muss, der sollte dafür sorgen, dass die Daten weg sind. Bei SSD/NVMe ist das m.E. ganz schön schwierig, denn die „Platte“ oder das Filesystem schreibt Daten hin, wo es will und bei einem „zeroing“ löscht es nicht unbedingt tatsächlich die Daten.

Wer sein System vollverschlüsselt, der hat (nahezu) keinen Platz mehr auf der SSD, wo unverschlüsselt DAten liegen können. ODer seh ich das falsch?
VG, Tobias

Hi Holger, kannst du das erklären, oder steht das irgendwo in ASK oder in offiziellen Dokumenten. Bin hier das erste Mal drübergestolpert… man sieht, dass wir uns schon sehr lange nicht mehr gesprochen haben… ich verpasse irgendwie viel.

Hallo Tobias,

Hi Holger, kannst du das erklären, oder steht das irgendwo in ASK oder
in offiziellen Dokumenten.

ich habe irgend wann vor ca. einem Jahr mal gehört, dass es ein
essentieller Unterschied ist, ob der Lehrer ein Dienstgerät (wird vom
Dienstherrn bereitgestellt und supportet) oder ein Leihgerät bekommt.
Nein: leider weiß ich nicht mehr wo das steht oder wer das gesagt hat.
Ich verbreite es aber trotzdem, weil es mir einleuchtet.
Wären es Dienstgeräte, dann müßten wir uns hier nicht darüber
unterhalten, wer das einrichtet und wer den Support macht: dann wäre das
klar.

Wer an seiner Schule Geräte vom Dienstherren direkt an die Kollegen
fertig eingerichtet und mit Supportansprechpartnern bekommt, der kann
die gerne Dienstgeräte nennen: dann ist auch klar, wer die
Datenschutzkonform einzurichten hat.

Wer von irgendwem Palettenweise Geräte bekommt mit einem lapidaren „da
habt ihr sie“ und sich dann selber um provisionierung und Ausgabe
kümmern muss, dem würde ich raten, diese Geräte Leihgeräte zu nennen und
nicht Dienstgeräte (so mach ich das zumindest).
Ich denke nämlich, dass es nicht die Tätigkeit des Endusers ist, die den
Namen des Gerätes definiert sondern andere Dinge

Bin hier das erste Mal drübergestolpert… man
sieht, dass wir uns schon sehr lange nicht mehr gesprochen haben… ich
verpasse irgendwie viel.

… ja, das müssen wir beheben.
Ich denke, wir sollten dieses Jahr unbedingt wieder ein Listengrillen
machen.
25.6 wäre doch ein guter Termin …

LG

Holger

1 „Gefällt mir“

Hallo Holger,

ich kann an dem Samstag nicht :sleepy:
Klar, man kann den Termin nicht jedem Recht machen. Aber schade, würde euch gerne mal wieder sehen.

Viele Grüße
Steffen

Hallo @martin.res, hallo @dorian ,

ich habe mir jetzt unabhängig von dir, Martin, noch die Mühe gemacht und noch die Verschlüsselung der Leihgeräte mit LUKS durchgezogen. Den Nachteil, den du schreibst: „kann nur ein Benutzer“ habe ich hingenommen, da es sich wirklich um einzel-Verleihen von Geräten geht. Wenn eines zurück geht, kann der/die nächste sich das einrichten. Daher habe ich beschlossen das über zwei Partitionen zu regeln: „tmp“ für das TMP-Verzeichnis und /var/tmp wie bei dir und „/home/user“ für den User.

Entscheidend ist die (1) Vorbereitung der Partitionen und eben noch ein paar Kleinigkeiten um einen lokalen User sich einloggen zu lassen und (2) ein turnkey-Skript, das die Verschlüsselung erstellt und das Einbinden des verschlüsselten User-Homes macht.

Momentan macht das bei mir pam_mount.
Jetzt kommt eventuell @dorian ins Spiel:

  • Ich habe das Gefühl, dass pam_mount zu Gunsten von pam_exec rausgeflogen ist… also würde ich das gerne im Sinne des linuxmuster-linuxclient7 „richtig“ machen… bloß wie?
  • Ich habe mein turnkey-Skript in bash und zenity geschrieben wegen der vielen Bash-Befehle, sonst würde ein python-skript mit einer GUI auch gehen.
  • Ich würde mir wünschen, dass wir uns hier einigen, wie man am besten einen oder mehrere lokale User anlegt und das dem linuxmuster-linuxclient7 Befehl zur Einrichtung beibringt. Ich habe z.B. einen user „anonym“ für autologin falls kein Leihgerät und nicht im Netzwerk. Ich habe einen User „alex“ für obiges Einloggen und Einrichten der Verschlüsselung und dann gibt es noch „linuxadmin“, den wohl jeder hat… usw. da gibt es verschiedene Ansätze, kann ich mir vorstellen.

Hier mal zwei Beispiele in Aktion (erster Versuch nochmal gelöscht, weil der admin.key fehlt)

Ich würde mich freuen, wenn wir die Version von Martin oder mir in linuxmuster-linuxclient7 einbauen könnten, so dass das jeder einrichten kann.

Hier noch mein Skript inkl. Desktop-Datei: linuxmuster-privateaccount-turnkey.tgz (3,2 KB)

Und ich habe es auf der Wikiseite noch dokumentiert: anwenderwiki:linuxclient:home_verschluesselung [CommunityWiki]

VG, Tobias

Hallo Tobias,

warum willst Du den linuxmuster-linuxclient auf den Leihgeräten haben? Eigentlich braucht man den doch nicht, oder willst Du in der Schule dann die Serverhomes mounten lassen?
Meine Sorge wäre hier, dass wenn es Updates gibt, irgendwas nicht mehr geht, was man normalerweise mit einem neuen Image löst, aber das geht ja bei diesen Geräten nur schwierig.

Ich hätte ein Ubuntu 22.04 für den Zweck, wenn Du magst…
LG
Max

Morgen!

Oh, danke für das abermalige Angebot, und wenn mein Ansatz scheitert, dann komm ich auf dein Angebot zurück.

Aber: ja ich will dasselbe image wie in der Schule, sonst ist das für manche Lehrer ja kein Vorteil.

Ich habe meinen Lehrern angekündigt: sie können entweder selbst updates machen, oder sie stöpseln ab und zu ihren Rechner ins grüne Netz (jeder hat einen eigenen Adapter) und kriegen ein neues Image mit update.
Das home-Verzeichnis bleibt davon unberührt.

Es fehlt daher nur noch ein „leihgeräte“-switch, so dass das Image weiß, dass der Lehrer z.B. seinen offline-Nutzer behalten kann. Ich gebe zu, das habe ich noch nicht ganz durchdacht, weil im Image ja /etc/passwd und /etc/shadow und /etc/group definitiv drin sind…Aber das lässt sich ja lösen: Es sind sicher nur ein paar wenige Dateien, die im Falle eines „Leihgeräte“-Switch-on anders sind als in allen anderen Fällen.
Und mir geht es auch nicht um den linuxmuster-linuxclient7 an sich. Die Funktionalität von server-homes usw. sollte man auch deaktivieren können. Mir ging es um die neue Funktionalität: offline-user ordentlich einrichten zu können und zu aktivieren / deaktivieren.

VG, Tobias

Hi,

Ich denke, das ist out-of-scope für den Linuxclient, wenn dann sollte es als eigenes Paket ausgeliefert werden.
Der beste Weg, das in den Linuxclient zu integrieren, ist meiner Meinung nach mit Hookscripten (onLogin, onLogout, …).

VG
Dorian

Hi Dorian,
ok schade.
ist aber meine Annahme richtig, dass pam_mount zu Gunsten von pam_exec rausgeflogen ist?
VG, Tobias

Hi Tobias,

Neija, was heißt „zu gunsten von“? pam_exec und pam_mount haben im linuxclient nichts miteinander zutun. pam_exec benutzen wir einfach nur, um beim Login und Logout das onLoginLogoutAsRoot Script auszuführen (siehe: Script calling strategy · linuxmuster/linuxmuster-linuxclient7 Wiki · GitHub). Und pam_mount wurde früher benutzt, um ein einzelnes share beim Anmelden einzuhängen. Mit der neuen Struktur gibt es aber viel mehr shares als ein einzelnes (z.B. von GPOS), weshalb ich eine einheitliche API zum Einhängen von Shares gebaut hab (siehe: Module: shares — linuxmuster-linuxclient7 1.0.8-1 documentation).
Ein einzelnes Share über pam_mount einzuhängen ist daher nicht mehr sinnvoll, da es einfach nur overhead ist. Siehe den commit, in dem ich es rausgeworfen habe:
https://github.com/linuxmuster/linuxmuster-linuxclient7/commit/cbe2426e386eec0eb9fcbff3fa044bbc1768faf9
Es ist einfach nur das pam_mount rausgefolgen, ohne, dass neuer Code gebraucht wurde, um es zu ersetzen.
Das Einhängen der Shares passiert außerdem nicht im onLoginAsRoot (weil da das Kerberos Ticket noch nich verfügbar ist), sondern im onLogin (aufgerufen durch profile.d, s.o.):
Home: linuxmuster-linuxclient7/onLogin at a6115cfec0ea7fbfae13ec36f3e27b87c09934c9 · linuxmuster/linuxmuster-linuxclient7 · GitHub
Sysvol: linuxmuster-linuxclient7/onLogin at a6115cfec0ea7fbfae13ec36f3e27b87c09934c9 · linuxmuster/linuxmuster-linuxclient7 · GitHub
GPOs: linuxmuster-linuxclient7/onLogin at a6115cfec0ea7fbfae13ec36f3e27b87c09934c9 · linuxmuster/linuxmuster-linuxclient7 · GitHub

Ich hoffe, das schafft ein bisschen Klarheit :slight_smile:
Viele weitere Infos über Konzepte/Interna finden sich im Wiki und der Dokumentation

VG,
Dorian

2 „Gefällt mir“

Super ausführliche Antwort, Dorian, vielen Dank!
Die API-Doku hatte ich gefunden, aber die sagte mir natürlich nicht, wie was abläuft. Und ich wollte auch nicht genauer fragen, bevor ich nicht einen funktionierenden und aktuellen linuxmuster-linuxclient7 habe. (Da ich noch unter linbo 2.x bin und von 7.1 das linuxclient7-paket nicht gezogen habe, funktioniert bei mir noch einiges nicht richtig, weswegen ich immer fleißig Funktionalität des lc7 abschalte :)…

Damit bleibt für pam_mount ja entweder Platz für meine Lösung, oder ich bastel mein mount in die onLogin(AsRoot) Scripte…

Was deine Meinung: „das sprengt den Rahmen des lc7“… habe ich nochmal nachgedacht. Wenn die Funktionalität von linuxmuster-linuxclient7 nur wäre: „Es führt automatisiert den Domänenbeitritt aus und das vereinheitlicht das Management von Liux- und Windowsclients durch Auslesen der GPO-Konfigurationen im Active Directory.“, dann ok.
Aber das ist ja etwas untertrieben:

  • prepare-image nimmt typische (generische) Bereinigungen an einem Linuxsystem vor.
  • /etc/systemd/system/linuxmuster-linuxclient7.service als klassischer systemd-service greift in das System zu Bootzeit und in autostart zu login-zeit ein
  • dem template-System zufolge greift es in pam, lightdm/sddm, krb, nss, smb und timesyncd
  • konfiguriert sudo

das hat alles meines wissens nicht so wahnsinnig viel mit dem zu tun, was als GPO im AD steht, oder?

Will damit nur sagen: Wenn es den Bedarf für eine (einheitliche, einfach) out-of-AD-reach-Nutzung (a.k.a. offline-client) gäbe, dann wäre sicher viel über hook-skripte machbar, aber manche Teile von linuxmuster-lc7 würde man evtl. auch gern abhängig von der offline-Nutzung oder online-Nutzung ab- oder anschalten können.
Ich werde es einfach ausprobieren: Wenn ich mir nicht zu helfen weiß, schalte ich lc7-Features ab, um einen offline-client zum Laufen zu bringen und dann melde ich mich, ob das auch eleganter geht.

VG, Tobias

Doch:

  • prepare-image räumt nur Sachen auf, die von der AD-Anmeldung oder GPOs erzeugt werden (Drucker, Userhomes, Gecachete Nutzer, …)
  • Der systemd service wird benötitgt, um beim boot/shutdown eine Serververbindung aufzubauen und das serverseitige sysstart / sysstop script (und die entsprechenden lokalen) auszuführen
  • Alle Templates beziehen sich auf den AD login:

Alles, was der Client im Moment macht, geht nicht hinaus über:

  • Useranmeldung
  • GPO:
    • Shares einbinden
    • Drucker installieren
  • Hookscripte
  • Python API für das alles

Und das würde ich auch gerne so beibehalten. Das kann er und er ist darin auch relativ robust (wie man daran sieht, dass @Michael sich schon lange nicht mehr beschwert hat). Lieber wenige Sachen machen und die dafür gut :wink:
Dazu kommt noch, dass es bei der Verschlüsselung ja auch viele individuelle Anforderungen gibt und es nicht so einfach ist, eine einzelne Lösung zu finden, die immer funktioniert und jeden Edge-case abdeckt. Auch Sachen wie as automatische Managen von Profilordnern hab ich genau deshalb nicht eingebaut.

Ja, das ist ein Punkt, der noch nicht wirklich gut unterstützt ist. Offline Unterstützung ist tatsächlich etwas, das noch verbessert werden könnte. Aber auch dann geht Verschlüsselung über den client hinaus.

Ich empfehle dir, alle Scripte mit Python3 zu machen. Dann kannst du direkt die bestehende Library benutzen und wir können auch neue apis einbauen, wenn bedarf ist.
Auch über weitere Hooks können wir gerne reden, auf dem Plan steht im Moment noch einer für prepare-image: Add hook to run custom script on prepare-image · Issue #35 · linuxmuster/linuxmuster-linuxclient7 · GitHub

VG
Dorian

1 „Gefällt mir“

Äh, wann beschwere ich mich hier jemals? Meine Intention ist jedenfalls eine andere und soll der Sache dienlich sein…

War nicht böse gemeint :wink: