„Von Grund auf sicher“ implementieren

Last reviewed 2025-02-05 UTC

Dieses Prinzip in der Sicherheitssäule des Google Cloud Architektur-Frameworks enthält Empfehlungen zur Einbindung robuster Sicherheitsfunktionen, ‑kontrollen und ‑praktiken in die Entwicklung Ihrer Cloud-Anwendungen, ‑dienste und ‑plattformen. Von der Ideenentwicklung bis zur Betriebsphase ist Sicherheit effektiver, wenn sie als integraler Bestandteil in jede Phase des Designprozesses eingebettet ist.

Grundsatzübersicht

Wie im Artikel Ein Überblick über das Engagement von Google für „Secure by Design“ erläutert, werden sicher per Standardeinstellung und sicher durch Design oft synonym verwendet, stellen aber unterschiedliche Ansätze zum Erstellen sicherer Systeme dar. Beide Ansätze zielen darauf ab, Sicherheitslücken zu minimieren und die Sicherheit zu erhöhen. Sie unterscheiden sich jedoch hinsichtlich Umfang und Implementierung:

  • Standardmäßig sicher: Hier wird darauf geachtet, dass die Standardeinstellungen eines Systems auf einen sicheren Modus gesetzt sind, sodass Nutzer oder Administratoren möglichst wenig Maßnahmen zur Sicherung des Systems ergreifen müssen. Mit diesem Ansatz soll für alle Nutzer ein Mindestmaß an Sicherheit gewährleistet werden.
  • Von Grund auf sicher: Betont die proaktive Einbeziehung von Sicherheitsaspekten in den gesamten Entwicklungszyklus eines Systems. Bei diesem Ansatz geht es darum, potenzielle Bedrohungen und Sicherheitslücken frühzeitig zu antizipieren und Designentscheidungen zu treffen, die Risiken mindern. Dieser Ansatz umfasst die Verwendung sicherer Codierungspraktiken, die Durchführung von Sicherheitsüberprüfungen und die Einbettung von Sicherheit in den gesamten Designprozess. Der Ansatz „Secure by Design“ ist eine übergeordnete Philosophie, die den Entwicklungsprozess leitet und dafür sorgt, dass Sicherheit nicht erst im Nachhinein, sondern als integraler Bestandteil des Designs eines Systems berücksichtigt wird.

Empfehlungen

Beachten Sie die Empfehlungen in den folgenden Abschnitten, um das Prinzip „Sicherheit durch Design“ für Ihre Cloud-Arbeitslasten zu implementieren:

Systemkomponenten auswählen, die zur Sicherheit Ihrer Arbeitslasten beitragen

Diese Empfehlung gilt für alle Fokusbereiche.

Eine grundlegende Entscheidung für eine effektive Sicherheit ist die Auswahl robuster Systemkomponenten – sowohl Hardware- als auch Softwarekomponenten –, die Ihre Plattform, Lösung oder Ihren Dienst bilden. Um die Angriffsfläche zu verringern und potenzielle Schäden zu begrenzen, müssen Sie auch die Bereitstellungsmuster dieser Komponenten und ihre Konfigurationen sorgfältig berücksichtigen.

Wir empfehlen, in Ihrem Anwendungscode einfache, sichere und zuverlässige Bibliotheken, Abstraktionsschichten und Anwendungs-Frameworks zu verwenden, um bestimmte Arten von Sicherheitslücken zu vermeiden. Sie können Drittanbietertools verwenden, um Softwarebibliotheken auf Sicherheitslücken zu prüfen. Sie können auch Assured Open Source Software verwenden. Mit dieser Funktion können Sie die Risiken für Ihre Softwarelieferkette verringern, indem Sie Open-Source-Softwarepakete (OSS) verwenden, die Google verwendet und sichert.

Ihre Infrastruktur muss Netzwerk-, Speicher- und Computing-Optionen verwenden, die einen sicheren Betrieb unterstützen und Ihren Sicherheitsanforderungen und Risikotoleranzgraden entsprechen. Die Infrastruktursicherheit ist sowohl für internetfähige als auch für interne Arbeitslasten wichtig.

Informationen zu anderen Google-Lösungen, die diese Empfehlung unterstützen, finden Sie unter Shift-left-Sicherheit implementieren.

Einen mehrstufigen Sicherheitsansatz entwickeln

Diese Empfehlung ist für die folgenden Fokusbereiche relevant:

  • Sicherheit bei KI und ML
  • Sichere Infrastruktur
  • Identitäts- und Zugriffsverwaltung
  • Datensicherheit

Wir empfehlen, die Sicherheit auf jeder Schicht Ihres Anwendungs- und Infrastrukturstacks zu implementieren, indem Sie ein mehrstufiges Sicherheitskonzept anwenden.

Nutzen Sie die Sicherheitsfunktionen in jeder Komponente Ihrer Plattform. So beschränken Sie den Zugriff und ermitteln Sie die Grenzen der potenziellen Auswirkungen (d. h. den Blastradius) im Falle eines Sicherheitsvorfalls:

  • Vereinfachen Sie das Systemdesign, damit dies möglichst flexibel ist.
  • Dokumentieren Sie die Sicherheitsanforderungen für jede Komponente.
  • Integrieren Sie einen robusten, sicheren Mechanismus, um Ausfallsicherheit und Wiederherstellungsanforderungen zu erfüllen.

