Auf dieser Seite erhalten Sie Informationen zu den ersten Schritten und zur Verwendung des Dashboards für den Sicherheitsstatus, um Sicherheitslücken zu erkennen. Hier finden Sie Informationen zu den Anforderungen, können die verfügbaren Stufen auswählen und erfahren, wie Sie das Scannen auf Sicherheitslücken aktivieren, eine Testarbeitslast bereitstellen, Ergebnisse und Empfehlungen ansehen und das Scannen deaktivieren.
Diese Seite richtet sich an Sicherheitsexperten, die Cluster auf Sicherheitsprobleme prüfen. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir inGoogle Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und -Aufgaben.
Machen Sie sich vor dem Lesen dieser Seite mit der allgemeinen Übersicht über Scans zur Erkennung von Arbeitslastlücken vertraut.
Preise
Preisinformationen finden Sie unter Preise für das GKE-Sicherheitsstatus-Dashboard.
Vorbereitung
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Aktivieren Sie die Container Security API.
Um Advanced Vulnerability Insights zu verwenden, aktivieren Sie die Container Analysis API.
Voraussetzungen
-
Bitten Sie Ihren Administrator, Ihnen in Ihrem Projekt die IAM-Rolle Sicherheitsstatus-Betrachter (
roles/containersecurity.viewer
) zuzuweisen, um Ihnen so die Berechtigungen zu erteilen, die Sie zum Scannen von Sicherheitslücken benötigen. Google Cloud Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Diese vordefinierte Rolle enthält die Berechtigungen, die für das Scannen von Arbeitslasten auf Sicherheitslücken erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind für das Scannen von Arbeitslasten auf Sicherheitslücken erforderlich:
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
containersecurity.locations.list
-
containersecurity.locations.get
-
containersecurity.clusterSummaries.list
-
containersecurity.findings.list
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
-
- Advanced Vulnerability Insights erfordert die GKE-Version 1.27 oder höher.
Stufen für das Scannen auf Sicherheitslücken in Arbeitslasten
Sie aktivieren das Scannen auf Sicherheitslücken nach Stufen, die jeweils die folgenden Scanfunktionen bieten. Wenn Sie Google Kubernetes Engine (GKE) Enterprise verwenden, um Flotten von Clustern zu verwalten, können Sie auch Einstellungen für das Scannen auf Sicherheitslücken auf Flottenebene konfigurieren, die für alle Mitgliedscluster gelten. Eine Anleitung finden Sie unter Features des GKE-Sicherheitsstatus auf Flottenebene konfigurieren.
Stufe | Aktivierte Funktionen | GKE-Versionsanforderung |
---|---|---|
Standardstandard |
Scannen auf Sicherheitslücken im Container-Betriebssystem |
|
Advanced Vulnerability Insightsenterprise |
|
|
Weitere Informationen zu den einzelnen Funktionen finden Sie unter Scannen auf Sicherheitslücken in Arbeitslasten.
Scannen auf Sicherheitslücken im Container-Betriebssystem aktivieren
Das Scannen auf Sicherheitslücken von Container OS ist in neuen Autopilot-Clustern mit Version 1.27 und höher standardmäßig aktiviert. In diesem Abschnitt erfahren Sie, wie Sie dieses Feature in neuen vorhandenen Standard-Clustern und Autopilot-Clustern aktivieren, auf denen Versionen vor 1.27 ausgeführt werden.
Scannen des Container-Betriebssystems auf einem neuen Cluster aktivieren
gcloud
Erstellen Sie mithilfe der gcloud CLI einen neuen GKE-Cluster:
gcloud container clusters create CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=standard
Ersetzen Sie dabei Folgendes:
CLUSTER_NAME
: Der Name des neuen Clusters.LOCATION
: Der Compute Engine-Standort für Ihren Cluster.
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Zur Seite „Google Kubernetes Engine“- Klicken Sie auf Erstellen.
- Klicken Sie unter GKE Standard auf Konfigurieren.
- Klicken Sie im Navigationsbereich auf Sicherheit.
- Klicken Sie im Abschnitt Sicherheit das Kästchen Scannen auf Sicherheitslücken an.
- Wählen Sie die Option Einfach aus.
- Konfigurieren Sie weitere Optionen für den Cluster und klicken Sie auf Erstellen, wenn Sie bereit sind.
Scannen des Container-Betriebssystems auf einem vorhandenen Cluster aktivieren
gcloud
Aktualisieren Sie den Cluster:
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=standard
Ersetzen Sie dabei Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.LOCATION
: Der Compute Engine-Standort des Clusters.
Console
Rufen Sie in der Google Cloud Console die Seite Sicherheitsstatus auf.
Zum Sicherheitsstatus- Klicken Sie auf den Tab Einstellungen.
- Klicken Sie im Abschnitt Cluster auf Sicherheitslückenscan aktiviert auf Cluster auswählen.
- Setzen Sie ein Häkchen bei den Clustern, die Sie hinzufügen möchten.
- Wählen Sie im Drop-down-Menü Aktion auswählen die Option Auf „Einfach“ festlegen aus.
- Klicken Sie auf Übernehmen.
Advanced Vulnerability Insights aktivieren
Advanced Vulnerability Insights ermöglicht ein kontinuierliches Scannen Ihrer laufenden Anwendungen auf folgende Sicherheitslücken:
- Sicherheitslücken im Container-Betriebssystem
- Sicherheitslücken in Sprachpaketen
Wenn Sie Advanced Vulnerability Insights aktivieren, wird das Scannen auf Sicherheitslücken im Container-Betriebssystem automatisch aktiviert und kann nicht separat deaktiviert werden.
Voraussetzungen
Prüfen Sie, ob die Container Analysis API in Ihrem Projekt aktiviert ist.
Container Analysis API aktivieren
Advanced Vulnerability Insights für einen neuen Cluster aktivieren
gcloud
Erstellen Sie mithilfe der gcloud CLI einen neuen GKE-Cluster:
gcloud container clusters create-auto CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=enterprise
Ersetzen Sie dabei Folgendes:
CLUSTER_NAME
: Der Name des neuen Clusters.LOCATION
: Der Compute Engine-Standort für Ihren Cluster.
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Zur Seite „Google Kubernetes Engine“- Klicken Sie auf Erstellen.
- Klicken Sie im Bereich GKE-Autopilot auf Konfigurieren.
- Klicken Sie im Navigationsbereich auf Erweiterte Einstellungen. Wenn Sie einen Standardcluster erstellen, klicken Sie stattdessen auf Sicherheit.
- Klicken Sie im Abschnitt Sicherheit das Kästchen Scannen auf Sicherheitslücken an.
- Wählen Sie die Option Erweitert aus.
- Konfigurieren Sie weitere Optionen für den Cluster und klicken Sie auf Erstellen, wenn Sie bereit sind.
Advanced Vulnerability Insights für einen vorhandenen Cluster aktivieren
gcloud
Aktualisieren Sie den Cluster:
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=enterprise
Ersetzen Sie dabei Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.LOCATION
: Der Compute Engine-Standort des Clusters.
Console
Rufen Sie in der Google Cloud Console die Seite Sicherheitsstatus auf.
Zum Sicherheitsstatus- Klicken Sie auf den Tab Einstellungen.
- Klicken Sie im Abschnitt Cluster auf Sicherheitslückenscan aktiviert auf Cluster auswählen.
- Setzen Sie ein Häkchen bei den Clustern, die Sie hinzufügen möchten.
- Wählen Sie im Drop-down-Menü Aktion auswählen die Option Auf „Erweitert“ festlegen aus.
- Klicken Sie auf Übernehmen.
Testarbeitslast bereitstellen
Im folgenden Abschnitt verwenden Sie Beispiel-Deployment-Manifeste. Ein Deployment ist ein Kubernetes API-Objekt, mit dem Sie mehrere Replikate von Pods ausführen können, die auf die Knoten in einem Cluster verteilt sind.
Die folgenden Manifeste haben bekannte Sicherheitslücken zu Demonstrationszwecken. Wenn Sie in der Praxis wissen, dass eine Anwendung angreifbar ist, sollten Sie sie wahrscheinlich nicht ausführen.
Speichern Sie das folgende Manifest als
os-vuln-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: guestbook tier: frontend template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: us-docker.pkg.dev/google-samples/containers/gke/gb-frontend@sha256:dc8de8e0d569d2f828b187528c9317bd6b605c273ac5a282aebe471f630420fc env: - name: GET_HOSTS_FROM value: "dns" resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 80
Prüfen Sie das folgende Manifest, das eine bekannte Maven-Sicherheitslücke enthält:
Rufen Sie optional Anmeldedaten für Ihren Cluster ab:
gcloud container clusters get-credentials CLUSTER_NAME \ --region=COMPUTE_REGION
Stellen Sie die Anwendungen in Ihrem Cluster bereit:
kubectl apply -f os-vuln-sample.yaml kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/kubernetes-engine-samples/main/security/language-vulns/maven/deployment.yaml
Testen Sie andere Sicherheitslücken, indem Sie frühere Versionen von Images wie nginx
in Staging-Umgebungen bereitstellen.
Ergebnisse aufrufen und bearbeiten
Je nachdem, wie viele Arbeitslasten gescannt werden, dauert der erste Scan mindestens 15 Minuten. GKE zeigt die Ergebnisse im Sicherheitsstatus-Dashboard an und fügt dem Logging automatisch Einträge hinzu.
Ergebnisse ansehen
So erhalten Sie einen Überblick über die erkannten Bedenken in den Clustern und Arbeitslasten Ihres Projekts:
Rufen Sie in der Google Cloud Console die Seite Sicherheitsstatus auf.
Klicken Sie auf den Tab Bedenken.
Klicken Sie im Bereich Bedrohungen filtern im Abschnitt Bedrohungstyp das Kästchen Sicherheitslücken an.
Details und Empfehlungen zu Problemen aufrufen
Wenn Sie Details zu einer bestimmten Sicherheitslücke aufrufen möchten, klicken Sie auf die Zeile mit der jeweiligen Sicherheitslücke.
Der Bereich Bedenken hinsichtlich Sicherheitslücken enthält die folgenden Informationen:
- Beschreibung: Eine Beschreibung des Problems, gegebenenfalls eine CVE-Nummer und eine detaillierte Beschreibung der Sicherheitslücke und ihrer möglichen Auswirkungen.
- Empfohlene Maßnahme: Maßnahmen, die Sie ergreifen können, um die Sicherheitslücke zu beheben, z. B. feste Paketversionen und Möglichkeiten, die Korrektur anzuwenden.
Logs für erkannte Bedenken aufrufen
GKE fügt dem _Default
-Log-Bucket in Logging für jedes erkannte Problem Einträge hinzu. Diese Logs werden nur für einen bestimmten Zeitraum aufbewahrt. Weitere Informationen finden Sie unter Aufbewahrungsdauer von Logs.
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Zum Log-ExplorerGeben Sie im Feld Abfrage die folgende Abfrage ein:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_VULNERABILITY"
Klicken Sie auf Abfrage ausführen.
Um Benachrichtigungen zu erhalten, wenn GKE neue Ergebnisse zu Logging hinzufügt, richten Sie für diese Abfrage logbasierte Benachrichtigungen ein. Weitere Informationen finden Sie unter Logbasierte Benachrichtigungen konfigurieren.
Bereinigen
Löschen Sie die bereitgestellte Beispielarbeitslast:
kubectl delete deployment frontend
Löschen Sie optional den verwendeten Cluster:
gcloud container clusters delete CLUSTER_NAME \ --region=COMPUTE_REGION
Scannen nach Sicherheitslücken deaktivieren
Sie können das Scannen von Arbeitslasten entweder über die gcloud CLI oder die Google Cloud Console deaktivieren.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \ --region=LOCATION \ --workload-vulnerability-scanning=disabled
Ersetzen Sie dabei Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.LOCATION
: Die Compute Engine-Region oder -Zone für den neuen Cluster.
Console
Rufen Sie in der Google Cloud Console die Seite Sicherheitsstatus auf.
Zum Sicherheitsstatus- Klicken Sie auf den Tab Einstellungen.
- Klicken Sie im Abschnitt Cluster auf Sicherheitslückenscan aktiviert auf Cluster auswählen.
- Setzen Sie ein Häkchen bei den Clustern, die Sie entfernen möchten.
- Wählen Sie im Drop-down-Menü Aktion auswählen die Option Auf „Deaktiviert“ festlegen aus.
- Klicken Sie auf Übernehmen.
Nächste Schritte
- Weitere Informationen zum Sicherheitsstatus-Dashboard.
- Arbeitslasten auf Konfigurationsprobleme scannen.