Welche Software läuft wirklich auf einem Server, und mit welcher Konfiguration? Administratoren beantworten diese Frage heute meist mit Inventarlisten, Konfigurationsmanagement und Scannern. Das Berliner Start-up Amutable, das systemd-Erfinder Lennart Poettering mitgegründet hat, will sie mit Kryptografie beantworten. Wie heise online berichtet, ist seit Ende Oktober die Anmeldung für die Private Preview von Amutable Foundations geöffnet. Eine kleine Gruppe von Design-Partnern soll in den kommenden Wochen Zugang erhalten.

Schreibgeschützt und signiert

Foundations ist ein imagebasiertes, schreibgeschütztes Linux. Die System-Volumes schützt dm-verity, ein Kernel-Mechanismus, der jeden gelesenen Block gegen einen Hash-Baum prüft. Die Maschine startet nur signierte Unified Kernel Images und misst per Measured Boot, was sie lädt. Einen Paketmanager, SSH-Zugang oder eine interaktive Shell gibt es nicht. Administratoren arbeiten über eine strukturierte Schnittstelle, und jede Änderung kommt als neues signiertes Image auf die Maschinen.

Der entscheidende Unterschied zu bisherigen Immutable-Distributionen liegt laut Amutable bei der Konfiguration. Measured Boot erfasst üblicherweise Firmware, Bootloader und Kernel. Konfigurationsdateien, die etwa Ansible oder cloud-init auf eine beschreibbare Partition schreiben, fließen dagegen in keinen Messwert ein. Zwei Server mit identischen Messwerten können also völlig unterschiedlich konfiguriert sein, etwa mit einer anderen SSH-Konfiguration oder einem zusätzlichen Zertifikat. Foundations kompiliert deshalb auch die Konfiguration in signierte, integritätsgeschützte Images, die beim Einspielen gemessen werden.

Identität aus Messwerten

Jede Maschine schickt beim Start und danach regelmäßig einen vom TPM-Chip signierten Bericht mit den Messwerten von Boot-Kette und Konfiguration an eine zentrale Control Plane. Die Messwerte lassen sich bis zum nächsten Neustart nicht zurücksetzen, eine manipulierte Maschine kann ihren Bericht also nicht schönen. Erzeugt wird er von systemd-report, an dem Amutable mitentwickelt hat; signieren kann das noch experimentelle Werkzeug seit systemd 262.

Die Control Plane vergleicht jeden Bericht mit dem Soll-Zustand. Davon hängt ab, was die Maschine darf: Mit veralteter Konfiguration erhält sie etwa keine Datenbank-Zugangsdaten, und wenn ihre Messwerte nach einem Neustart abweichen, darf sie keinem Cluster mehr beitreten. Ein Rollout läuft nur weiter, solange aktualisierte Maschinen einen korrekten Zustand melden.

Für wen das interessant ist

Das Konzept richtet sich an Betreiber größerer Serverflotten, die Compliance-Anforderungen nachweisen müssen oder sich gegen Manipulationen in der Lieferkette schützen wollen. Der Verzicht auf SSH und Shell ist allerdings ein Kulturwandel: Fehlersuche per Login auf dem Server entfällt, alles muss über Images und Schnittstellen laufen. Zu Preisen und allgemeiner Verfügbarkeit hat Amutable bislang keine Angaben gemacht.