Führen Sie beim Entwerfen der Sicherheitsebenen eine Risikobewertung durch, um die Sicherheitsfunktionen zu ermitteln, die Sie benötigen, um interne Sicherheitsanforderungen und externe rechtliche Anforderungen zu erfüllen. Wir empfehlen die Verwendung eines branchenüblichen Frameworks zur Risikobewertung für Cloud-Umgebungen, das die jeweils geltenden gesetzlichen Vorschriften berücksichtigt. Beispielsweise bietet die Cloud Security Alliance (CSA) die Cloud Controls Matrix (CCM). Die Risikobewertung liefert eine Auflistung aller relevanten Risiken und entsprechende Sicherheitsmaßnahmen zur Risikominimierung.

Denken Sie bei der Risikobewertung daran, dass Sie mit Ihrem Cloudanbieter eine Vereinbarung zur geteilten Verantwortung haben. Daher unterscheiden sich die Risiken in einer Cloudumgebung von den Risiken in einer lokalen Umgebung. In einer lokalen Umgebung müssen Sie beispielsweise Sicherheitslücken im Hardware-Stack minimieren. In einer Cloudumgebung hingegen trägt der Cloudanbieter diese Risiken. Denken Sie auch daran, dass die Grenzen der geteilten Verantwortung zwischen IaaS-, PaaS- und SaaS-Diensten für jeden Cloud-Anbieter variieren.

Nachdem Sie potenzielle Risiken identifiziert haben, müssen Sie einen Risikominimierungsplan entwerfen und erstellen, der technische, administrative und betriebliche Kontrollen sowie vertragliche Schutzmaßnahmen und Attestierungen von Drittanbietern umfasst. Darüber hinaus hilft Ihnen eine Bedrohungsmodellierungsmethode wie die OWASP-Methode zum Modellieren von Anwendungsbedrohungen, potenzielle Lücken zu identifizieren und Maßnahmen zur Behebung dieser Lücken vorzuschlagen.

Gehärtete und attestierte Infrastruktur und Dienste verwenden

Diese Empfehlung gilt für alle Fokusbereiche.

Ein ausgereiftes Sicherheitsprogramm behebt neue Sicherheitslücken, wie in Sicherheitsbulletins beschrieben. Das Sicherheitsprogramm sollte auch Maßnahmen zur Behebung von Sicherheitslücken in bestehenden Bereitstellungen und zur Sicherung Ihrer VM- und Container-Images enthalten. Sie können Härtungsanleitungen verwenden, die für das Betriebssystem und die Anwendung Ihrer Images spezifisch sind, sowie Benchmarks wie den vom Center for Internet Security (CIS) bereitgestellten.

Wenn Sie benutzerdefinierte Images für Ihre Compute Engine-VMs verwenden, müssen Sie die Images selbst patchen. Alternativ können Sie ausgewählte Betriebssystem-Images von Google verwenden, die regelmäßig gepatcht werden. Verwenden Sie zum Ausführen von Containern auf Compute Engine-VMs von Google ausgewählte Container-optimierte Betriebssystem-Images. Google patcht und aktualisiert diese Images regelmäßig.

Wenn Sie GKE verwenden, empfehlen wir, automatische Knotenupgrades zu aktivieren, damit Google Ihre Clusterknoten mit den neuesten Patches aktualisiert. Google verwaltet GKE-Steuerungsebenen, die automatisch aktualisiert und gepatcht werden. Um die Angriffsfläche Ihrer Container weiter zu reduzieren, können Sie distroless-Images verwenden. Distroless-Images eignen sich ideal für sicherheitssensible Anwendungen, Mikrodienste und Situationen, in denen die Minimierung der Imagegröße und Angriffsfläche von entscheidender Bedeutung ist.

Verwenden Sie für sensible Arbeitslasten Shielded VM, damit während des Bootvorgangs der VM kein schädlicher Code geladen wird. Shielded VM-Instanzen bieten Bootsicherheit, überwachen die Integrität und verwenden das Virtual Trusted Platform Module (vTPM).

Um den SSH-Zugriff zu sichern, können Ihre Mitarbeiter mit OS Login eine Verbindung zu Ihren VMs herstellen. Dazu verwenden Sie IAM-Berechtigungen (Identity and Access Management) statt SSH-Schlüsseln als „Source of Truth“. Daher müssen Sie SSH-Schlüssel nicht in Ihrer gesamten Organisation verwalten. OS Login verknüpft den Zugriff eines Administrators mit dessen Mitarbeiter-Lebenszyklus. Wenn ein Mitarbeiter zu einer anderen Rolle wechselt oder Ihre Organisation verlässt, wird dessen Zugriff mit dessen Konto ungültig. OS Login unterstützt auch die 2-Faktor-Authentifizierung von Google, die eine zusätzliche Sicherheitsebene bei Kontoübernahmeangriffen bietet.

