Alle Artikel

Dieser Mist ist schwer: Chainguard OS schlank, aktuell und sicher halten – die Kraft der Garbage Collection

James Page, Principal Software Engineer, und John Slack, Senior Product Manager

Die „This Shit is Hard“-Reihe von Chainguard beleuchtet die schwierige technische Arbeit, die wir bewältigt haben, um erstklassige Ergebnisse für Kunden zu liefern, die unsere Produkte nutzen. Wir haben bereits mehrere wichtige Themen behandelt, darunter die Chainguard Factory, Chainguard Libraries für Java, unsere Integrationen mit verschiedenen Scanner-Partnern, die kürzliche Härtung von glibc, unsere Implementierung von SLSA Level 3 und das Konzept von „Zero Trust“ in Open-Source-Software. Heute zeigen wir, wie wir Chainguard OS, die Engine, die alles antreibt, was wir bei Chainguard tun, schlank, aktuell und sicher halten.

Bei Chainguard entwickeln wir ständig Innovationen, um die sicherste Open-Source-Software für Entwickler bereitzustellen. Ein kritischer, oft übersehener Aspekt dieser Mission ist die „Garbage Collection“ – die systematische Entfernung nicht benötigter Pakete aus unseren Paket-Repositories. Dabei geht es nicht nur um Ordnung; es ist eine grundlegende Sicherheitspraxis.

Warum Garbage Collection für die Sicherheit unerlässlich ist

Die Chainguard Factory ist ein Kraftwerk, das jede Woche Tausende automatisierter Paket-Updates produziert. Ohne einen robusten Garbage-Collection-Prozess sammelten wir einen langen Rattenschwanz an älteren, nicht gewarteten Paketen in Chainguard OS- und Wolfi APK-Repositories an. Auf dem Höhepunkt enthielten die Wolfi APK-Repositories über 300.000 Pakete, von denen viele vor Jahren erstellt wurden, bekannte CVEs enthielten und durch neuere Versionen derselben Pakete ersetzt worden waren. Obwohl diese verbleibenden Pakete nicht aktiv in Chainguard-Container-Images verwendet wurden, vergrößerten sie die potenzielle Sicherheitsangriffsfläche für unsere Kunden erheblich – von denen viele Pakete zur Anpassung von Images verwenden. Garbage Collection stellt sicher, dass das Paketarchiv, das zum Erstellen und Anpassen von Chainguard-Container-Images verwendet wird, schlank, aktuell und vor allem sicher bleibt.

Problem im industriellen Maßstab, automatisierte Lösung

Die Verwaltung von Hunderttausenden von Paketen ist ein Problem im industriellen Maßstab, das einfach nicht manuell bewältigt werden kann. Pakete haben einen komplexen Abhängigkeitsbaum, und ein naiver Ansatz zur Paketentfernung könnte leicht Container-Images oder Image-Anpassungs-Workflows beschädigen. Deshalb ist unsere Abhängigkeitsanalyse innerhalb der Factory vollständig automatisiert. Unser Prozess beginnt mit einem zeitbasierten Filter, der auf alles abzielt, was älter als 12 Monate ist. Diese Kandidaten werden dann rigoros gegen unsere Container- und VM-Images sowie Paket-Build-Definitionen geprüft, um sicherzustellen, dass sie nicht aktiv in Chainguard-Produkten verwendet werden. Dies stellt sicher, dass wir die Konsistenz und Reproduzierbarkeit im gesamten Archiv jederzeit aufrechterhalten.

Wir nutzen auch Daten, um zu verstehen, welche Pakete unsere Kunden in ihre angepassten Images aufnehmen, und arbeiten mit diesen Kunden zusammen, um auf neuere Pakete zu migrieren. Diese „Leitplanken“ sind entscheidend; sie stellen sicher, dass unsere Garbage-Collection-Bemühungen nicht versehentlich etwas nachgelagert beschädigen – stattdessen hält die Garbage Collection das Archiv sicher und nachhaltig.

Wir haben auch daran gearbeitet, sicherzustellen, dass diese Prozesse umkehrbar sind; Chainguard kann jedes Paket innerhalb von 60 Tagen nach der Entfernung wiederherstellen.

Die richtige Aufbewahrungsfrist finden

Chainguard erstellt Container-Images täglich neu und arbeitet mit Rolling Releases. Diese dynamische Umgebung erfordert einen durchdachten Umgang mit der Paket-Historie. Historisch gesehen haben wir eine „Historie für immer“ beibehalten, was die Möglichkeit bot, auf jeden vorherigen Zustand zurückzugreifen, aber auch zu einer ständig wachsenden Sammlung ungenutzter Pakete führte. Traditionelle Distributionen verfolgen oft den entgegengesetzten Ansatz und ersetzen alte Versionen vollständig, was die Reproduzierbarkeit beeinträchtigen kann.

Mit Chainguard OS haben wir eine ausgewogene Strategie gewählt: Wir pflegen eine 12-monatige Historie. Diese Dauer ist lang genug, um jeden aktuellen Build Bit für Bit zu reproduzieren, aber kurz genug, um die Ansammlung endloser veralteter Pakete zu verhindern. Dieser Ansatz schafft Vertrauen in eine verifizierbare Lieferkette für unsere Kunden, ohne die Sicherheitslast eines ständig wachsenden Archivs.

Für Wolfi haben wir ebenfalls mit einer 12-monatigen Aufbewahrungsfrist begonnen, planen jedoch, diese in Zukunft auf eine 3-monatige Aufbewahrungsfrist zu reduzieren.

Chainguard OS: Ihre sichere, kompatible Distribution

Chainguard OS ist das sichere Fundament, das alles antreibt, was wir bei Chainguard tun, aufgebaut auf einer Philosophie des Minimalismus und der kontinuierlichen Erneuerung. Bei diesen „Garbage Collection“-Prinzipien geht es nicht nur darum, Dinge sauber zu halten; sie sind ein bewusster Sicherheitsmechanismus. Durch das automatische Entfernen ungenutzter oder veralteter Software minimiert Chainguard OS die potenzielle Angriffsfläche und reduziert Ihre Anfälligkeit für ungepatchte Schwachstellen. Dieser disziplinierte Ansatz stellt sicher, dass nur die aktuellsten, verifizierten und notwendigen Komponenten im System verbleiben.

Das Ergebnis ist ein schlankes Betriebssystem, das einfacher zu prüfen, schneller neu zu erstellen und von Natur aus vertrauenswürdiger ist. Da Chainguard eine 12-monatige rollierende Historie beibehält, können Entwickler immer noch eine perfekte Reproduzierbarkeit für aktuelle Builds erreichen, ohne jahrelangen, riskanten Ballast zu erben. Im Wesentlichen wendet Chainguard OS die Logik von „Weniger ist mehr“ im industriellen Maßstab an; es verwandelt das, was ein ausuferndes, komplexes Ökosystem sein könnte, in eine streng verwaltete, kontinuierlich verifizierte Basis, die sichere, reproduzierbare Software-Lieferketten ermöglicht.

Wenn Sie mehr über Chainguard OS und die damit verbundenen Vorteile erfahren möchten, lesen Sie unser Whitepaper „Chainguard Your OS“ und sehen Sie, wie Chainguard OS den Weg für Sicherheits-, Effizienz- und Produktivitätsgewinne in Ihrem Unternehmen ebnen kann.

Share this article

Verwandte Artikel

Want to learn more about Chainguard?

Contact us