Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Automatische Behebung unverschlüsselter Amazon RDS-DB-Instances und -Cluster
Erstellt von Ajay R Bolt (AWS) und Josh Joy (AWS)
Umgebung: PoC oder Pilotprojekt | Technologien: Sicherheit, Identität, Compliance; Datenbanken | AWS-Services: AWS Config; AWS KMS; AWS Identity and Access Management ;AWS Systems Manager; Amazon RDS |
Übersicht
Dieses Muster beschreibt, wie unverschlüsselte Amazon Relational Database Service (Amazon RDS)-DB-Instances und -Cluster in Amazon Web Services (AWS) mithilfe von AWS Config-, AWS Systems Manager-Runbooks und AWS Key Management Service (AWS KMS)-Schlüsseln automatisch korrigiert werden.
Verschlüsselte RDS-DB-Instances bieten eine zusätzliche Datenschutzebene, indem Sie Ihre Daten vor unbefugtem Zugriff auf den zugrunde liegenden Speicher sichern. Sie können die Amazon RDS-Verschlüsselung verwenden, um den Datenschutz Ihrer in der AWS Cloud bereitgestellten Anwendungen zu erhöhen und die Compliance-Anforderungen für die Verschlüsselung im Ruhezustand zu erfüllen. Sie können die Verschlüsselung für eine RDS-DB-Instance aktivieren, wenn Sie sie erstellen, aber nicht nachdem sie erstellt wurde. Sie können jedoch einer unverschlüsselten RDS-DB-Instance Verschlüsselung hinzufügen, indem Sie einen Snapshot Ihrer DB-Instance erstellen und dann eine verschlüsselte Kopie dieses Snapshots erstellen. Anschließend können Sie eine DB-Instance aus dem verschlüsselten Snapshot wiederherstellen, um eine verschlüsselte Kopie Ihrer ursprünglichen DB-Instance zu erhalten.
Dieses Muster verwendet AWS Config-Regeln, um RDS-DB-Instances und -Cluster auszuwerten. Es wendet die Korrektur mithilfe von AWS Systems Manager-Runbooks an, die die Aktionen definieren, die auf nicht konformen Amazon RDS-Ressourcen ausgeführt werden sollen, und AWS KMS-Schlüsseln zum Verschlüsseln der DB-Snapshots. Anschließend werden Service-Kontrollrichtlinien (SCPs) durchgesetzt, um die Erstellung neuer DB-Instances und Cluster ohne Verschlüsselung zu verhindern.
Der Code für dieses Muster wird in bereitgestelltGitHub
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto
Dateien aus dem GitHub Quellcode-Repository
für dieses Muster, das auf Ihren Computer heruntergeladen wurde Eine unverschlüsselte RDS-DB-Instance oder ein unverschlüsselter RDS-DB-Cluster
Ein vorhandener AWS KMS-Schlüssel zum Verschlüsseln von RDS-DB-Instances und -Clustern
Zugriff auf die Aktualisierung der KMS-Schlüsselressourcenrichtlinie
AWS Config in Ihrem AWS-Konto aktiviert (siehe Erste Schritte mit AWS Config in der AWS-Dokumentation)
Einschränkungen
Sie können die Verschlüsselung für eine RDS-DB-Instance nur aktivieren, wenn Sie sie erstellen, nicht nachdem sie erstellt wurde.
Es ist nicht möglich, ein verschlüsseltes Lesereplikat einer unverschlüsselten DB-Instance oder ein unverschlüsseltes Lesereplikat einer verschlüsselten DB-Instance zu erstellen.
Sie können ein unverschlüsseltes Backup oder einen solchen Snapshot nicht als verschlüsselte DB-Instance wiederherstellen.
Amazon RDS-Verschlüsselung ist für die meisten DB-Instance-Klassen verfügbar. Eine Liste der Ausnahmen finden Sie unter Verschlüsseln von Amazon-RDS-Ressourcen in der Amazon-RDS-Dokumentation.
Um einen verschlüsselten Snapshot von einer AWS-Region in eine andere zu kopieren, müssen Sie den KMS-Schlüssel in der AWS-Zielregion angeben. Dies liegt daran, dass KMS-Schlüssel spezifisch für die AWS-Region sind, in der sie erstellt werden.
Der Quell-Snapshot bleibt den gesamten Kopiervorgang über verschlüsselt. Amazon RDS verwendet Envelope-Verschlüsselung, um Daten während des Kopiervorgangs zu schützen. Weitere Informationen finden Sie unter Envelope-Verschlüsselung in der AWS KMS-Dokumentation.
Sie können eine verschlüsselte DB-Instance nicht entschlüsseln. Sie können jedoch Daten aus einer verschlüsselten DB-Instance exportieren und die Daten in eine unverschlüsselte DB-Instance importieren.
Sie sollten einen KMS-Schlüssel nur löschen, wenn Sie sicher sind, dass Sie ihn nicht mehr verwenden müssen. Wenn Sie sich nicht sicher sind, sollten Sie den KMS-Schlüssel deaktivieren, anstatt ihn zu löschen. Sie können einen deaktivierten KMS-Schlüssel erneut aktivieren, wenn Sie ihn später erneut verwenden müssen, aber Sie können einen gelöschten KMS-Schlüssel nicht wiederherstellen.
Wenn Sie sich nicht dafür entscheiden, automatisierte Backups beizubehalten, werden Ihre automatisierten Backups gelöscht, die sich in derselben AWS-Region wie die DB-Instance befinden. Sie können nicht wiederhergestellt werden, nachdem Sie die DB-Instance gelöscht haben.
Ihre automatisierten Backups werden für den Aufbewahrungszeitraum aufbewahrt, der zum Zeitpunkt des Löschens auf der DB-Instance festgelegt wurde. Dieser festgelegte Aufbewahrungszeitraum tritt unabhängig davon ein, ob Sie einen endgültigen DB-Snapshot erstellen möchten oder nicht.
Wenn die automatische Behebung aktiviert ist, verschlüsselt diese Lösung alle Datenbanken, die denselben KMS-Schlüssel haben.
Architektur
Das folgende Diagramm veranschaulicht die Architektur für die AWS- CloudFormation Implementierung. Beachten Sie, dass Sie dieses Muster auch mithilfe des AWS Cloud Development Kit (AWS CDK) implementieren können.
![](images/pattern-img/7f7195e3-98c4-4b18-9192-c0400ac5b891/images/8c1466fa-15b3-44ef-aa7e-7958f80cb699.png)
Tools
Tools
AWS CloudFormation
unterstützt Sie bei der automatischen Einrichtung Ihrer AWS-Ressourcen. Damit können Sie eine Vorlagendatei verwenden, um eine Sammlung von Ressourcen als einzelne Einheit (einen Stack) zu erstellen und zu löschen. AWS Cloud Development Kit (AWS CDK)
ist ein Softwareentwicklungs-Framework zur Definition Ihrer Cloud-Infrastruktur im Code und zur Bereitstellung mithilfe vertrauter Programmiersprachen.
AWS-Services und -Funktionen
AWS Config
verfolgt die Konfiguration Ihrer AWS-Ressourcen und deren Beziehungen zu Ihren anderen Ressourcen. Es kann diese AWS-Ressourcen auch auf Compliance überprüfen. Dieser Service verwendet Regeln, die so konfiguriert werden können, dass AWS-Ressourcen anhand der gewünschten Konfigurationen bewertet werden. Sie können eine Reihe von verwalteten AWS Config-Regeln für gängige Compliance-Szenarien verwenden oder eigene Regeln für benutzerdefinierte Szenarien erstellen. Wenn festgestellt wird, dass eine AWS-Ressource nicht konform ist, können Sie eine Abhilfemaßnahme über ein AWS Systems Manager-Runbook angeben und optional eine Warnung über ein Amazon Simple Notification Service (Amazon SNS)-Thema senden. Mit anderen Worten, Sie können Korrekturmaßnahmen AWS Config-Regeln zuordnen und sie automatisch ausführen, um nicht konforme Ressourcen ohne manuellen Eingriff zu beheben. Wenn eine Ressource nach der automatischen Korrektur immer noch nicht konform ist, können Sie die Regel so festlegen, dass die automatische Korrektur erneut versucht wird. Amazon Relational Database Service (Amazon RDS)
erleichtert das Einrichten, Betreiben und Skalieren einer relationalen Datenbank in der Cloud. Der Grundbaustein für Amazon RDS ist die DB-Instance, eine isolierte Datenbankumgebung in der AWS Cloud. Amazon RDS bietet eine Auswahl von Instance-Typen , die für verschiedene Anwendungsfälle für relationale Datenbanken optimiert sind. Instance-Typen umfassen verschiedene Kombinationen von CPU-, Arbeitsspeicher-, Speicher- und Netzwerkkapazitäten und bieten Ihnen die Flexibilität, die richtige Mischung von Ressourcen für Ihre Datenbank auszuwählen. Jeder Instance-Typ umfasst mehrere Instance-Größen, sodass Sie Ihre Datenbank an die Anforderungen Ihrer Ziel-Workload anpassen können. AWS Key Management Service (AWS KMS)
ist ein verwalteter Service, der es Ihnen erleichtert, AWS KMS-Schlüssel zu erstellen und zu steuern, die Ihre Daten verschlüsseln. Ein KMS-Schlüssel ist eine logische Darstellung eines Root-Schlüssels. Der KMS-Schlüssel enthält Metadaten wie die Schlüssel-ID, das Erstellungsdatum, die Beschreibung und den Schlüsselstatus. Mit AWS Identity and Access Management (IAM)
können Sie den Zugriff auf Ihre AWS-Ressourcen sicher verwalten, indem Sie steuern, wer authentifiziert und zur Nutzung autorisiert ist. Service-Kontrollrichtlinien (SCPs )bieten eine zentrale Kontrolle über die maximal verfügbaren Berechtigungen für alle Konten in Ihrer Organisation. SCPs helfen Ihnen sicherzustellen, dass Ihre Konten die Zugriffskontrollrichtlinien Ihrer Organisation einhalten. SCPs haben keine Auswirkungen auf Benutzer oder Rollen im Verwaltungskonto. Sie wirken sich nur auf die Mitgliedskonten Ihrer Organisation aus. Wir raten Ihnen nachdrücklich davon ab, Service-Kontrollrichtlinien zum Root-Benutzer Ihrer Organisation zuzuordnen, ohne zuvor gründlich getestet zu haben, wie sich die Richtlinie auf Konten auswirkt. Erstellen Sie stattdessen eine Organisationseinheit (OU), in die Sie Ihre Konten nacheinander oder zumindest in kleinen Nummern verschieben können, um sicherzustellen, dass Sie Benutzer nicht versehentlich von Schlüsselservices sperren.
Code
Der Quellcode und die Vorlagen für dieses Muster sind in einem GitHub Repository
Der Abschnitt „PiCs“ enthält step-by-step Anweisungen zur Bereitstellung der CloudFormation Vorlage. Wenn Sie das AWS-CDK verwenden möchten, folgen Sie den Anweisungen in der Datei README.md im GitHub Repository.
Bewährte Methoden
Aktivieren Sie die Datenverschlüsselung sowohl im Ruhezustand als auch während der Übertragung.
Aktivieren Sie AWS Config in allen Konten und AWS-Regionen.
Aufzeichnen von Konfigurationsänderungen an allen Ressourcentypen.
Wechseln Sie regelmäßig die IAM-Anmeldeinformationen.
Nutzen Sie das Tagging für AWS Config , was das Verwalten, Suchen und Filtern von Ressourcen vereinfacht.
Polen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Laden Sie die CloudFormation Vorlage herunter. | Laden Sie die | DevOps Techniker |
Erstellen Sie den CloudFormation Stack. |
Weitere Informationen zum Bereitstellen von Vorlagen finden Sie in der AWS- CloudFormation Dokumentation. | DevOps Techniker |
Überprüfen Sie CloudFormation Parameter und Werte. |
| DevOps Techniker |
Überprüfen Sie die Ressourcen. | Wenn der Stack erstellt wurde, ändert sich sein Status in CREATE_COMPLETE . Überprüfen Sie die erstellten Ressourcen (IAM-Rolle, AWS Systems Manager-Runbook) in der - CloudFormation Konsole. | DevOps Techniker |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Aktualisieren Sie Ihre KMS-Schlüsselrichtlinie. |
| DevOps Techniker |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Anzeigen nicht konformer Ressourcen. |
Bei den in der AWS Config-Konsole aufgeführten nicht konformen Ressourcen handelt es sich um Instances, nicht um Cluster. Die Korrekturautomatisierung verschlüsselt Instances und Cluster und erstellt entweder eine neu verschlüsselte Instance oder einen neu erstellten Cluster. Achten Sie jedoch darauf, nicht mehrere Instances gleichzeitig zu beheben, die zu demselben Cluster gehören. Bevor Sie RDS-DB-Instances oder -Volumes korrigieren, stellen Sie sicher, dass die RDS-DB-Instance nicht verwendet wird. Vergewissern Sie sich, dass während der Snapshot-Erstellung keine Schreibvorgänge ausgeführt werden, um sicherzustellen, dass der Snapshot die Originaldaten enthält. Erwägen Sie, ein Wartungsfenster durchzusetzen, in dem die Korrektur ausgeführt wird. | DevOps Techniker |
Korrigieren Sie nicht konforme Ressourcen. |
| DevOps Techniker |
Stellen Sie sicher, dass die RDS-DB-Instance verfügbar ist. | Nach Abschluss der Automatisierung wird die neu verschlüsselte RDS-DB-Instance verfügbar. Die verschlüsselte RDS-DB-Instance hat das Präfix | DevOps Techniker |
Beenden Sie die unverschlüsselte Instance. | Nachdem die Korrektur abgeschlossen und die neu verschlüsselte Ressource validiert wurde, können Sie die unverschlüsselte Instance beenden. Stellen Sie sicher, dass die neu verschlüsselte Ressource mit der unverschlüsselten Ressource übereinstimmt, bevor Sie Ressourcen beenden. | DevOps Techniker |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
SCPs erzwingen. | Erzwingen Sie SCPs, um zu verhindern, dass DB-Instances und Cluster in Zukunft ohne Verschlüsselung erstellt werden. Verwenden Sie zu diesem Zweck die im GitHub Repository | Sicherheitsingenieur |
Zugehörige Ressourcen
Referenzen
Tools
Anleitungen und Muster
Zusätzliche Informationen
HÄUFIG GESTELLTE FRAGEN
F: Wie funktioniert AWS Config?
A. Wenn Sie AWS Config aktivieren, erkennt es zunächst die unterstützten AWS-Ressourcen, die in Ihrem Konto vorhanden sind, und generiert ein Konfigurationselement für jede Ressource. AWS Config generiert auch Konfigurationselemente, wenn sich die Konfiguration einer Ressource ändert, und speichert historische Aufzeichnungen der Konfigurationselemente Ihrer Ressourcen ab dem Zeitpunkt, an dem Sie den Konfigurations-Recorder starten. Standardmäßig erstellt AWS Config Konfigurationselemente für jede unterstützte Ressource in der AWS-Region. Wenn Sie nicht möchten, dass AWS Config Konfigurationselemente für alle unterstützten Ressourcen erstellt, können Sie die Ressourcentypen angeben, die verfolgt werden sollen.
F: Wie beziehen sich AWS Config- und AWS Config-Regeln auf AWS Security Hub?
A. AWS Security Hub ist ein Sicherheits- und Compliance-Service, der als Service Sicherheits- und Compliance-Statusmanagement bietet. Es verwendet AWS Config- und AWS Config-Regeln als primären Mechanismus zur Bewertung der Konfiguration von AWS-Ressourcen. AWS Config-Regeln können auch verwendet werden, um die Ressourcenkonfiguration direkt auszuwerten. Konfigurationsregeln werden auch von anderen AWS-Services wie AWS Control Tower und AWS Firewall Manager verwendet.