„Von Grund auf sicher“ implementieren

Last reviewed 2025-02-05 UTC

Dieses Prinzip im Sicherheitsbereich des Google Cloud Well-Architected Framework enthält Empfehlungen, wie Sie robuste Sicherheitsfunktionen, Kontrollen und Praktiken in das Design Ihrer Cloud-Anwendungen, ‑Dienste und ‑Plattformen einbauen können. Von der Ideenfindung bis zum Betrieb ist Sicherheit effektiver, wenn sie als integraler Bestandteil jeder Phase Ihres Designprozesses eingebettet ist.

Übersicht über die Grundsätze

Wie in An Overview of Google's Commitment to Secure by Design beschrieben, werden secure by default (standardmäßig sicher) und secure by design (sicher durch Design) oft synonym verwendet, sie stellen jedoch 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:

  • Standardmäßig sicher: Hier geht es darum, dass die Standardeinstellungen eines Systems auf einen sicheren Modus festgelegt sind, sodass Nutzer oder Administratoren nur minimal eingreifen müssen, um das System zu schützen. Dieser Ansatz soll allen Nutzern ein grundlegendes Sicherheitsniveau bieten.
  • Secure by Design: Hier wird die proaktive Einbeziehung von Sicherheitsaspekten während des gesamten Entwicklungszyklus eines Systems betont. Bei diesem Ansatz geht es darum, potenzielle Bedrohungen und Sicherheitslücken frühzeitig zu erkennen und Designentscheidungen zu treffen, die Risiken mindern. Dazu gehören sichere Programmierverfahren, Sicherheitsüberprüfungen und die Einbeziehung von Sicherheitsaspekten in den gesamten Designprozess. Der Secure-by-Design-Ansatz ist eine übergreifende Philosophie, die den Entwicklungsprozess leitet und dazu beiträgt, dass Sicherheit nicht erst im Nachhinein berücksichtigt wird, sondern ein integraler Bestandteil des Systemdesigns ist.

Empfehlungen

Wenn Sie das Prinzip „Secure by Design“ für Ihre Cloud-Arbeitslasten implementieren möchten, sollten Sie die Empfehlungen in den folgenden Abschnitten berücksichtigen:

Systemkomponenten auswählen, die zum Schutz Ihrer Arbeitslasten beitragen

Diese Empfehlung ist für alle Schwerpunktbereiche relevant.

Eine grundlegende Entscheidung für eine effektive Sicherheit ist die Auswahl robuster Systemkomponenten, einschließlich Hardware- und Softwarekomponenten, die Ihre Plattform, Lösung oder Ihren Dienst bilden. Um die Sicherheitsangriffsflä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 Drittanbietertools verwenden, um Softwarebibliotheken auf Sicherheitslücken zu scannen. Sie können auch Assured Open Source Software verwenden, um das Risiko 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 Computing-Optionen verwenden, die einen sicheren Betrieb unterstützen und Ihren Sicherheitsanforderungen und Risikobereitschaft 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 ist für die folgenden Schwerpunktbereiche relevant:

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

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

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

  • Vereinfachen Sie das Design Ihres Systems, damit es 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.

Führen Sie beim Entwerfen der Sicherheitsebenen 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 der entsprechenden Sicherheitskontrollen, mit denen sie minimiert werden können.

Denken Sie bei der Risikobewertung daran, dass Sie eine Vereinbarung zur geteilten Verantwortung mit Ihrem Cloudanbieter 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 in Ihrem Hardware-Stack minimieren. In einer Cloudumgebung trägt der Cloudanbieter diese Risiken. Denken Sie auch daran, dass sich die Grenzen der geteilten Verantwortung zwischen IaaS-, PaaS- und SaaS-Diensten für jeden Cloud-Anbieter unterscheiden.

Nachdem Sie potenzielle Risiken identifiziert haben, müssen Sie einen Plan zur Risikominderung 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 Bedrohungsmodellierung, z. B. die OWASP-Methode zur Bedrohungsmodellierung von Anwendungen, potenzielle Sicherheitslücken zu identifizieren und Maßnahmen zur Behebung der Lücken vorzuschlagen.

Gehärtete und geprüfte Infrastruktur und Dienste verwenden

Diese Empfehlung ist für alle Schwerpunktbereiche relevant.

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

Wenn Sie benutzerdefinierte Images für Ihre Compute Engine-VMs verwenden, müssen Sie die Images selbst patchen. Alternativ können Sie auch die von Google bereitgestellten ausgewählten Betriebssystem-Images verwenden, die regelmäßig gepatcht werden. Wenn Sie Container auf Compute Engine-VMs ausführen möchten, verwenden Sie von Google kuratierte 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 distroless-Images verwenden. Distroless-Images sind 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-Bootvorgangs 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, können Ihre Mitarbeiter mit OS Login Verbindungen zu Ihren VMs herstellen. Dazu verwenden Sie IAM-Berechtigungen (Identity and Access Management) 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 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 neu bereit. Aktivieren Sie den SSH-Zugriff auf die zugrunde liegenden Container nur in bestimmten Debugging-Szenarien.

Um Konfigurationen in Ihrer Umgebung global zu schützen, können Sie Organisationsrichtlinien verwenden, um Einschränkungen oder Schutzmaßnahmen 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 für eine Google Cloud Organisation oder selektiv auf Ordner- oder Projektebene anwenden:

  • Deaktivieren Sie die Zuweisung externer IP-Adressen an VMs.
  • Erstellung von Ressourcen auf bestimmte geografische Standorte beschränken
  • 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 Schwerpunktbereiche relevant:

  • Sichere Infrastruktur
  • Datensicherheit

Die Datenverschlüsselung ist eine grundlegende Kontrollmaßnahme zum Schutz sensibler Informationen und ein wichtiger Bestandteil der Data Governance. Eine effektive Datenschutzstrategie umfasst Zugriffssteuerung, Datensegmentierung und geografischen Standort, Auditing, und die Implementierung von Verschlüsselung, die auf einer sorgfältigen Bewertung der Anforderungen basiert.

Standardmäßig Google Cloud werden inaktive Kundendaten verschlüsselt, 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. Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEKs) können beispielsweise im Cloud Key Management Service (Cloud KMS) erstellt werden. Die CMEKs können entweder softwarebasiert oder HSM-geschützt sein, um Ihre behördlichen oder Compliance-Anforderungen zu erfüllen, z. B. die Notwendigkeit, Verschlüsselungsschlüssel regelmäßig zu rotieren. Mit Cloud KMS Autokey können Sie die Bereitstellung und Zuweisung von CMEKs automatisieren. Außerdem können Sie Ihre eigenen Schlüssel aus einem Drittanbieter-Schlüsselverwaltungssystem mit 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 von Traffic ü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.

Google Cloud verschlüsselt standardmäßig inaktive Daten und Daten bei der Übertragung im gesamten 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 Rechenarbeitslasten bietet. Weitere Informationen finden Sie unter Confidential VM – Übersicht.