Best Practices für die Sicherheit einrichten

Auf dieser Seite finden Sie einen Überblick über die Best Practices für die Sicherheit, die empfohlen werden, um die Sicherheit und den Datenschutz Ihrer Cloud Workstations zu verbessern. Diese Liste ist keine umfassende Checkliste, die Sicherheitsgarantien bietet, und ersetzt auch nicht Ihre bestehenden Sicherheitsmaßnahmen.

Ziel ist es, Ihnen einen Leitfaden zu den Best Practices für die Sicherheit zu geben, die durch Cloud Workstations ermöglicht werden. Fügen Sie diese Empfehlungen Ihrem Portfolio an Sicherheitslösungen hinzu, sofern zutreffend, um einen mehrschichtigen Sicherheitsansatz zu entwickeln. Ein mehrschichtiger Sicherheitsansatz ist einer der wichtigsten Sicherheitsgrundsätze für die Ausführung sicherer und konformer Dienste auf Google Cloud.

Hintergrund

Der Cloud Workstations-Dienst bietet vordefinierte Basis-Images zur Verwendung mit dem Dienst. Der Dienst erstellt und veröffentlicht diese Images wöchentlich neu, damit die gebündelte Software die neuesten Sicherheitspatches enthält. Außerdem verwendet der Dienst einen Standardwert für das Running-Zeitlimit in Ihrer Workstation-Konfiguration, um dafür zu sorgen, dass Workstations automatisch aktualisiert werden und nicht gepatchte Images nicht aktiv bleiben.

Google Cloud ist jedoch nicht Inhaber aller in diesen Images enthaltenen Pakete. Paketmanager können Updates unterschiedlich priorisieren, je nachdem, wie sich ein Fehler oder eine bekannte Sicherheitslücke (Common Vulnerabilities and Exposures, CVE) auf ihr Produkt auswirkt. Wenn ein Produkt nur einen Teil einer Bibliothek verwendet, ist es möglicherweise nicht von Problemen in anderen Teilen der Bibliothek betroffen. Aus diesem Grund kann Cloud Workstations trotz der CVE-Ergebnisse aus den Sicherheitslückenscans unserer Images ein sicheres Produkt bieten.

Cloud Workstations kann dies, weil es ein Authentifizierungs- und Autorisierungssystem bietet, das dafür sorgt, dass nur der zugewiesene Entwickler auf seine Workstation zugreifen kann. Wie bei jeder Entwicklungsumgebung sollten Entwickler Best Practices anwenden, wenn sie ihre Workstation verwenden. Um die Sicherheit zu maximieren, sollten Sie nur vertrauenswürdigen Code ausführen, nur vertrauenswürdige Eingaben verarbeiten und nur auf vertrauenswürdige Domains zugreifen. Außerdem wird davon abgeraten, Workstations zum Hosten von Produktionsservern zu verwenden oder eine einzelne Workstation mit mehreren Entwicklern zu teilen.

Wenn Sie mehr Kontrolle über die Sicherheit der Arbeitsstations-Images Ihrer Organisation haben möchten, können Sie auch eigene benutzerdefinierte Container-Images erstellen.

Öffentlichen Netzwerkzugriff einschränken

Deaktivieren Sie öffentliche IP-Adressen auf Ihren Workstations mithilfe Ihrer Workstation-Konfiguration und konfigurieren Sie Firewallregeln, die den Zugriff auf öffentliche Internetziele einschränken, die für die tägliche Arbeit in Cloud Workstations nicht erforderlich sind. Wenn Sie öffentliche IP-Adressen deaktivieren, müssen Sie privaten Google-Zugriff oder Cloud NAT in Ihrem Netzwerk einrichten. Wenn Sie den privater Google-Zugriff verwenden und private.googleapis.com oder restricted.googleapis.com für Artifact Registry nutzen, müssen Sie DNS-Einträge für Domains *.pkg.dev einrichten.

Direkten SSH-Zugriff einschränken

Schränken Sie den direkten SSH-Zugriff auf VMs in dem Projekt ein, in dem Ihre Cloud Workstations gehostet werden, damit der Zugriff nur über das Cloud Workstations-Gateway möglich ist. Dort werden IAM-Richtlinien (Identity and Access Management)) erzwungen und VPC-Flow-Logs können aktiviert werden.

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um den direkten SSH-Zugriff auf die VM zu deaktivieren:

    gcloud workstations configs update CONFIG \
        --cluster=CLUSTER \
        --region=REGION \
        --project=PROJECT \
        --disable-ssh-to-vm

Zugriff auf vertrauliche Ressourcen beschränken

Richten Sie einen VPC Service Controls-Dienstperimeter ein, um den Zugriff auf sensible Ressourcen von Ihren Arbeitsstationen aus einzuschränken und die Exfiltration von Quellcode und Daten zu verhindern.

Prinzip der geringsten Berechtigung anwenden

Beachten Sie beim Gewähren von Berechtigungen und bei der Ressourcenzuweisung das Prinzip der geringsten Berechtigung.

IAM-Berechtigungen

