Wie man DataSunrise mit AWS Database Activity Streams integriert, um Auditergebnisse für AWS Aurora PostgreSQL zu erhalten
Überblick über Methoden zur Datenbankaktivitätsprüfung
Heutzutage wird Datenbank-Auditing wegen der zahlreichen gesetzlichen Regelungen und Verordnungen zum Schutz sensibler Daten, wie GDPR, KVKK usw., immer wichtiger.
Technisch gesehen gibt es mehrere Methoden zum Datenbank-Auditing. Die beliebtesten sind:
- Datenbankverkehrs-Proxying;
- Passives Überwachen des Datenbankverkehrs;
- Lesen von Protokollen, die von nativen Datenbank-Auditing-Tools gesammelt werden;
- Integration mit speziellen Auditing-Diensten wie AWS DAS.
Jeder Ansatz hat seine eigenen Vor- und Nachteile, Beschränkungen und Möglichkeiten. Amazon-Nutzer könnten die letzten beiden Ansätze als am besten geeignet für ihre Bedürfnisse empfinden. Diese Methoden ermöglichen es AWS-Nutzern, Sicherheitspersonal über spezifische Datenbankereignisse zu benachrichtigen, Berichte über die Aktivität im Aurora PG-Cluster zu erstellen usw.
AWS Database Activity Streams (DAS) bieten einen nahezu in Echtzeit verfügbaren Strom der Aktivitäten in Ihrem DB-Cluster und geben Ihnen die folgenden Vorteile gegenüber nativen Datenbank-Protokollierungsmechanismen (DataSunrise‘s Trailing DB audit logs Funktionalität):
- Der Konfigurationsprozess von DAS ist viel einfacher als die Konfiguration „normaler“ nachlaufender Protokollierung basierend auf Logdateien. Zudem benötigen Sie keinen zusätzlichen Speicherplatz, um Logs zu speichern;
- Erhöhter Schutz vor internen Bedrohungen: Datenbankadministratoren haben keinen Zugang zur Sammlung, Übertragung, Speicherung und Verarbeitung der Datenbankaktivitätsströme;
- DAS bietet mehr Flexibilität als „normale“ Nachläufer aufgrund der verfügbaren synchronen und asynchronen Modi.
Der kritischste Nachteil von DAS ist die Inkompatibilität mit einigen RDS-Instanzklassen und Amazon Aurora-Versionen.
Das folgende Diagramm zeigt einen Aurora PG-Cluster, der mit DataSunrise integriert ist:
Hier ist ein Aurora PG-Cluster mit aktiviertem DAS. Aurora schickt Daten über Datenbankaktivitäten an AWS Kinesis. Die Aktivitätsströme werden dabei mit einem AWS KMS-Verschlüsselungsschlüssel verschlüsselt. Kinesis wiederum übermittelt die Datenbankaktivitätsströme an DataSunrise, das als Datenbanküberwachungstool verwendet wird. DataSunrise verarbeitet die Ströme und speichert die Auditergebnisse in seinem Audit-Speicher. Anschließend werden die erfassten Datenbankereignisse im Abschnitt „Transaction Trails“ der DataSunrise-Webkonsole angezeigt.
Voraussetzungen für den Aurora PG-Cluster
Bevor Sie DAS konfigurieren, stellen Sie sicher, dass Ihre AWS-Umgebung die unten aufgeführten Anforderungen erfüllt.
Unterstützte Aurora PostgreSQL-Datenbankversionen:
- Alle Versionen 13
- Alle Versionen 12
- Version 11.6 und höher der Versionen 11
- Version 10.11 und höher der Versionen 10
Unterstützte AWS RDS-Instanzklassen:
- db.r6g
- db.r5
- db.r4
- db.x2g
Datenbankaktivitätsströme werden in allen AWS-Regionen außer den folgenden unterstützt:
- China (Peking) Region, cn-north-1
- China (Ningxia) Region, cn-northwest-1
- AWS GovCloud (US-Ost), us-gov-east-1
- AWS GovCloud (US-West), us-gov-west-1
Sonstiges:
- DAS erfordert die Nutzung des AWS Key Management Service (AWS KMS). AWS KMS ist erforderlich, da die Aktivitätsströme immer verschlüsselt sind
- Datenbankaktivitätsströme erfordern die Nutzung von Amazon Kinesis
Lesen Sie mehr: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.Overview.html#DBActivityStreams.Overview.requirements.version
Erstellen eines AWS KMS-Schlüssels
Da die Aktivitätsströme immer verschlüsselt sind, müssen Sie einen Verschlüsselungsschlüssel verwenden. Aurora verwendet den KMS-Schlüssel, um den Schlüssel zu verschlüsseln, der wiederum die Datenbankaktivität verschlüsselt. Wenn Sie keinen KMS-Schlüssel haben, erstellen Sie einen.
Rufen Sie das Schlüsselverwaltungssystem (KMS) von AWS auf und klicken Sie auf Schlüssel erstellen. Legen Sie die folgenden Optionen für Ihren Schlüssel fest:
- Schlüsseltyp: Symmetrisch
- Schlüsselmaterialursprung: KMS
- Regionalität: Einzelregionsschlüssel
- Schlüsselrichtlinie: Standard
Lesen Sie mehr: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html
Starten von DAS für Ihren Aurora PG-Cluster
Nachdem Sie Ihre RDS Aurora PG-Umgebung vorbereitet haben, können Sie Datenbankaktivitätsströme starten.
Gehen Sie zu RDS Managed Relational Database Service (RDS), wählen Sie Databases, wählen Sie den DB-Cluster aus, für den Sie einen Aktivitätsstrom aktivieren möchten, und klicken Sie auf Actions -> Start database activity stream:
Konfigurieren Sie DAS wie folgt:
- Master-Schlüssel: Ihr KMS-Schlüssel
- Datenbankaktivitätsstrommodus: entweder Asynchron oder Synchron. Wir empfehlen, den synchronen Modus zu verwenden, da er die Genauigkeit des Aktivitätsstroms gegenüber der Datenbankleistung bevorzugt. Den Unterschied zwischen diesen beiden Modi finden Sie hier.
- Sofort anwenden: ob die Änderungen sofort oder nach Zeitplan angewendet werden sollen.
- Sie können auf den Strom im Bereich „Konfiguration“ der Clustereinstellungen zugreifen (Datenbankaktivitätsstrom -> Kinesis-Strom): Lesen Sie mehr: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.Enabling.html
Konfigurieren von DAS-basiertem Auditing in DataSunrise
Nachdem Sie DAS für Ihren Aurora-Cluster gestartet haben, können Sie mit der Konfiguration von DataSunrise zur Verarbeitung von Datenbankaktivitätsströmen fortfahren.
Um DataSunrise für die Arbeit mit DAS zu aktivieren, benötigt Ihr IAM-Benutzer Zugriff auf einige Funktionen von Kinesis, KMS und RDS. Um die erforderlichen Berechtigungen zu erteilen, navigieren Sie zu Identity and Access Management (IAM) -> Users und fügen Sie die folgende Richtlinie zu Ihrem Benutzer hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "Kinesis:DescribeStreamSummary", "Kinesis:ListShards", "Kinesis:GetShardIterator", "Kinesis:GetRecords", "Kinesis:DescribeStreamSummary", "KMS:Decrypt", "RDS:DescribeDBClusters"], "Resource": ["<ARN Ihres Kinesis-Stroms>","<ARN Ihres KMS-Schlüssels>","<ARN Ihrer RDS-DB>"] } ] }
Erstellen Sie eine neue Aurora PG-Datenbankinstanz oder verwenden Sie eine bestehende. Öffnen Sie die DataSunrise-Webkonsole und navigieren Sie zu Configuration -> Databases.
- Geben Sie Verbindungsdetails für Ihre Aurora PG-Datenbank an. Geben Sie den Endpunkt Ihres Aurora PG-Clusters im Feld Host an;
- Im Abschnitt Capture Mode der Instanzseite wählen Sie Trailing the DB Audit Logs aus der Dropdown-Liste Mode aus;
- Im Dropdown-Menü Format Type wählen Sie Database activity stream;
- Füllen Sie alle erforderlichen Felder aus. Speichern Sie die Instanz.
Erstellen Sie eine Daten-Auditregel für Ihre Aurora PG-Instanz: navigieren Sie zu Audit -> Rules und erstellen Sie eine Regel
Für Auditergebnisse navigieren Sie zu Audit -> Transactional Trails. Beachten Sie, dass die Ergebnisse mit einer Verzögerung von etwa 5-10 Minuten erscheinen können.
Sie können das auf DAS basierende Auditing von DataSunrise auch durch Ändern der folgenden Parameter anpassen (System Settings -> Additional Parameters):
- TrailDASIntervalTime: Zeitraum, für den eine Liste von Ereignissen abgerufen wird (z.B. für die letzten 5 Minuten ab dem neuesten Eintrag);
- TrailDASOffsetTime: Zeitverzögerung für den Abruf von Ereignissen (erforderlich für die Synchronisierung, Sekunden).