Der dritte Schritt besteht in der Gewährleistung, dass der Code auch dann sicher ist, wenn Nutzer Anwendungen von Drittanbietern – oder auch interne Apps – ausführen. Entwickler müssen bei der Versionskontrolle sorgfältig vorgehen sowie alle damit verbundenen und sich zwangsläufig schnell verändernden Sicherheitsrisiken vollständig verstehen. Hier lässt sich Static Application Security Testing (SAST) mit dem Source Code sowie Dynamic Application Security Testing (DAST) mit der App durchführen. Dabei übernimmt man programmatisch den Output eines Security-Scanners, zum Beispiel beim Vorschalten einer Web Application Firewall (WAF). Dies funktioniert wie folgt:
1. Erzeugen einer Sicherheitsrichtlinie über die Management-Oberfläche,
2. Importieren der Scan-Daten zu den gefundenen Schwachstellen,
3. Behebung bekannter Schwachstellen,
4. Überprüfung der neu erstellten Sicherheitsparameter.
Daten aus einem Schwachstellen-Scan bieten eine schnelle Möglichkeit, um neue WAF-Richtlinien zu erstellen. Unternehmen sollten aber bedenken, dass es in der Anwendung auch Schwachstellen geben kann, die der Scanner nicht erkennt. Daher ist es ratsam, eine automatische Lösung für die Erstellung von Richtlinien einzusetzen, die im Laufe der Zeit die Regeln verfeinert und die Sicherheit damit weiter erhöht. Außerdem sind Schwachstellen-Scans regelmäßig durchzuführen.
Ein weiterer wichtiger Punkt ist die Aktualisierung von System-Patches. Da das Aufspielen von Patches aufgrund vorgeschalteter Entwicklungsprozesse und Sicherheitsprüfungen oft relativ lange dauert, bietet sich Virtual Patching als schnelle Lösung an. Damit lässt sich die Ausnutzung einer Schwachstelle verhindern, ohne sie zu beheben. Dies funktioniert über eine entsprechende Regel in der WAF. Virtuelles Patchen ist aber nicht als Ersatz für das eigentliche Schließen der Schwachstelle zu sehen. Es handelt sich um eine Übergangslösung, die Entwicklern mehr Zeit gibt, um einen wirklich sicheren Patch zu erstellen.
Zudem sollten Unternehmen das „Prinzip der geringsten Rechte“ auf Komponenten anwenden, die außerhalb von Kubernetes laufen: Nutzer und Anwendungen erhalten nur jene Zugriffsmöglichkeiten und -rechte, die sie für ihre Aufgaben wirklich benötigen. Dies schützt sowohl vor Innentätern als auch vor Kriminellen, die sich Zugangsdaten und Benutzerkonten erschlichen haben. So können bösartige Akteure nur geringeren Schaden anrichten.
Fazit
Beim Einsatz von Kubernetes ist mit geeigneten Schutzmaßnahmen eine hohe Sicherheit zu gewährleisten. Dabei müssen Unternehmen ermitteln, an welchen Stellen welche Security-Prozesse existieren sollten. Dann können sie mittels geeigneter und aktueller Methoden auch moderne Micro-Services-Umgebungen vertrauensvoll nutzen.
Roman Borovits ist Senior Systems Engineer bei F5, www.f5.com.