Sicherer Betrieb existierender Applikationen im Unternehmensumfeld mit Open Source-Werkzeugen

Andreas Peichert, Oktober 2015
Masterstudiengang Informatik - Komplexe Software Systeme

Der virtuelle Betrieb von Servern liefert die Basis des Cloud Computing zur Bereitstellung von Rechenkapazitäten als Dienstleistung. Bei dieser Server-Virtualisierung verwaltet ein Hypervisor die Ressourcen der Gast-Betriebssysteme. Im Vergleich dazu verzichtet die Betriebssystem-Virtualisierung auf diese Zwischenschichten und stellt laufende Prozesse voneinander abgetrennt auf dem gleichen System bereit. Mit Hilfe bestehender Funktionalität des Linux-Kernels werden Prozesse isoliert und in ihren Zugriffsberechtigungen beschränkt. Die kürzere Verarbeitungskette liefert Geschwindigkeitsvorteile, birgt aber auch Risiken, da der Kernel während des Betriebs nicht zwischen verschiedenen root-Benutzern von Gast und Wirt unterscheiden kann. Bei der Ausführung fremder Applikationen ist die Gewährleistung der Sicherheit wichtig, da der gleiche Kernel gemeinsam genutzt wird.

Die verwendete Methode der Bedrohungsanalyse ist an die vom Bundesamt für Sicherheit in der Informationstechnik (BSI) veröffentlichten IT-Grundschutz Vorgehensweise angelehnt. Zwei Schadensszenarien, durch übermäßige Ressourcenbeanspruchung und dem Ausbruch aus einer isolierten Umgebung stehen im Mittelpunkt der Untersuchung. Anhand dieser sind in einer Risikoanalyse die möglichen Auswirkungen auf die Sicherheit hin bewertet und Gegenmaßnahmen zur Absicherung ausgewählt worden. Für die prototypische Realisierung wurde Security-Enhanced Linux (SELinux) als Sicherheitserweiterung des Linux-Kernels eingesetzt. Dazu ist das Regelwerk der Docker-Policy von Fedora nach Debian portiert und angepasst worden. Mit Hilfe des so bereitgestellten Mandatory Access Control kann der Linux-Kernel unerwünschte privilegierte Aufrufe des root-Benutzers erkennen und zwischen Gast- und Wirt-System unterscheiden. Zur Protokollierung und Erkennung von Sicherheitsverletzungen wurde ein Security Information und Event Management (SIEM)-System eingesetzt, zur Erzeugung von Alarm-Benachrichtigungen aus Protokoll-Dateien. Als Ergebnis ist es somit einem Unternehmen möglich existierende Applikationen in virtualisierten Containern abgetrennt und sicher mit Hilfe von Open Source-Werkzeugen betreiben.