Auf dieser Seite erfahren Sie, wie Sie das Container-Betriebssystem und Sprachpakete in Ihren laufenden Arbeitslasten automatisch auf bekannte Sicherheitslücken scannen und Strategien zur Risikominderung erhalten, falls diese verfügbar sind. Das Scannen von Arbeitslasten auf Sicherheitslücken ist Teil des Sicherheitsstatus-Dashboards. Dieses Dashboard bietet eine Reihe von Funktionen, die zielgerichtete Informationen und Empfehlungen zur Verbesserung der Sicherheit Ihrer GKE-Cluster und -Arbeitslasten (Google Kubernetes Engine) bereitstellen.
Weitere Informationen finden Sie unter Scannen von Arbeitslasten auf Sicherheitslücken.
Preise
Preisinformationen finden Sie unter Preise für das GKE-Sicherheitsstatus-Dashboard.
Hinweise
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 Google Cloud-Projekt die IAM-Rolle Sicherheitsstatus Viewer (
roles/containersecurity.viewer
) zuzuweisen, um Ihnen so die Berechtigungen zu erteilen, die Sie zum Scannen von Arbeitslasten auf Sicherheitslücken benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff 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 erforderlich, um das Scannen von Arbeitslasten auf Sicherheitslücken zu verwenden:
-
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 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 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 Anwenden.
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 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 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 Anwenden.
Testarbeitslast bereitstellen
Die folgenden Beispielmanifeste haben bekannte Sicherheitslücken zu Demonstrationszwecken. Wenn Sie in der Praxis wissen, dass eine Anwendung bedroht 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 Logging für jedes erkannten Bedenken Einträge hinzu.
Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Geben 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 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 Anwenden.
Nächste Schritte
- Weitere Informationen zum Sicherheitsstatus-Dashboard.
- Arbeitslasten auf Konfigurationsprobleme scannen.