ADMIN

2026

03

2026-02-25T12:00:00

IT-Automatisierung

PRAXIS

052

Open-Source-Tipp

Sicherheit

Integritätsprüfung

Integrität mit Keylime verifizieren

Fälschern auf der Spur

von Thorsten Scherf

Veröffentlicht in Ausgabe 03/2026 - PRAXIS

Viele Unternehmen verwenden Cloud-, Edge- und IoT-Umgebungen zum Betrieb ihrer Software und Services. In solchen Umgebungen ist jedoch selten ein physischer Zugriff auf die eingesetzte Hardware möglich und es besteht somit erhöhter Schutzbedarf, um nicht autorisierte Aktionen zu entdecken und Gegenmaßnahmen einleiten zu können. Und genau hier setzt Keylime an. Der Open-Source-Tipp stellt die Software vor und nimmt die einzelnen Komponenten unter die Lupe.

Keylime [1] ist ein Open-Source-Projekt, das Sie dabei unterstützt, vertrauenswürdige Infrastrukturen für kleine bis sehr große verteilte Cloudumgebungen aufzubauen. Die Software ermöglicht sowohl die Überprüfung des Boot-Vorgangs (Remote Boot Attestation) als auch die kontinuierliche Überwachung zur Laufzeit (Runtime Integrity Monitoring) von Systemen. Die technische Grundlagen bilden das Trusted Platform Module (TPM 2.0+) – ein Hardware-Sicherheitschip, der kryptografische Operationen durchführt und Messwerte über den Systemzustand speichert, sowie das Integrity Measurement Architecture (IMA) [2] System des Linux-Kernels.
Das in Python und Rust entwickelte Werkzeug ist als Sandbox-Projekt Teil der CNCF (Cloud Native Computing Foundation) und steht für RPM-basierte Linux-Distributionen als fertiges RPM Paket zum Download zur Verfügung [3]. Daneben ist natürlich, wie immer, auch eine Installation aus dem Quellcode [4] möglich und es existieren ebenfalls Container-Images, mit denen Sie die Software ohne großen Aufwand, in Kombination mit einer Container-Runtime wie Docker oder Podman, testen können [5][6].
Hashwerte im TPM-Chip
Beim Systemstart erzeugt Keylime für verschiedene Komponenten, wie beispielsweise den Bootloader, Kernel, initramfs und weitere kritische Dateien, eine kryptographische Prüfsumme und speichert den jeweiligen Hashwert in den Platform Configuration Registers (PCRs) des Trusted Platform Module (TPM). Keylime kann diese Werte abfragen und gegen bekannte, vertrauenswürdige Referenzwerte ("Golden Values") validieren. Stimmen die Werte überein, gilt der Start eines Systems mit diesen Referenzwerten als sicher. Dieser Vorgang wird auch als Boot-Attestation bezeichnet.
Keylime [1] ist ein Open-Source-Projekt, das Sie dabei unterstützt, vertrauenswürdige Infrastrukturen für kleine bis sehr große verteilte Cloudumgebungen aufzubauen. Die Software ermöglicht sowohl die Überprüfung des Boot-Vorgangs (Remote Boot Attestation) als auch die kontinuierliche Überwachung zur Laufzeit (Runtime Integrity Monitoring) von Systemen. Die technische Grundlagen bilden das Trusted Platform Module (TPM 2.0+) – ein Hardware-Sicherheitschip, der kryptografische Operationen durchführt und Messwerte über den Systemzustand speichert, sowie das Integrity Measurement Architecture (IMA) [2] System des Linux-Kernels.
Das in Python und Rust entwickelte Werkzeug ist als Sandbox-Projekt Teil der CNCF (Cloud Native Computing Foundation) und steht für RPM-basierte Linux-Distributionen als fertiges RPM Paket zum Download zur Verfügung [3]. Daneben ist natürlich, wie immer, auch eine Installation aus dem Quellcode [4] möglich und es existieren ebenfalls Container-Images, mit denen Sie die Software ohne großen Aufwand, in Kombination mit einer Container-Runtime wie Docker oder Podman, testen können [5][6].
Hashwerte im TPM-Chip
Beim Systemstart erzeugt Keylime für verschiedene Komponenten, wie beispielsweise den Bootloader, Kernel, initramfs und weitere kritische Dateien, eine kryptographische Prüfsumme und speichert den jeweiligen Hashwert in den Platform Configuration Registers (PCRs) des Trusted Platform Module (TPM). Keylime kann diese Werte abfragen und gegen bekannte, vertrauenswürdige Referenzwerte ("Golden Values") validieren. Stimmen die Werte überein, gilt der Start eines Systems mit diesen Referenzwerten als sicher. Dieser Vorgang wird auch als Boot-Attestation bezeichnet.
Über die Boot-Attestation hinaus nutzt Keylime die Linux Integrity Measurement Architecture (IMA), um auch zur Laufzeit Änderungen an Objekten zu überwachen. Wird ein File, typischerweise Binär- oder Bibliotheksdatei, modifiziert oder findet ein nicht autorisierter Austausch der Datei statt, erkennt Keylime dies und kann entsprechend darauf reagieren und entsprechende Maßnahmen einleiten – beispielsweise eine Isolierung des betroffenen Systems im Netzwerk.
Ein typischer Anwendungsfall für Keylime findet sich in Umgebungen, in denen sich Systeme physisch nicht vollständig kontrollieren lassen. Dies betrifft zumeist Cloud-, Edge- und IoT-Server in Rechenzentren, die nicht zum eigenen Unternehmensnetzwerk gehören.
Um in solchen Umgebungen eine integre Infrastruktur zu schaffen, muss bereits die initiale Installation eines Systems sicherstellen, dass lediglich Software aus verlässlichen Quellen zum Einsatz kommt und für den Boot-Vorgang sämtliche relevanten Komponenten auf Ihre Integrität hin überprüft werden. Darüber hinaus ist ebenfalls kontinuierlich nachzuweisen, dass das System unverändert und integer ist. Insofern erweitert Keylime bekannte Schutzmechanismen wie Secure-Boot und File-Integrity-Monitoring durch die Funktionen Remote-Boot-Attestation und Runtime-Integrity-Monitoring. Sie erhalten damit eine technisch belastbare Entscheidungsgrundlage, um Systemen automatisiert Vertrauen zuzuweisen oder wieder zu entziehen.
Zero-Trust-Architektur
Dieser Ansatz entspricht dem Zero-Trust-Prinzip: Vertrauen gibt es nicht im Voraus, sondern erst nach einem kryptografischen Nachweis. Dies ist besonders relevant für Umgebungen, in denen bestimmte Complianceanforderungen, wie sie beispielsweise der PCI-DSS Standard fordert, umzusetzen sind.
In der Praxis spielt Keylime seine Stärken insbesondere dann aus, wenn Infrastrukturen dynamisch bereitgestellt und automatisiert skaliert werden. In Cloud- und Edge-Szenarien lassen sich neue Systeme erst dann produktiv schalten, wenn sie eine erfolgreiche Boot- und Runtime-Attestation gegenüber dem Verifier nachgewiesen haben. Sie können diesen Zustand gezielt in Provisionierungs- oder Orchestrierungsprozesse integrieren, etwa indem Konfigurationsmanagement, Zugriff auf Secrets oder die Aufnahme in ein Overlay-Netzwerk erst nach erfolgreicher Attestation erfolgen. Damit wird Integrität zu einer überprüfbaren Voraussetzung für den Betrieb und nicht zu einer bloßen Annahme.
Drei wesentliche Komponenten
Die Keylime Architektur basiert auf drei wesentlichen Komponenten:
- Agent
- Registrar
- Verifier
Die Keylime-Infrastruktur besteht aus mehreren Komponenten, die über unterschiedliche Systeme verteilt sind.
Der Agent läuft auf jedem System, das Sie überwachen möchten, und kommuniziert zuerst mit dem Registrar. Dieser verifiziert die Identität des Agents indem es die EK- (Endorsement Key) und AIK- (Attestation Identity Key) Schlüssel des TPM-Chips überprüft. Der AIK ist ein vom TPM dynamisch generierter asymmetrischer Schlüssel, mit dem Keylime die Prüfsummen in den Platform Configuration Registers (PCR) signiert. Jeder Agent ist direkt mithilfe einer eindeutigen UUID identifizierbar.
Der Registrar kennt somit alle registrierten Agenten und speichert Informationen über diese in einer Datenbank ab. Um eine bidirektionale Authentifizierung zu gewährleisten, setzt Keylime auf das mTLS-Protokoll.
Der Verifier stellt das Herzstück einer Keylime-Umgebung dar. Sämtliche Prüfsummen, die die Agenten der einzelnen Systeme zuvor erzeugt haben, werden auf diesem System verifiziert. Die Agenten der einzelnen Systeme stellen diese Daten in regelmäßigen Abständen zur Verfügung. Im Detail handelt es sich hierbei um die Prüfsummen des IMA-Systems, die Keylime sowohl für die Boot-Attestation als auch das Integrity-Monitoring erzeugt. Diese Prüfsummen stellt das Kernel-Subsystem über die IMA-Logdatei "/sys/kernel/security/ima/ ascii_runtime_measurements" bereit.
Des Weiteren existieren einige CLI-Tools, die Sie dabei unterstützen, mit den einzelnen Komponenten zu kommunizieren, Systeme zu verifizieren und Policies zu laden und zu überprüfen. So erzeugen Sie mittels "keylime_policy" eine Runtime-Policy für ein bestimmtes System und über "keylime_tenant" deployen Sie diese Policy dann auf das gewünschte System, auf dem Sie zuvor den Keylime-Agenten konfiguriert haben. Das Tool keylime_tenant können Sie von einer ganz regulären Workstation aufrufen, solange dort das entsprechende Keylime-Paket installiert ist. Die Installation des Verifier und Registrar findet auf einem externen System statt. Gerne wird ein solches System auch als Blackbox, also ohne zusätzlich installierte Services, betrieben.
Wenn Sie nun neugierig geworden sind, empfehlen wir, einen Blick in den Get-Started-Guide [7] auf der Keylime-Webseite [1] zu werfen. Hier bekommen Sie eine Schritt-für-Schritt-Anleitung zur Installation, Konfiguration und zum Betrieb der einzelnen Keylime-Komponenten. Für einen einfachen Einstieg in die Integrity Measurement Architecture (IMA) empfehlen wir das Wiki [8] des Linux-Kernel Integrity Subsystems [9]. Dieses stellt auch einige beispielhafte IMA-Policies zur Verfügung, die Sie auf einem Keylime-Agent über die Datei "/etc/ima/ ima-policy" ausrollen können.
Fazit
Keylime ist eine weitere Komponente innerhalb einer Zero-Trust-Architektur. Die Software erhöht die Sicherheit verteilter Linux-Umgebungen, indem es Hardware-basierte Remote-Attestation und kontinuierliche Integritätsüberwachung ermöglicht. Durch die Integration von TPM 2.0, Boot-Attestation und IMA entsteht eine Umgebung, die Boot-Manipulationen und Runtime-Malware automatisch erkennt und bei Bedarf entsprechende Gegenmaßnahmen einleiten kann.
Links
[1] Keylime Projektseite: https://it-a.eu/q3pc1
[2] Integrity-Measurement- Architecture-Dokumentation: https://it-a.eu/q3pc2
[3] Keylime-RPM-Pakete: https://it-a.eu/q3pc3
[4] Keylime-GitHub-Repository: https://it-a.eu/q3pc4
[5] Keylime-Registrar-Container-Image: https://it-a.eu/q3pc5
[6] Keylime-Verifier-Container-Image: https://it-a.eu/q3pc6
[7] Keylime-Get-Started: https://it-a.eu/q3pc7
[8] Integrity Measurement Architecture (IMA) Wiki: https://it-a.eu/q3pc8
[9] Linux-Kernel Integrity Subsystem: https://it-a.eu/q3pc9
[10] IMA-Policies: https://it-a.eu/q3pc0