In GKE werden Anwendungsinstanzen in Docker-Containern ausgeführt. Achten Sie darauf, dass Ihre Container zustandslos und unveränderlich sind, um ein definiertes Risikoprofil zu aktivieren und zu verhindern, dass Mitarbeiter Änderungen an Containern vornehmen. Das Prinzip der Unveränderlichkeit bedeutet, dass Ihre Mitarbeiter den Container nicht ändern oder interaktiv aufrufen. Wenn der Container geändert werden muss, erstellen Sie ein neues Image und stellen es noch einmal bereit. Aktivieren Sie den SSH-Zugriff auf die zugrunde liegenden Container nur in bestimmten Debugging-Szenarien.

Mit Organisationsrichtlinien können Sie Einschränkungen oder Grenzwerte für Ressourcen festlegen, die sich auf das Verhalten Ihrer Cloud-Assets auswirken. So können Sie Konfigurationen in Ihrer gesamten Umgebung global sichern. Sie können beispielsweise die folgenden Organisationsrichtlinien definieren und sie entweder global auf eine Google Cloud Organisation oder selektiv auf Ordner- oder Projektebene anwenden:

  • Deaktivieren Sie die Zuweisung externer IP-Adressen zu VMs.
  • Beschränken Sie die Erstellung von Ressourcen auf bestimmte Standorte.
  • Deaktivieren Sie das Erstellen von Dienstkonten oder deren Schlüsseln.

Ruhende Daten und Daten bei der Übertragung verschlüsseln

Diese Empfehlung ist für die folgenden Fokusbereiche relevant:

  • Sichere Infrastruktur
  • Datensicherheit

Die Datenverschlüsselung ist eine grundlegende Maßnahme zum Schutz vertraulicher Informationen und ein wichtiger Bestandteil der Datenverwaltung. Eine effektive Datenschutzstrategie umfasst die Zugriffssteuerung, die Datensegmentierung und den geografischen Speicherort, die Prüfung und die Verschlüsselungsimplementierung, die auf einer sorgfältigen Bewertung der Anforderungen basiert.

Google Cloud verschlüsselt inaktive Kundendaten standardmäßig, ohne dass Sie etwas unternehmen müssen. Zusätzlich zur Standardverschlüsselung bietetGoogle Cloud Optionen für die Umschlagverschlüsselung und die Verwaltung von Verschlüsselungsschlüsseln. Sie müssen die Lösungen ermitteln, die Ihren Anforderungen für die Generierung, Speicherung und Rotation von Schlüsseln am besten entsprechen, unabhängig davon, ob Sie die Schlüssel für Ihre Speicher-, Computing- oder für Big-Data-Arbeitslasten auswählen. So können beispielsweise vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs) im Cloud Key Management Service (Cloud KMS) erstellt werden. Die CMEKs können entweder softwarebasiert oder HSM-geschützt sein, um behördliche oder Compliance-Anforderungen zu erfüllen, z. B. die regelmäßige Rotation von Verschlüsselungsschlüsseln. Mit Cloud KMS Autokey können Sie die Bereitstellung und Zuweisung von CMEKs automatisieren. Außerdem können Sie mit Cloud External Key Manager (Cloud EKM) eigene Schlüssel verwenden, die aus einem Schlüsselverwaltungssystem eines Drittanbieters stammen.

Wir empfehlen dringend, Daten während der Übertragung zu verschlüsseln. Google verschlüsselt und authentifiziert Daten bei der Übertragung auf einer oder mehreren Netzwerkebenen, wenn Daten außerhalb der physischen Grenzen übertragen werden, die nicht von Google oder im Auftrag von Google kontrolliert werden. Der gesamte VM-zu-VM-Traffic innerhalb eines VPC-Netzwerks und zwischen VPC-Peering-Netzwerken wird verschlüsselt. Sie können MACsec für die Verschlüsselung von Traffic über Cloud Interconnect-Verbindungen verwenden. IPsec bietet eine Verschlüsselung für Traffic über Cloud VPN-Verbindungen. Sie können den Traffic zwischen Anwendungen in der Cloud schützen, indem Sie Sicherheitsfunktionen wie TLS- und mTLS-Konfigurationen in Apigee und Cloud Service Mesh für containerisierte Anwendungen verwenden.

Google Cloud verschlüsselt standardmäßig ruhende Daten und Daten bei der Übertragung über das Netzwerk. Daten werden jedoch standardmäßig nicht verschlüsselt, während sie im Arbeitsspeicher verwendet werden. Falls Ihre Organisation vertrauliche Daten verarbeitet, müssen Sie gegen Bedrohungen vorgehen, die die Vertraulichkeit und Integrität der Anwendung oder der Daten im Systemspeicher beeinträchtigen. Um diese Bedrohungen zu minimieren, können Sie Confidential Computing verwenden, das eine vertrauenswürdige Ausführungsumgebung für Ihre Rechenlasten bietet. Weitere Informationen finden Sie unter Confidential VM – Übersicht.