IT-Grundschutz in LXC-Container verpackt
Gut separiert
LXC und Docker sind beliebte Container-Formate. Im produktiven Einsatz vernachlässigen jedoch viele das Thema Compliance, das einen später oft wieder einholt. Der Artikel zeigt anhand des BSI IT-Grundschutzes, wie sich die Compliance in einer LXC-Umgebung technisch umsetzen lässt.
Der BSI IT-Grundschutz bietet eine Methodik, mit der sich Informationen einer Institution oder eines Unternehmens angemessen schützen lassen (dieser und alle weiteren Links zum Artikel sind über „Alle Links“ im blauen Kästchen zu finden). Er besteht aus den BSI-Standards sowie den IT-Grundschutz-Katalogen. Die Vorgehensweise, die in den BSI-Standards festgelegt ist, dient zur Definition eines Informationssicherheitsmanagementsystems (ISMS) und ist kompatibel zum ISO-27001-Standard. Die IT-Grundschutz-Kataloge fungieren als Leitfaden zur Umsetzung des ISMS und sollen sowohl für IT-Verantwortliche als auch für Administratoren Informationen und Hilfestellungen liefern. Sie sind unterteilt in thematisch geordnete Bausteine. Speziell für virtuelle Umgebungen wurde der Baustein „B 3.304 Virtualisierung“ entwickelt. Er bündelt mögliche Gefährdungen und entsprechende Maßnahmen rund um das Thema Virtualisierung.
Für einen umfassenden Schutz ist es wichtig, die Systematik der Bausteine der IT-Grundschutz-Kataloge zu verstehen. Hierzu muss zunächst die Virtualisierungsumgebung als Ganzes modelliert werden (Modellierung nach IT-Grundschutz). Daraus ergeben sich weitere anwendbare Bausteine. Ein typisches Beispiel ist der Baustein „B 3.101 Allgemeiner Server“. Er ist immer anzuwenden, wenn ein IT-System als Server betrieben wird. Er enthält alle generischen Bedrohungen und Maßnahmen, während der Baustein „Virtualisierung“ die konkreten Bedrohungen und Maßnahmen zum Thema Virtualisierung darstellt.
Bei der Planung ist auf die Abgrenzung zu weiteren Techniken zu achten. So nutzen Cloud-Umgebungen immer die Virtualisierung als Basis, aber der Baustein ist davon klar abzugrenzen. Eine Cloud beschreibt die Dienstleistung zur Nutzung von IT-Leistungen. Die Virtualisierung hingegen beschreibt die technische Umsetzung zur Unterstützung dieser Dienstleistung.
Die in einem Baustein enthaltenen Maßnahmen sind in Siegelstufen unterteilt, die der Priorisierung dienen. Die Tabelle „Priorisierung der Maßnahmen“ zeigt diese Stufen. Im Baustein „Virtualisierung“ sind 22 Maßnahmen dargelegt, die es je nach geplanter Siegelstufe umzusetzen gilt. Die Maßnahmen der Siegelstufe „A“ sind immer umzusetzen. Die Tabelle „Maßnahmen des Bausteins ,Virtualisierung‘“ listet alle auf.
IT-Verbund „LXC“
Dieser Artikel beschreibt, wie man die technischen Maßnahmen des IT-Grundschutzes im Bereich der Virtualisierung mit LXC umsetzen kann. Berücksichtigt werden hier nur die Siegelstufen A und B, die für die meisten Anwender relevant sein dürften. Für das Grundlagenwissen zu LXC (Linux Containers) sei auf mehrere zu diesem Thema erschienene Artikel verwiesen. Eine Erweiterung von LXC ist LXD, das ein Management der Container über eine REST-API ermöglicht. Auch LXD soll hier nicht Gegenstand sein. Vielmehr geht es um die Einstellungen, mit denen sich die Container konform zum IT-Grundschutz betreiben lassen.
Am Anfang jeder IT-Grundschutz-Umsetzung steht die Modellierung eines IT-Verbundes. Im vorliegenden Beispiel ist die Modellierung vereinfacht und eine kleine Umgebung definiert. Die Vorgehensweise lässt sich aber ohne Weiteres auf viele Hundert Anwendungen skalieren und abbilden. Die Umgebung besteht der Einfachheit halber daher nur aus dem LXC-Server und zwei Clients. Bei den Clients handelt es sich um einen Webserver sowie einen Test-Webserver. Als Betriebssystem wird Ubuntu 16.04 eingesetzt und Apache als Webserver (siehe Abbildung).
Nach der IT-Grundschutz-Modellierung sind die folgenden Bausteine auf den vereinfachten IT-Verbund „LXC“ anzuwenden: Allgemeiner Server (B 3.101), Server mit Unix (B 3.102), Virtualisierung (B 3.304), Anwendung Apache (B 5.11) und Webanwendung (B 5.21).
Die Aufzählung ist nicht komplett, da für eine vollständige Umsetzung des BSI IT-Grundschutzes weitere Bausteine erforderlich sind. So fehlen zum Beispiel in dieser Modellierung die Bausteine zu Räumen, Netzen und Personal. Stattdessen stellt der Artikel die sechs technischen Maßnahmen aus dem Baustein „Virtualisierung“ detaillierter dar.
Gut geeignet für den konformen Einsatz im Rahmen des IT-Grundschutzes ist Ubuntu 16.04. Es bietet langen Support in der gleichnamigen Variante (LTS, „Long Term Support“) und der Hersteller Canonical unterstützt LXC, sodass für Ubuntu stets aktuelle Versionen bereitstehen. Diese pflegt Ubuntu im Rahmen eines Personal Package Archive (PPA) ein.
Das System muss nun entsprechend den Maßnahmen aus dem Baustein „Virtualisierung“ konfiguriert werden. Zu jeder Maßnahme hat das BSI Prüffragen definiert, anhand derer man abgleichen kann, ob alle Anforderungen erfüllt sind.
Verteiltes Administrieren von Servern
Die erste technische Maßnahme des Bausteins „Virtualisierung“ besteht in der Aufteilung der Administrationstätigkeiten bei Virtualisierungsservern (M 2.446). Für das Rechtemanagement kann man das von Linux angebotene Konzept einsetzen. Benutzer lassen sich entweder lokal oder per Anbindung an einen Verzeichnisdienst wie Active Directory oder LDAP verwalten. Ebenso wichtig bei der Planung ist eine Definition der späteren Systembenutzer. Da LXC-Container nicht als privilegierter Benutzer ausgeführt werden sollten, sind entsprechende nicht privilegierte Benutzer anzulegen.
Durch den Zugriff auf den LXC-Server können sich weitere Angriffsszenarien ergeben. Daher sollte auch zwischen Administratoren der eigenen Institution und Dritten unterschieden werden. Lässt man Dritte auf einen Container zugreifen, sollte man ihnen keinesfalls Zugriff auf den LXC-Server gewähren.
Administratoren der Container sollten auf dem LXC-Server maximal mit den Rechten eines normalen Benutzers arbeiten dürfen. LXC erlaubt beispielsweise das Ausführen eines Containers als normaler Systembenutzer. In sehr kleinen Institutionen entfällt diese Trennung vermutlich, da hier meist nur ein bis zwei Administratoren das System betreiben und warten.
Für diese Maßnahme legte das BSI die folgenden Prüffragen fest:
– Wurde geprüft, ob eine Aufteilung der Administratorrollen für die virtuelle Infrastruktur notwendig ist?