Anwendungsschwachstellen in Kubernetes-nativen Tools anzeigen
19. November 2019
0 Min. LesezeitAufbauend auf den neuen Kubernetes-Funktionen in Snyk Container haben wir getestet, wie sich Schwachstellendaten enger in das Kubernetes-Ökosystem integrieren lassen. Snyk bietet umfangreiche Dashboards und Reporting-Funktionen – ideal, wenn Sie sich ausschließlich auf Sicherheit konzentrieren. Aber was, wenn Sie beim Arbeiten mit Kubernetes nicht den Kontext wechseln möchten? Können wir die umfangreichen APIs in Snyk Container nutzen, um Schwachstelleninformationen näher an Kubernetes heranzubringen?
Kubectl und die Vulnerability-CRD
Eine Möglichkeit, Kubernetes zu erweitern, sind benutzerdefinierte Ressourcen. Mit diesem Mechanismus lassen sich Kubernetes neue Objekte hinzufügen, die anschließend mit Tools bearbeitet werden können, die mit der Kubernetes-API arbeiten. So kann Kubernetes neben Deployments und CronJobs auch Ihre neue Ressource verwalten. Verwenden wir eine Custom Resource Definition (CRD), um eine Schwachstelle zu beschreiben.
So können Sie überprüfen, ob die CRD korrekt installiert wurde:
Jetzt müssen wir unsere CRD mit Daten aus Snyk befüllen. Die Snyk-Kubernetes-Integration scannt Workloads im Cluster automatisch und ermittelt Schwachstellen in den zugehörigen Images. Wir können diese Informationen über die Snyk-API auslesen und mithilfe einiger Tools aus https://github.com/snyk-labs/ksnyk in Kubernetes einfügen.
Sobald die Informationen geladen sind, können wir mit jedem Kubernetes-API-Client die gefundenen Schwachstellen in unserem Namespace auflisten. Sehen wir uns das in kubectl an.
Die Ausgabe zeigt kurze Details zu den Schwachstellen, darunter den Schweregrad, den betroffenen Workload und das Paket im Image, das die Schwachstelle enthält. Noch ausführlichere Angaben, einschließlich einer vollständigen Beschreibung, erhalten Sie, wenn Sie eine einzelne Schwachstelle abfragen.
Schwachstellendaten in Ihren Octant-Dashboards anzeigen
Octant ist ein neues Kubernetes-Dashboard von VMware. Obwohl Octant erst vor Kurzem veröffentlicht wurde, deckt es bereits viele Funktionen der kubectl-CLI ab und bietet außerdem ein leistungsstarkes Plugin-Modell.
Anleitungen zur Installation des Snyk-Octant-Plugins und zum Importieren der entsprechenden Daten aus der Snyk-API in Kubernetes finden Sie unter https://github.com/snyk-labs/ksnyk. Beachten Sie, dass Sie Snyk Container-Kunde sein müssen, um die API zu nutzen.
Sehen Sie sich unten das Deployment-Dashboard an. Im Statusbereich sollten Schwachstellendaten angezeigt werden, darunter die Anzahl der Schwachstellen mit hohem, mittlerem und niedrigem Schweregrad im Workload.

Octant stellt auch Informationen zu Custom Resources hervorragend dar. Wenn Sie also die oben erwähnte Vulnerability-CRD installieren, zeigt Octant Schwachstelleninformationen zu jedem Workload im gerade angezeigten Namespace an.

Dieser Prototyp kratzt nur an der Oberfläche dessen, was wir in Octant anzeigen können. Es wird auch spannend zu sehen sein, wie sich das Octant-Plugin-Ökosystem entwickelt und wie wir Schwachstellendaten in Kubernetes mit anderen benutzerdefinierten Ressourcen kombinieren können.
Fazit
Wie bereits erwähnt, handelt es sich dabei um Experimente und nicht um fertige Funktionen. Wir freuen uns jedoch über frühzeitiges Feedback. Wenn Sie Snyk Container-Kunde sind, können Sie die Tools unter https://github.com/snyk-labs/ksnyk jetzt ausprobieren. Diese Dienstprogramme zeigen sowohl die Erweiterbarkeit der Kubernetes-Plattform als auch die Vorteile einer erstklassigen API in Snyk, auf der wir aufbauen können.
Container-Sicherheit mit Fokus auf Entwickler
Snyk findet und behebt automatisch Schwachstellen in Container-Images und Kubernetes-Workloads.
