Sicherheit von Anfang an implementieren

Last reviewed 2025-02-05 UTC

Dieses Prinzip in der Säule „Sicherheit“ des Google Cloud Well-Architected Framework enthält Empfehlungen, wie Sie robuste Sicherheitsfunktionen, ‑kontrollen und ‑praktiken in das Design Ihrer Cloudanwendungen, ‑dienste und ‑plattformen einbauen können. Von der Ideenfindung bis zum Betrieb ist Sicherheit effektiver, wenn sie als integraler Bestandteil in jede Phase Ihres Designprozesses eingebettet ist.

Übersicht über das Prinzip

Wie in An Overview of Google's Commitment to Secure by Design erläutert, werden secure by default und secure by 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, unterscheiden sich jedoch in Umfang und Implementierung:

  • Secure by default: Hier wird darauf geachtet, dass die Standardeinstellungen eines Systems auf einen sicheren Modus festgelegt sind, sodass Nutzer oder Administratoren nur wenige Maßnahmen ergreifen müssen, um das System zu schützen. Dieser Ansatz zielt darauf ab, allen Nutzern ein grundlegendes Sicherheitsniveau zu bieten.
  • Secure by design: Hier wird der Schwerpunkt darauf gelegt, Sicherheits aspekte proaktiv in den gesamten Entwicklungszyklus eines Systems zu integrieren. Bei diesem Ansatz geht es darum, potenzielle Bedrohungen und Sicherheitslücken frühzeitig zu erkennen und Designentscheidungen zu treffen, die Risiken minimieren. Dieser Ansatz umfasst die Verwendung sicherer Programmierpraktiken, die Durchführung von Sicherheitsüberprüfungen und die Einbeziehung von Sicherheitsaspekten in den gesamten Designprozess. Der Ansatz „secure by design“ ist eine übergreifende Philosophie, die den Entwicklungsprozess leitet und dazu beiträgt, dass Sicherheit nicht nur ein nachträglicher Gedanke ist, sondern ein integraler Bestandteil des Systemdesigns.

Empfehlungen

Wenn Sie das Prinzip „secure by design“ für Ihre Cloud-Arbeitslasten implementieren möchten, beachten Sie die Empfehlungen in den folgenden Abschnitten:

Systemkomponenten auswählen, die zum Schutz Ihrer Arbeitslasten beitragen

Diese Empfehlung gilt für alle Schwerpunktbereiche.

Eine grundlegende Entscheidung für effektive Sicherheit ist die Auswahl robuster Systemkomponenten, einschließlich Hardware- und Softwarekomponenten, aus denen Ihre Plattform, Lösung oder Ihr Dienst besteht. 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 prüfen.

Wir empfehlen, in Ihrem Anwendungscode einfache, sichere und zuverlässige Bibliotheken, Abstraktionen und Anwendungsframeworks zu verwenden, um bestimmte Arten von Sicherheitslücken zu vermeiden. Sie können Tools von Drittanbietern verwenden, um nach Sicherheitslücken in Softwarebibliotheken zu suchen. Sie können auch Assured Open Source Software verwenden, um Risiken für Ihre Softwarelieferkette zu verringern. Dazu werden Open-Source- Softwarepakete (OSS) verwendet, die Google nutzt und schützt.

Ihre Infrastruktur muss Netzwerk-, Speicher- und Compute-Optionen verwenden, die einen sicheren Betrieb unterstützen und Ihren Sicherheitsanforderungen und Risikobereitschaftsniveaus entsprechen. Infrastruktursicherheit ist sowohl für internetorientierte 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 gilt für die folgenden Schwerpunktbereiche:

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

Wir empfehlen, die Sicherheit auf jeder Ebene Ihres Anwendungs- und Infrastrukturstacks zu implementieren, indem Sie ein Konzept mit gestaffelten Sicherheitsebenen anwenden.

Verwenden Sie die Sicherheitsfunktionen in jeder Komponente Ihrer Plattform. So begrenzen Sie den Zugriff und ermitteln die Grenzen der potenziellen Auswirkungen (d. h. den Blast Radius) im Falle eines Sicherheitsvorfalls:

  • Vereinfachen Sie das Design Ihres Systems, damit dies möglichst flexibel ist.
  • Dokumentieren Sie die Sicherheitsanforderungen jeder Komponente.
  • Integrieren Sie einen robusten, sicheren Mechanismus, um die Anforderungen an Ausfallsicherheit und Wiederherstellung zu erfüllen.

Wenn Sie die Sicherheitsebenen entwerfen, führen Sie eine Risikobewertung durch, um die Sicherheitsfunktionen zu ermitteln, die Sie benötigen, um interne Sicherheitsanforderungen und externe gesetzliche 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 Sicherheitskontrollen, um diese zu minimieren.

Denken Sie bei der Risikobewertung daran, dass Sie eine Vereinbarung zur geteilten Verantwortung mit Ihrem Cloudanbieter haben. Die Risiken in einer Cloudumgebung unterscheiden sich daher von den Risiken in einer lokalen Umgebung. In einer lokalen Umgebung müssen Sie beispielsweise Sicherheitslücken in Ihrem Hardware-Stack minimieren. Im Gegensatz dazu werden diese Risiken in einer Cloudumgebung vom Cloudanbieter übernommen. Außerdem unterscheiden sich die Grenzen der geteilten Verantwortung zwischen IaaS-, PaaS- und SaaS-Diensten für jeden Cloudanbieter.

