iX 7/2018
S. 108
Report
Sicherheit
Aufmacherbild

Entwurf des BSI-Bausteins zu Containern

Trendiger Schutz

Container finden immer häufiger Verwendung in produktiv eingesetzter Software. Das BSI erweitert deswegen sein IT-Grundschutz-Kompendium um einen Baustein zu deren Einsatz.

Mit der steigenden Verbreitung von Containern gerät deren Sicherheit in den Fokus. Auch bei Behörden und Firmen in Deutschland sind Container heute eine strategisch gesetzte Technik. Das BSI hat daher einen Entwurf eines Bausteins für das Grundschutz-Kompendium veröffentlicht (siehe ix.de/ix1807108), der den Nutzern einen Leitfaden an die Hand gibt, wie sie Container sicher und zuverlässig einsetzen können. Alle Nutzer des BSI-Kompendiums sind gebeten, diesen Entwurf zu kommentieren, bevor ihn die nächste Version aufnimmt und er für Zertifizierungen relevant wird.

Tabelle
Tabelle: Kreuzreferenz aus dem Baustein Container-Sicherheit

Wie alle Bausteine seit der Novellierung des IT-Grundschutzes im August 2017 gliedert sich dieser Baustein in die Stufen Basis, Standard und Erhöht. Er enthält auf jeder Stufe Anforderungen, die das BSI für den Betrieb von Containern für notwendig erachtet. Zu jedem Baustein gehört außerdem eine Kreuzreferenz, die zeigt, welche Anforderung welches Risiko abdeckt. Zu Beginn einer Zertifizierung im Rahmen des IT-Grundschutzes etwa steht eine Risikoanalyse, aus der sich ergibt, welche Anforderungen zu erfüllen sind.

Tabelle
Tabelle: Für den Baustein Container relevante Gefährdungen

Bei der Novellierung hat das BSI das Vorgehen zur Risikoanalyse stark vereinfacht. Der Gefährdungskatalog enthält 47 Gefährdungen, die für alle IT-Landschaften zu beachten sind. Dies reicht von physischen Risiken wie Hochwasser über Fehler der Anwender bis hin zum Angriff. Daneben enthält jeder Baustein spezifische Gefährdungen (siehe Tabelle „Für den Baustein Container relevante Gefährdungen“). Bei Containern sind dies vor allem Schwachstellen in Images, ungesicherte administrative Zugänge, potenzielle Schwachstellen der Orchestrierung, fehlende Persistenz und die Verwaltung von Zugangsdaten. Ein weiteres wichtiges Thema ist die Separierung der Anwendungen und eventuell der Mandanten.

Dieser Artikel wird nicht alle Anforderungen aufzählen oder erklären, aber für die wichtigsten Risiken die relevanten Anforderungen aufzeigen, um einen Einblick in die Herangehensweise und den Umfang zu geben.

Basis der Absicherung bilden die Container-Hosts. Deswegen sind immer die Bausteine „Allgemeiner Server“ und „Server unter Linux“ anzuwenden. Zusätzlich enthält der Baustein die Anforderungen „SYS.1.6.A3 Härtung des Host-Systems“ und „SYS.1.6.A4 Härtung der Software im Container“ in der Basisstufe.

Prozesse in eingeschränkter Umgebung

An der Frage, welche Separierung angemessen ist, scheiden sich die Geister. Im Prinzip sind Container nur chroot-Umgebungen, die man bei Linux seit den 1990ern kennt, oder Jails, die BSD Anfang des Jahrtausends einführte. Nebenbei sei erwähnt, dass die Großrechner-Welt schon immer Container hatte. Letztlich sind sie wie die Paravirtualisierung, die vor 15 Jahren aufkam, nur Prozesse in einer eingeschränkten Umgebung – vergleichbar mit der Sandbox von Java. Der Vergleich hinkt etwas, da bei Containern die Abschottung über Cgroups und Namespaces des Kernels geschieht, aber er ist absichtlich gewählt, denn besonders diese Sandbox war eher ein Sieb, zumindest was die Zahl der Schwachstellen über die Jahre angeht. Und auch ein Linux-Kernel ist nicht ohne Fehler.