Ohne Schutz sind auch Container angreifbar Container-Sicherheit mit Anchore und Clair
Immer mehr Unternehmen setzen auf die Container-Technologie. Aus diesem Grund sind auch Lösungen notwendig, mit denen man die Sicherheit der Container und darin installierten Anwendungen sicherstellen kann. Wir zeigen wie man mit den Spezial-Tools Clair und Anchore und weiteren Schritten Container sicher machen kann.
Anbieter zum Thema

Bei Clair und Anchore handelt es sich um spezielle Anwendungen, mit denen die Sicherheit von Container-Umgebungen verbessert werden kann. Allerdings reicht der Einsatz der Lösungen nicht aus, um Container sicher zu betreiben. Es sind weitere Vorgehensweisen notwendig, um sicherzustellen, dass Netzwerke mit Containern sicher betrieben werden können.
Sicherheit mit der richtigen Vorgehensweise erreichen
Um die Sicherheit von Containern zu gewährleisten müssen Unternehmen eine Strategie entwickeln. Zunächst sollte sichergestellt sein, dass die Images, auf deren Basis Container erstellt werden, nur aus vertrauenswürdigen Quellen stammen. Hier bietet es sich an einen eigenen Pool anzulegen. Außerdem sollten Container möglichst wenige, unnötige Erweiterungen nutzen. Container-Images, die über öffentliche Quellen zur Verfügung gestellt werden, also zum Beispiel über den Docker-Hub, werden nicht sehr oft aktualisiert und auch Sicherheitslücken werden selten geschlossen. Daher kann es beim Einsatz solcher Container-Images zu Problemen kommen.
Wird in einem Container eine Shell installiert, können Angreifer aus dem Netzwerk oder Internet über diese Shell einen Angriff auf den Container starten. Es ist also wichtig, dass die generelle Sicherheit von Containern berücksichtigt wird, bevor Sicherheitstools diese noch verbessern.
Natürlich sollten Container-Verwaltungstools wie Kubernetes zum Einsatz kommen, inklusive der darin verfügbaren Sicherheitsfunktionen, um die Container-Infrastruktur zu verbessern.
Umgang mit Daten in Containern
Für eine verbesserte Sicherheit für den Umgang mit Containern spielt es auch eine wichtige Rolle, dass möglichst keine Daten in einem Container gespeichert werden. Container sollten schnell und einfach wiederherstellbar sein, ohne zuvor Daten auf den Containern sichern zu müssen. Persistente Daten werden also im Netzwerk in dafür vorgesehenen Datenspeichern abgelegt und gesichert. Container greifen nur auf diese Daten zu. Dabei darf es keine Rolle spielen, ob ein Container neu installiert wird.
:quality(80)/images.vogel.de/vogelonline/bdb/1577600/1577695/original.jpg)
Container und Microservices absichern
5 Tipps für mehr Sicherheit in DevOps-Umgebungen
Image-Scanner nutzen - Anchore und Clair
Wenn die Sicherheit der Container-Infrastruktur gewährleistet ist, kann mit zusätzlichen Tools, wie Anchore und Clair ein Scan der Images und der Container durchgeführt werden. Solche Scanner laden regelmäßig aktuelle CVE-Security-Feeds. Zusätzlich können die Scanner Paketkomponenten und die Container-Dateisystemstruktur lesen und scannen. Die Tools werden also vor allem dann eingesetzt, wenn unbekannte Container-Images eingesetzt werden müssen.
CoreOS Clair und Anchore sind beide Tools, die den gleichen Aufgabenbereich abdecken: Sie scannen Container und Containerimages nach Malware und Sicherheitslücken. Clair ist ein Open Source-Projekt zur Analyse von Schwachstellen in Container-Images. Das Tool sammelt Daten von Schwachstellen und speichert sie in seiner Datenbank. Erkennt Clair in einem Container-Image eine Schwachstelle, kann die Software Warnmeldungen und Berichte versenden, oder Implementierungen in Produktionsumgebungen blockieren. Clair arbeitet in diesem Bereich auch eng mit Kubernetes zusammen. Um Container-Images mit Clair zu scannen, ist es nicht notwendig, dass ein Container erstellt wird, der das Image nutzt. Clair greift direkt auf das Image zu.
:quality(80)/images.vogel.de/vogelonline/bdb/1535800/1535894/original.jpg)
Container müssen Teil der Cloud-Strategie sein
Die vernachlässigte Lücke in der Container-Sicherheit
Darum kann der Einsatz von Anchore Sinn machen
Anchore bietet zusätzlich eine anpassbare Policy Enforcement Engine. Diese lässt sich an die eigenen Anforderungen im Unternehmen anpassen. Wenn Unternehmen spezifische Compliance-Anforderungen erfüllen müssen, sollte der Einsatz von Tools wie Anchore geprüft werden. Auch für interne Sicherheits- und Richtlinienanforderungen kann es sinnvoll sein, parallel zum Sicherheitsscan von Images auch mit Richtlinien zu arbeiten. Anchore arbeitet also mehr als eine Liste von Schwachstellen ab (CVE), sondern kann parallel mit Richtlinien die Umgebung absichern. Der parallele Einsatz von Clair und Anchore ist also durchaus sinnvoll.
Wollen Unternehmen anpassbare Richtlinien erstellen, um spezifische Compliance-Anforderungen zu erfüllen, führt kaum ein Weg um Anchore herum. Die Lösung geht über das Scannen von Schwachstellen hinaus, und erweitert deutlich die Sicherheitsfunktionen für Container im Netzwerk. Fehlkonfigurationen, Best Practices für Compliance und andere Bereiche lassen sich durch Anchore abdecken. Dazu arbeitet Anchore auch mit Node, Ruby, Java und Python zusammen und bietet Administratoren und Entwicklern verwertbare Ergebnisse aus einer Policy-Engine, mit der CI-Builds blockiert, Berichte generiert oder über Webhook-Benachrichtigungen versendet werden können.
Die Enterprise-Version von Anchore bietet einen GUI-Client, RBAC, einen lokalen Datenfeed-Aggregationsdienst, Schwachstellendaten aus verschiedenen Quellen, erweiterte Berichte und Support auf Unternehmensebene.
Einstieg in die Container-Sicherheit mit CentOS Clair
Der Einstieg in das Scannen von Container-Images wird meistens über CentOS Clair vorgenommen. Clair lässt sich nicht nur lokal betreiben, sondern unterstützt auch die Bereitstellung in der Cloud. Auch in AWS oder Microsoft Azure werden Container eingesetzt, deren Images überprüft werden müssen. Clair nutzt PostgreSQL als Datenbank. Hier werden die Daten der Sicherheitslücken gespeichert, nach denen Clair in den Images sucht, die an die Umgebung angebunden werden. In AWS kann Clair zum Beispiel über die AWS CLI angebunden werden. Die Befehle dazu lauten:
git clone https://github.com/aws-samples/aws-codepipeline-docker-vulnerability-scan.git
cd aws-codepipeline-docker-vulnerability-scan
Clair selbst kann in einem Container betrieben werden. Das entsprechende Image lässt sich in einer Docker-Umgebung zum Beispiel mit dem folgenden Befehl integrieren:
docker pull quay.io/coreos/clair
(ID:46050972)