Verwenden Sie die Standardkonfiguration für Identity and Access Management, um den Workstation-Zugriff auf einen einzelnen Entwickler zu beschränken. So wird sichergestellt, dass jeder Entwickler eine eindeutige Workstation-Instanz mit einer separaten zugrunde liegenden VM verwendet, was die Isolation der Umgebung erhöht. Cloud Workstations-Codeeditoren und -Anwendungen werden in einem Container ausgeführt, der im privilegierten Modus und mit Root-Zugriff ausgeführt wird, um die Flexibilität für Entwickler zu erhöhen. So erhält jeder Entwickler eine eigene Arbeitsstation. Selbst wenn ein Nutzer aus diesem Container ausbricht, befindet er sich weiterhin in seiner VM und kann nicht auf zusätzliche externe Ressourcen zugreifen.

Richten Sie IAM-Berechtigungen ein, die den Zugriff von Nutzern ohne Administratorberechtigungen auf das Ändern von Workstation-Konfigurationen und Container-Images in Artifact Registry einschränken.

Außerdem empfiehlt Google, IAM-Berechtigungen einzurichten, die den Nicht-Administratorzugriff auf die zugrunde liegenden Compute Engine-Ressourcen in dem Projekt einschränken, in dem Ihre Cloud Workstations gehostet werden.

Weitere Informationen finden Sie unter IAM sicher verwenden.

Cloud KMS-Berechtigungen

Um das Prinzip der geringsten Berechtigung besser zu unterstützen, empfehlen wir, Cloud KMS-Ressourcen und Cloud Workstations-Ressourcen in separaten Google Cloud Projekten zu speichern. Erstellen Sie Ihr Cloud KMS-Schlüsselprojekt ohne owner auf Projektebene und weisen Sie einen Organisationsadministrator auf Organisationsebene zu. Im Gegensatz zu einem owner kann ein Organisationsadministrator Schlüssel nicht direkt verwalten oder verwenden. Sie sind auf das Festlegen von IAM-Richtlinien beschränkt, die festlegen, wer Schlüssel verwalten und verwenden kann.

Dies wird auch als Aufgabentrennung bezeichnet. Damit soll verhindert werden, dass eine Person allein über alle Berechtigungen verfügt, die notwendig sind, um bösartige Aktionen ausführen zu können. Weitere Informationen finden Sie unter Aufgabentrennung.

Automatische Image-Updates und ‑Patches erzwingen

Achten Sie darauf, dass auf Ihren Workstations die aktuelle Version der Basis-Images für Cloud Workstations verwendet wird, die die neuesten Sicherheitspatches und ‑korrekturen enthält. Der Wert für Zeitüberschreitung bei der Ausführung in Ihrer Workstationkonfiguration sorgt dafür, dass Workstations, die mit dieser Konfiguration erstellt wurden, bei der nächsten Sitzung automatisch auf die neueste Version des in der Workstationkonfiguration definierten Container-Images aktualisiert werden.

  • Wenn Ihre Organisation eines der Cloud Workstations-Basis-Images verwendet, werden alle Aktualisierungen der Workstation-Konfiguration automatisch übernommen, wenn die Workstation das nächste Mal heruntergefahren und neu gestartet wird. Wenn Sie die Einstellung runningTimeout festlegen oder die Standardeinstellung verwenden, wird dafür gesorgt, dass diese Arbeitsstationen heruntergefahren werden.
  • Wenn Ihre Organisation ein benutzerdefiniertes Image verwendet, sollten Sie es regelmäßig neu erstellen.

Benutzerdefinierte Bilder verwalten

Sie sind für die Verwaltung und Aktualisierung benutzerdefinierter Pakete und Abhängigkeiten verantwortlich, die benutzerdefinierten Images hinzugefügt wurden.

Wenn Sie benutzerdefinierte Bilder erstellen, empfehlen wir Folgendes:

VPC-Flusslogs einrichten

Wenn Sie einen Workstation-Cluster erstellen, ordnet Cloud Workstations den Cluster einem bestimmten Subnetz zu und alle Workstations werden in diesem Subnetz platziert. Wenn Sie VPC-Flusslogs aktivieren möchten, müssen Sie die Protokollierung für das entsprechende Subnetz aktivieren. Weitere Informationen finden Sie unter VPC-Flusslogs für ein vorhandenes Subnetz aktivieren.

VM Threat Detection im Security Command Center aktivieren

Das Security Command Center ist eine cloudbasierte Risikomanagementlösung, mit der Sicherheitsexperten Sicherheitsprobleme verhindern, erkennen und darauf reagieren können. Da Workstations auf einer dedizierten VM pro Workstation ausgeführt werden, kann Virtual Machine Threat Detection verwendet werden, um potenziell schädliche Anwendungen wie Kryptowährung-Mining-Software, Kernel-Mode-Rootkits und Malware zu erkennen, die auf der Workstation ausgeführt werden.

Wenn Sie die Ergebnisse für VMs auswerten, können Sie die der VM zugewiesene Workstation ermitteln, indem Sie die Workstation-Labels der VM prüfen oder die Workstations-Plattformlogs verwenden, um frühere Zuweisungen nachzuschlagen.