Nachdem Sie potenzielle Risiken identifiziert haben, müssen Sie einen Plan zur Risikominimierung entwerfen und erstellen, der technische, administrative und betriebliche Kontrollen sowie vertragliche Schutzmaßnahmen und Attestierungen von Drittanbietern umfasst. Darüber hinaus hilft Ihnen eine Methode zur Bedrohungs modellierung wie die OWASP-Methode zur Bedrohungsmodellierung von Anwendungen, potenzielle Sicherheitslü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 Schwerpunktbereiche.

Ein ausgereiftes Sicherheitsprogramm minimiert neue Sicherheitslücken, wie in Sicherheitsbulletins beschrieben. Das Sicherheitsprogramm sollte auch Lösungen zur Behebung von Sicherheitslücken in vorhandenen Bereitstellungen bieten und Ihre VM- und Container-Images schützen. Sie können Härtungsleitfäden verwenden, die speziell auf das Betriebssystem und die Anwendung Ihrer Images zugeschnitten 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 von Google bereitgestellte ausgewählte Betriebssystem-Images, die regelmäßig gepatcht werden, verwenden. Wenn Sie Container auf Compute Engine-VMs ausführen möchten, verwenden Sie von Google ausgewählte Container-Optimized OS-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 verringern, können Sie verwenden Distroless-Images. Distroless-Images eignen sich ideal für sicherheitssensible Anwendungen, Mikrodienste und Situationen, in denen die Minimierung der Imagegröße und der Angriffsfläche von größter Bedeutung ist.

Verwenden Sie für sensible Arbeitslasten Shielded VM, um zu verhindern, dass während des VM-Bootzyklus 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 schützen, OS Login ermöglicht Ihren Mitarbeitern, Verbindungen zu Ihren VMs herzustellen. Dazu verwenden Sie IAM (Identity and Access Management)-Berechtigungen statt SSH-Schlüsseln als „Source of Truth“. Entsprechend 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 gegen Kontoübernahmeangriffe 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.

Um Konfigurationen in Ihrer gesamten Umgebung global zu schützen, können Sie Organisationsrichtlinien verwenden, um Einschränkungen oder Leitplanken für Ressourcen festzulegen, die sich auf das Verhalten Ihrer Cloud-Assets auswirken. Sie können beispielsweise die folgenden Organisationsrichtlinien definieren und sie entweder global in einer Google Cloud Organisation oder selektiv auf Ordner- oder Projektebene anwenden:

  • Zuweisung externer IP-Adressen zu VMs deaktivieren.
  • Erstellung von Ressourcen auf bestimmte geografische Standorte beschränken.
  • Erstellung von Dienstkonten oder deren Schlüsseln deaktivieren.

Inaktive und übertragene Daten verschlüsseln

Diese Empfehlung gilt für die folgenden Schwerpunktbereiche:

  • Sichere Infrastruktur
  • Datensicherheit

Die Datenverschlüsselung ist eine grundlegende Kontrolle zum Schutz vertraulicher Informationen und ein wichtiger Bestandteil von Data Governance. Eine effektive Datenschutzstrategie umfasst Zugriffssteuerung, Datensegmentierung und geografische Residenz, Auditing und die Implementierung der Verschlüsselung, die auf einer sorgfältigen Bewertung der Anforderungen basiert.

verschlüsselt inaktive Kundendaten standardmäßig, Google Cloud ohne dass Sie etwas unternehmen müssen, . Zusätzlich zur Standardverschlüsselung, Google Cloud bietet 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. Kundenverwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEKs) können beispielsweise im Cloud Key Management Service (Cloud KMS) erstellt werden. Die CMEKs können softwarebasiert oder HSM-geschützt sein, um Ihre gesetzlichen oder Complianceanforderungen 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 Ihre eigenen Schlüssel verwenden, die aus einem Schlüsselverwaltungssystem eines Drittanbieters stammen, indem Sie Cloud External Key Manager (Cloud EKM) verwenden.

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 in einem VPC-Netzwerk und zwischen Peering-VPC-Netzwerken wird verschlüsselt. Sie können MACsec für die Verschlüsselung des Traffics über Cloud Interconnect-Verbindungen verwenden. IPsec bietet Verschlüsselung für Traffic über Cloud VPN Verbindungen. Sie können den Traffic zwischen Anwendungen in der Cloud mit Sicherheitsfunktionen wie TLS- und mTLS-Konfigurationen in Apigee und Cloud Service Mesh für containerisierte Anwendungen schützen.

verschlüsselt standardmäßig Google Cloud inaktive und aktuell übertragene Daten im Netzwerk. Standardmäßig werden Daten jedoch nicht verschlüsselt, während sie im Speicher 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 Compute-Arbeitslasten bietet. Weitere Informationen finden Sie unter Confidential VM – Übersicht.