Systemd: Lennart Poettering möchte das Home-Verzeichnis modernisieren
Der Entwickler Lennart Poettering und seine Kollegen arbeiten an portablen und sichereren Home-Verzeichnissen fĂĽr Linux.
(Bild: Pixabay)
Unix-artige Betriebssysteme wie Linux konnten sich unter anderem deswegen äußerst erfolgreich im Markt behaupten, weil sie extrem flexibel sind – vom smarten Zuhause über Millionen Webserver in der Cloud bis in den Weltraum, es gibt passende Unix-Derivate für fast alle Einsatzzwecke. Aber immer wieder leiden diese Systeme auch an unveränderlich in Granit gemeißelten Standards aus der Computer-Steinzeit. Home-Verzeichnisse sind so ein Fall. Ihre mangelnde Flexibilität macht es mitunter schwer, die persönlichen Daten von Linux-Nutzern zu schützen und variabel bereitzustellen. Das will Linux-Entwickler Lennart Poettering jetzt ändern. Er hat einen Plan vorgestellt, um Home-Verzeichnisse portabel und einfach verschlüsselbar zu machen.
Systemd will die Kontrolle ĂĽbernehmen
Poettering, der seit Jahren an der mittlerweile von fast allen Linux-Distributionen verwendeten Init-Alternative Systemd arbeitet, will diesem System einen neuen Dienst hinzufügen, der die traditionellen Home-Verzeichnisse um neue Funktionen erweitern soll. Systemd-Homed, so der typisch lapidare Titel dieses neuen Systemdienstes, soll es ermöglichen, Home-Verzeichnisse etwa auf einem USB-Stick zu speichern. So kann ein Anwender seine persönlichen Daten von System zu System mitnehmen. Für die Programme auf dem jeweiligen System sieht es dann so aus, als ob die Daten wie gewohnt etwa in /home/fabsh liegen, in Wirklichkeit kommen sie aber vom Stick der unter /media/flashdrive gemounted ist.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
Der Systemd-Dienst biegt die Pfade im Hintergrund um und kümmert sich darum, dass die Identität des USB-Stick-Nutzers mit der Anmeldung auf dem System übereinstimmt. Das ist wichtig, um sicherzustellen, dass Zugriffsrechte für Dateien korrekt beachtet werden. Neben Verzeichnissen auf USB-Sticks, externen Festplatten oder anderen Partitionen sollen aber auch Netzwerkverzeichnisse wie etwa SMB-Shares als Quellen für das Home-Verzeichnis des Anwenders möglich sein. Das würde es erlauben, in großen Organisationen das Home-Verzeichnis eines Nutzers zentral auf einem Server abzulegen und dann zu einzelnen Workstations zu synchronisieren. Die Home-Verzeichnisse können über den Systemd-Befehl homectl administriert werden.
/home soll sicherer werden
Das eigentliche Endziel von Poettering und seinen Entwickler-Kollegen ist es allerdings, die Home-Verzeichnisse sicherer zu machen. Dazu will er es ermöglichen, die unterliegenden Verzeichnisse zu verschlüsseln. Und zwar so, dass nur der jeweilige Nutzer an seine Daten herankommt. Poettering ist es ein Dorn im Auge, dass privilegierte Systemdienste auf die Home-Verzeichnisse der Nutzer zugreifen können. Da ist er sich mit vielen Sicherheitsexperten einig, die in der Vergangenheit immer wieder auf dieses Problem hingewiesen haben. So führt es etwa zu Sicherheitsproblemen, dass ein mit Systemrechten ausgestatteter Webserver auf die Home-Verzeichnisse der Nutzer zugreifen kann, auch wenn er dies nicht braucht, um seine Arbeit zu machen.
Ein Angreifer, der es schafft, über eine Web-Applikation den Webserver-Dienst zu kompromittieren, kann so etwa an private Daten der Nutzer kommen. Das ist lange kein reines Problem für Server-Admins mehr, da auch viele Desktop-Programme mittlerweile Webserver starten und diese oft nicht so gut gegen Angriffe von außen geschützt sind, wie sie sein sollten. Ab Werk verschlüsselte, transportable Home-Verzeichnisse würden aber auch vielen professionellen Anwendern zugutekommen. Nach Poetterings Plänen sollen mit LUKS oder fscrypt verschlüsselte Partitionen für das eigene Home-Verzeichnis auf dem USB-Stick oder Laptop schließlich die dort angesammelten privaten Daten schützen. Zum Beispiel dann, wenn das Gerät im Zug vergessen oder irgendwo geklaut wird.
Um das alles möglich zu machen, will Poettering die Home-Verzeichnisse als Loopback-Devices mounten und verschlüsseln, wenn das Gerät heruntergefahren oder in den Ruhezustand versetzt wird. Das Nutzerpasswort soll dabei für den Anwender unsichtbar im Hintergrund ebenfalls das Home-Verzeichnis aufschließen. Hardware-Token, Poettering stellt vor allem Yubikeys heraus, sollen als Alternative zum Passwort funktionieren. Metadaten zum Nutzerkonto sollen in Partitions-Headern gespeichert werden, damit Systemd vor dem Mounten die Identität des jeweiligen Nutzers prüfen kann. Die meisten Techniken, die für diese Features benötigt werden, sind bereits in Systemd oder dem Linux-Kernel vorhanden. Laut Poettering ist der Systemd-Homed-Code fast einsatzbereit.
Historisch gewachsene Probleme
Zur Umsetzung ihrer Pläne mussten die Systemd-Entwickler allerhand historisch gewachsene Probleme lösen, die aus der zu anfangs erwähnten mangelnden Flexibilität der in die Jahre gekommenen Unix-Standards entstanden sind. Etwa die Tatsache, dass der User Identifier (UID) eines Anwenders auf jedem Linux-System anders und an die Home-Partition gekoppelt ist. Systemd muss also die UIDs auf einzelnen Systemen nachhalten und mit der UID eines portablen Home-Verzeichnisses abgleichen, um sicherzustellen, dass diese alle denselben Nutzer repräsentieren. Hinzukommt, dass UIDs traditionell nicht unterschiedlich genug sind, weil sie nie dazu gedacht waren, Nutzer über verschiedene Systeme hinweg zu identifizieren. Falls es zu einer UID-Kollision auf einem System kommt, muss Systemd deswegen dem Nutzer eine neue UID zuteilen und die zu dem Nutzer gehörigen Dateirechte entsprechend anpassen.
(Bild:Â Lennart Poettering)
Aber auch weitere Nutzerdaten, die nicht direkt vom Linux-Kernel, sondern von anderen Systemkomponenten verwaltet werden, machen Probleme. Etwa Zugangsdaten und Krypto-Schlüssel für Remote-Verbindungen. Diese werden laut Poettering in allerhand "Nebenschauplatz-Datenbanken" gespeichert. Systemd muss diese Metadaten erkennen und mit ihnen entsprechend umgehen, beziehungsweise sie an anderen Stellen speichern als sonst üblich. Dafür haben die Entwickler User Records implementiert, die das JSON-Format nutzen und unter anderem als .identity-Dateien gespeichert werden können. Allerdings sind einige der Probleme sind noch nicht für alle Einsatzzwecke gelöst. Poettering und seine Kollegen wollen sich allerdings zuerst auf die Nutzungsgewohnheiten von Laptop-Anwendern konzentrieren. (ovw)