
Asiri - stock.adobe.com
Sichern Sie Kubernetes mit diesem Kubescape-Tutorial
Kubescape ist ein Open-Source-Tool für Kubernetes, das automatisierte Sicherheitsscans durchführt und Konfigurationen mit Best Practices von Sicherheits-Frameworks vergleicht.
Jedes Unternehmen, das Kubernetes einsetzt, muss dessen Sicherheit priorisieren, aber Kubernetes verfügt über keine integrierten Sicherheitsüberprüfungsfunktionen. Tools wie Kubescape helfen dabei, den Prozess der Identifizierung von Risiken im Zusammenhang mit Komponenten und Konfigurationen in einem Kubernetes-Cluster zu automatisieren.
Kubescape ist eine Open-Source-Sicherheitsplattform für Kubernetes. Sie scannt verschiedene Arten von Ressourcen – beispielsweise YAML-Dateien, die Cluster und Helm-Charts konfigurieren –, um bekannte Sicherheitslücken zu erkennen. Die Plattform vergleicht die Konfigurationen automatisch mit den Best Practices zur Sicherheit, die von der National Security Agency und der Cybersecurity and Infrastructure Security Agency, CIS Benchmark und MITRE ATT&CK Frameworks definiert wurden. Anschließend meldet sie Einstellungen, die von den Empfehlungen der Frameworks abweichen.
Die manuelle Überprüfung von Konfigurationen und Ressourcen in Kubernetes ist zwar möglich, aber zeitaufwändig und in großen Clustern nicht durchführbar. Der für die Sicherheit von Kubernetes zuständige IT-Administrator muss die wichtigsten Arten von Scans kennen, um Kubernetes zu schützen. Mit Kubescape lassen sich Risiken auf einfache und effiziente Weise erkennen.
Einschränkungen von Kubescape
Die Hauptfunktionalität von Kubescape beschränkt sich auf Sicherheitsscans. Es handelt sich nicht um ein Sicherheitsüberwachungs-Tool für Kubernetes.
Kubescape hilft nicht dabei, Anzeichen für laufende Angriffe zu erkennen, wie zum Beispiel böswillige Anfragen an Anwendungen, die in Kubernetes ausgeführt werden. Verwenden Sie für diesen Anwendungsfall ein Sicherheitsüberwachungs-Tool, das Daten aus einem Kubernetes-Cluster erfassen und Anomalien oder ungewöhnliches Verhalten erkennen kann, die auf eine Sicherheitsverletzung hindeuten.
So installieren Sie Kubescape
Sie können Kubescape in den meisten Umgebungen mit einem Curl-Befehl installieren:
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
Dieser Befehl lädt das Kubescape-Installationsskript von GitHub herunter und führt es aus. Der Vorgang sollte zwei bis drei Minuten dauern.
Scannen mit Kubescape
Die beiden wichtigsten Möglichkeiten, Kubescape zum Scannen zu verwenden, sind das Scannen eines gesamten Clusters oder das Scannen bestimmter Ressourcen.
Cluster-Scan
Beim Cluster-Scan wird Kubescape angewiesen, alle Teile des Clusters zu scannen, die es analysieren kann. Um einen Cluster-Scan auszuführen, geben Sie Folgendes ein:
kubescape scan
Verfeinern Sie den Scan, indem Sie einen Namespace mit dem Flag --include-namespaces angeben.
kubescape scan --include-namespaces dev
Schließen Sie bestimmte Namespaces mit --exclude-namespaces aus.
kubescape scan --exclude-namespaces prod
Ressourcen-Scan
Um eine bestimmte YAML-Datei oder ein Helm-Chart zu scannen, anstatt einen gesamten Cluster oder Namespace, führen Sie den Befehl kubescape scan gefolgt vom Pfad zur Ressource aus, wie im folgenden Beispiel:
kubescape scan /path/to/file.yaml
Wenn Sie einen Pfad zu einem Verzeichnis angeben, scannt Kubescape alles in diesem Verzeichnis. Kubescape unterstützt das Scannen von URLs, um Remote-Dateien zu scannen.
Interpretation der Scan-Ergebnisse
Nach dem Scan erstellt Kubescape einen Bericht, in dem alle erkannten Risiken beschrieben werden. So kann beispielsweise eine Übersicht über die Sicherheitslage eines Clusters bereitgestellt werden.
In dieser Übersicht zeigt Kubescape eine Zusammenfassung der Sicherheitslage des Clusters, einschließlich der Anzahl der Benutzer, die administrative Aktionen ausführen können. Für jedes Ergebnis größer als 0 sollten Sie die Notwendigkeit bewerten und dann eine Ausnahme definieren, um es zuzulassen. Diese Basislinie kann verwendet werden, um Abweichungen in Zukunft zu erkennen.

In diesem Beispiel identifiziert Kubescape drei Risiken in zwei Konfigurationskategorien: Zugriffskontrolle und Netzwerk. Jedem Risiko ist ein Befehl zugeordnet, zum Beispiel kubescape scan control C-0007 -v, mit dem Details dazu abgerufen werden können, warum Kubescape das Risiko identifiziert hat und wie es behoben werden kann.
Standardmäßig gibt Kubescape die Scan-Ergebnisse in der Befehlszeile aus. Sie können jedoch mit den Flags --format und --output beim Starten eines Scans in verschiedenen anderen Formaten (zum Beispiel HTML und PDF) gespeichert werden.
Um die Ausgabe beispielsweise als HTML-Datei mit dem Namen output-file.html zu speichern, führen Sie Folgendes aus:
kubescape scan --format html --output output-file.html
Optimale Nutzung von Kubescape
Beachten Sie bei der Verwendung von Kubescape die folgenden Best Practices:
- Führen Sie detaillierte Scans durch: Das Scannen eines gesamten Clusters nimmt Zeit in Anspruch und kann zu potenziellen Risiken führen. Teilen Sie Scans daher nach Namespaces auf oder Scannen Sie einzelne Ressourcen.
- Scannen Sie vor der Bereitstellung: Erkennen Sie riskante Konfigurationen, bevor Sie sie anwenden. Führen Sie Kubescape-Scans für YAML-Dateien und Helm-Charts durch, solange diese noch lokale Dateien sind, bevor Sie sie in einem Cluster bereitstellen.
- Vertrauen Sie den Ergebnissen von Kubescape nicht blind: Kubescape erkennt Risiken auf der Grundlage gängiger Sicherheits-Frameworks. Cluster-Konfigurationen können jedoch von den Standardkonfigurationen abweichen, sodass die Ergebnisse von Kubescape weniger relevant sind. Es ist zwar sinnvoll, Kubescape als Ausgangspunkt für die Identifizierung von Risiken zu verwenden, aber gehen Sie nicht davon aus, dass jedes gefundene Risiko gültig ist. Eine Ressource, die Kubescape als sicher einstuft, ist nicht zwangsläufig auch für Ihre Konfiguration optimal konfiguriert.
- Halten Sie Kubescape auf dem neuesten Stand: Wenn Sie Kubescape wie zuvor angegeben mit curl installieren, wird es nicht automatisch aktualisiert, wenn eine neuere Version verfügbar ist. Eine ältere Version von Kubescape kann zu einem veralteten Scan und einer Gefährdung Ihrer Daten führen. Vermeiden Sie dieses Risiko, indem Sie den Installationsbefehl erneut ausführen, um sicherzustellen, dass Sie die neueste Version von Kubescape verwenden. Sie können Kubescape auch auf einigen Linux-Distributionen mit einem Paketmanager installieren, der die Installation automatisch aktualisiert, wenn ein neueres Paket veröffentlicht wird.