AWS Key Management Service-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie AWS Key Management Service (KMS)-Logs in Google Security Operations aufnehmen. AWS KMS ist ein vollständig verwalteter Dienst, mit dem Sie Verschlüsselungsschlüssel erstellen und steuern können, die zum Verschlüsseln Ihrer Daten verwendet werden. Diese Integration hilft bei der Überwachung und Prüfung der Verwendung von Verschlüsselungsschlüsseln.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf AWS
Amazon S3 und IAM konfigurieren
- Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu der Anleitung unter Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets für die spätere Verwendung.
- Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie als Anwendungsfall Drittanbieterdienst aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungstag hinzu.
- Klicken Sie auf Zugriffsschlüssel erstellen.
- Klicken Sie auf CSV-Datei herunterladen, um den Access Key (Zugriffsschlüssel) und den Secret Access Key (geheimer Zugriffsschlüssel) für die spätere Verwendung zu speichern.
- Klicken Sie auf Fertig.
- Wählen Sie den Tab Berechtigungen aus.
- Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
- Wählen Sie Berechtigungen hinzufügen aus.
- Wählen Sie Richtlinien direkt anhängen aus.
- Suchen Sie nach der Richtlinie AmazonS3FullAccess und wählen Sie sie aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Berechtigungen hinzufügen.
CloudTrail für AWS KMS konfigurieren
- Melden Sie sich bei der AWS Management Console an.
- Geben Sie in der Suchleiste CloudTrail ein und wählen Sie den Dienst aus der Liste aus.
- Klicken Sie auf Trail erstellen.
- Geben Sie einen Trail-Namen an, z. B. KMS-Activity-Trail.
- Klicken Sie das Kästchen Für alle Konten in meiner Organisation aktivieren an.
- Geben Sie den zuvor erstellten S3-Bucket-URI ein (das Format sollte
s3://your-log-bucket-name/
sein) oder erstellen Sie einen neuen S3-Bucket. - Wenn SSE-KMS aktiviert ist, geben Sie einen Namen für den AWS KMS-Alias an oder wählen Sie einen vorhandenen AWS KMS-Schlüssel aus.
- Die anderen Einstellungen können Sie auf den Standardwerten belassen.
- Klicken Sie auf Weiter.
- Wählen Sie unter Ereignistypen die Optionen Verwaltungsereignisse und Datenereignisse aus.
- Klicken Sie auf Weiter.
- Prüfen Sie die Einstellungen unter Überprüfen und erstellen.
- Klicken Sie auf Trail erstellen.
- Optional: Wenn Sie einen neuen Bucket erstellt haben, fahren Sie mit dem folgenden Verfahren fort:
- Rufen Sie S3 auf.
- Suchen Sie den neu erstellten Log-Bucket und wählen Sie ihn aus.
- Wählen Sie den Ordner AWSLogs aus.
- Klicken Sie auf S3-URI kopieren und speichern Sie sie.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über die SIEM-Einstellungen > „Feeds“ einrichten
Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.
So konfigurieren Sie einen einzelnen Feed:
- Rufen Sie die SIEM-Einstellungen> Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. AWS KMS Logs (AWS KMS-Logs).
- Wählen Sie Amazon S3 als Quelltyp aus.
- Wählen Sie AWS KMS als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Region: Die Region, in der sich der Amazon S3-Bucket befindet.
- S3-URI: Der Bucket-URI.
s3://your-log-bucket-name/
- Ersetzen Sie
your-log-bucket-name
durch den tatsächlichen Namen Ihres S3-Buckets.
- Ersetzen Sie
- URI ist ein: Wählen Sie je nach Bucket-Struktur entweder Verzeichnis oder Verzeichnis mit Unterverzeichnissen aus.
Optionen zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.
Access Key ID (Zugriffsschlüssel-ID): Der Zugriffsschlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Asset-Namespace: Der Asset-Namespace.
Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Region: Die Region, in der sich der Amazon S3-Bucket befindet.
- S3-URI: Der Bucket-URI.
s3://your-log-bucket-name/
- Ersetzen Sie
your-log-bucket-name
durch den tatsächlichen Namen Ihres S3-Buckets.
- Ersetzen Sie
- URI ist ein: Wählen Sie je nach Bucket-Struktur entweder Verzeichnis oder Verzeichnis mit Unterverzeichnissen aus.
- Optionen zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.
Access Key ID (Zugriffsschlüssel-ID): Der Zugriffsschlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
data.detail.awsRegion | principal.location.country_or_region | Direkt aus dem Feld data.detail.awsRegion im Rohlog zugeordnet. |
data.detail.eventCategory | security_result.category_details | Direkt aus dem Feld data.detail.eventCategory im Rohlog zugeordnet. |
data.detail.eventName | metadata.product_event_type | Direkt aus dem Feld data.detail.eventName im Rohlog zugeordnet. In diesem Feld wird der metadata.event_type -Wert anhand der folgenden Logik bestimmt: Wenn eventName „Decrypt“ oder „Encrypt“ ist, ist event_type „USER_RESOURCE_ACCESS“. Wenn eventName „GenerateDataKey“ ist, ist event_type „USER_RESOURCE_CREATION“. Andernfalls ist event_type „GENERIC_EVENT“. |
data.detail.requestID | additional.fields.key | Der Wert ist im Parsercode als „requestID“ hartcodiert. |
data.detail.requestID | additional.fields.value.string_value | Direkt aus dem Feld data.detail.requestID im Rohlog zugeordnet. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.key | Der Wert ist im Parsercode als „encryptionAlgorithm“ hartcodiert. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.value | Direkt aus dem Feld data.detail.requestParameters.encryptionAlgorithm im Rohlog zugeordnet. |
data.detail.resources.ARN | target.resource.id | Direkt aus dem Feld data.detail.resources.ARN im Rohlog zugeordnet. |
data.detail.resources.type | target.resource.resource_subtype | Direkt aus dem Feld data.detail.resources.type im Rohlog zugeordnet. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.key | Der Wert ist im Parsercode als „mfaAuthenticated“ hartcodiert. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.value | Direkt aus dem Feld data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated im Rohlog zugeordnet. |
data.detail.userIdentity.sessionContext.sessionIssuer.principalId | principal.user.userid | Direkt aus dem Feld data.detail.userIdentity.sessionContext.sessionIssuer.principalId im Rohlog zugeordnet. |
data.detail.userIdentity.sessionContext.sessionIssuer.userName | principal.user.user_display_name | Direkt aus dem Feld data.detail.userIdentity.sessionContext.sessionIssuer.userName im Rohlog zugeordnet. |
data.detail.userIdentity.type | principal.user.attribute.roles.name | Direkt aus dem Feld data.detail.userIdentity.type im Rohlog zugeordnet. |
data.id | metadata.product_log_id | Direkt aus dem Feld data.id im Rohlog zugeordnet. |
data.time | metadata.event_timestamp.seconds | Der Sekundenwert des Zeitstempels, der aus dem Feld data.time im Rohlog geparst wurde. |
– | metadata.event_type | Dieses Feld wird von der Parserlogik basierend auf dem Wert von data.detail.eventName abgeleitet: Wenn eventName „Decrypt“ oder „Encrypt“ ist, ist event_type „USER_RESOURCE_ACCESS“. Wenn eventName „GenerateDataKey“ ist, ist event_type „USER_RESOURCE_CREATION“. Andernfalls ist event_type „GENERIC_EVENT“. |
– | metadata.log_type | Der Wert ist im Parsercode als „AWS_KMS“ hartcodiert. |
– | metadata.product_name | Der Wert ist im Parsercode fest auf „AWS Key Management Service“ codiert. |
– | metadata.vendor_name | Der Wert ist im Parsercode als „AMAZON“ hartcodiert. |
– | principal.asset.attribute.cloud.environment | Der Wert ist im Parsercode fest auf „AMAZON_WEB_SERVICES“ codiert. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten