AWS Security Hub-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie AWS Security Hub-Protokolle in Google Security Operations aufnehmen. AWS Security Hub bietet eine umfassende Übersicht über Sicherheitswarnungen und -erkenntnisse in allen AWS-Konten. Wenn Sie diese Ergebnisse an Google SecOps senden, können Sie die Funktionen von Google SecOps nutzen, um die Überwachung und Bedrohungserkennung zu verbessern.
Vorbereitung
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen erhöhte Zugriffsrechte für AWS.
AWS IAM konfigurieren
- Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu dieser Anleitung: Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets für später.
- Erstellen Sie einen Nutzer gemäß der Anleitung IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Bereich Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie als Anwendungsfall Drittanbieterdienst aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungs-Tag hinzu.
- Klicken Sie auf Zugriffsschlüssel erstellen.
- Klicken Sie auf CSV-Datei herunterladen, um den Zugriffsschlüssel und den Secret Access Key zur späteren 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.
AWS Security Hub so konfigurieren, dass Ergebnisse mit EventBridge weitergeleitet werden
- Melden Sie sich bei der AWS Management Console an.
- Geben Sie in die Suchleiste „Security Hub“ ein und wählen Sie in der Liste der Dienste die Option Security Hub aus.
- Klicken Sie auf Einstellungen.
- Klicken Sie im Bereich Integrationen auf EventBridge und dann auf Aktivieren.
- Geben Sie in die Suchleiste EventBridge ein und wählen Sie die Option aus der Liste der Dienste aus.
- Klicken Sie in der EventBridge-Konsole auf Regeln > Regel erstellen.
- Geben Sie die folgende Regelkonfiguration an:
- Regelname: Geben Sie einen beschreibenden Namen für die Regel an, z. B. SendSecurityHubFindingsToS3.
- Ereignisquelle: Wählen Sie AWS-Dienste aus.
- Dienstname: Wählen Sie Security Hub aus.
- Ereignistyp: Wählen Sie Security Hub-Ergebnisse aus.
- Ziel festlegen: Wählen Sie als Ziel für die Ergebnisse den S3-Bucket aus.
- S3-Bucket: Wählen Sie den Bucket aus, in dem die Ergebnisse gespeichert werden sollen.
- Wenn Sie noch keinen S3-Bucket eingerichtet haben, erstellen Sie einen:
- Rufen Sie die S3 Console auf .
- Klicken Sie auf Bucket erstellen.
- Geben Sie einen Bucket-Namen an, z. B. securityhub-findings-logs.
- Klicken Sie auf Erstellen.
- Berechtigungen konfigurieren: EventBridge konfiguriert automatisch die erforderlichen Berechtigungen, damit Ergebnisse an den angegebenen S3-Bucket gesendet werden können. Wenn Sie einen benutzerdefinierten Bucket verwenden, müssen die richtigen S3-Berechtigungen vorhanden sein, damit EventBridge Protokolle in den Bucket schreiben kann.
- Klicken Sie auf Erstellen.
Feed in Google SecOps für die Aufnahme von AWS Security Hub-Logs konfigurieren
- Gehen Sie zu SIEM-Einstellungen > Feeds.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. AWS Security Hub-Protokolle.
- Wählen Sie als Quelltyp Amazon S3 aus.
- Wählen Sie AWS Security Hub 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 des Buckets.
- Ersetzen Sie
- URI ist ein: Wählen Sie Verzeichnis oder Verzeichnis mit Unterverzeichnissen aus.
Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus.
Zugriffsschlüssel-ID: Der Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.
Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Zugriff auf den 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.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
account |
principal.group.product_object_id |
Die mit dem Befund verknüpfte AWS-Konto-ID. |
configurationItem.ARN |
target.resource.id |
Der Amazon Resource Name (ARN) des Konfigurationselements. |
configurationItem.awsAccountId |
principal.user.userid |
Die AWS-Konto-ID des Konfigurationselements. |
configurationItem.awsRegion |
target.asset.location.country_or_region |
Die AWS-Region des Konfigurationselements. |
configurationItem.configuration.complianceType |
security_result.summary |
Der Compliance-Typ des Konfigurationselements. |
configurationItem.configuration.configRuleList[].complianceType |
security_result.summary |
Compliance-Status für jede Konfigurationsregel. |
configurationItem.configuration.configRuleList[].configRuleArn |
security_result.rule_id |
Die ARN der AWS Config-Regel. |
configurationItem.configuration.configRuleList[].configRuleId |
security_result.about.labels.configRuleId |
Die ID der AWS Config-Regel. |
configurationItem.configuration.configRuleList[].configRuleName |
security_result.rule_name |
Der Name der AWS Config-Regel. |
configurationItem.configuration.privateIpAddress |
target.ip |
Die private IP-Adresse des Konfigurationselements. |
configurationItem.configuration.publicIpAddress |
target.ip |
Die öffentliche IP-Adresse des Konfigurationselements. |
configurationItem.configurationItemCaptureTime |
target.asset.attribute.creation_time |
Der Erfassungszeitpunkt des Konfigurationselements, in einen Zeitstempel umgewandelt. |
configurationItem.configurationItemStatus |
target.asset.attribute.labels.Configuration Item Status |
Der Status des Konfigurationselements. |
configurationItem.relationships[].resourceId |
target.asset.attribute.cloud.vpc.id |
Die Ressourcen-ID der zugehörigen Ressource, die als VPC-ID verwendet wird, wenn sie mit „vpc“ übereinstimmt. |
configurationItem.resourceId |
target.resource.id |
Die Ressourcen-ID des Konfigurationselements. |
configurationItem.resourceName |
target.resource.name |
Name der Ressource. |
configurationItem.resourceType |
target.resource.resource_subtype |
Der Ressourcentyp des Konfigurationselements. |
configurationItem.tags.Contact |
principal.user.user_display_name ODER principal.user.email_addresses |
Aus Tags extrahierte Kontaktdaten, die nach E-Mail-Adresse und Nutzername geparst werden. |
configurationItem.tags.OS /configurationItem.tags.Os |
target.asset.platform_software.platform |
Das Betriebssystem aus Tags, der Plattform zugeordnet, wenn es sich um „Windows“ oder „Linux“ handelt. |
configurationItemDiff.changeType |
metadata.event_type |
Der Änderungstyp, der RESOURCE_WRITTEN oder RESOURCE_CREATION zugeordnet ist. |
detail.accountId |
principal.group.product_object_id |
Die mit dem Befund verknüpfte AWS-Konto-ID. |
detail.actionDescription detail.actionName detail.description |
sec_result.description |
Beschreibung der Abweichung |
detail.findings[].AwsAccountId |
principal.group.product_object_id |
Die mit dem Befund verknüpfte AWS-Konto-ID. |
detail.findings[].CompanyName detail.findings[].CreatedAt detail.findings[].Description |
sec_result.description |
Die Beschreibung des Ergebnisses. |
detail.findings[].FindingProviderFields.Severity.Label |
sec_result.severity |
Das Labels für den Schweregrad des Ergebnisses, in Großbuchstaben. |
detail.findings[].FindingProviderFields.Types[] detail.findings[].FirstObservedAt detail.findings[].GeneratorId detail.findings[].Id detail.findings[].LastObservedAt detail.findings[].ProductArn detail.findings[].ProductFields. |
Siehe unten. | Verschiedene Felder für zusätzliche Felder, Haupt- und Zielinformationen. |
detail.findings[].ProductName detail.findings[].RecordState detail.findings[].Region |
target.location.name |
Die AWS-Region des Ergebnisses. |
detail.findings[].Resources[].Details. |
Siehe unten. | Details zu den mit dem Ergebnis verbundenen Ressourcen. |
detail.findings[].Resources[].Id |
target.resource.product_object_id |
Die ID der Ressource. |
detail.findings[].Resources[].Partition detail.findings[].Resources[].Region |
target.location.name |
Die AWS-Region der Ressource. |
detail.findings[].Resources[].Tags detail.findings[].Resources[].Type |
target.resource.resource_type , target.resource.resource_subtype , metadata.event_type |
Der Ressourcentyp, der für die Zuordnung von Ressourcentyp, Untertyp und Ereignistyp verwendet wird. |
detail.findings[].Sample detail.findings[].SchemaVersion detail.findings[].Severity.Label detail.findings[].SourceUrl detail.findings[].Title |
sec_result.summary |
Der Titel der Erkenntnis. |
detail.findings[].Types[] detail.findings[].UpdatedAt detail.findings[].Workflow.Status detail.findings[].WorkflowState detail-type |
metadata.product_event_type |
Der Detailtyp des Ereignisses. |
id |
metadata.product_log_id |
Die ID des Ereignisses. |
region |
target.location.name |
Die AWS-Region des Ereignisses. |
resources[] source time version (Parserlogik) |
metadata.event_timestamp |
Die Erstellungszeit aus dem ursprünglichen Logeintrag, die als Ereigniszeitstempel verwendet wird. |
(Parser Logic) | metadata.log_type |
Legen Sie den Wert auf „AWS_SECURITY_HUB“ fest. |
(Parser Logic) | metadata.product_name |
Legen Sie diesen Wert auf „AWS Security Hub“ fest. |
(Parser Logic) | metadata.vendor_name |
Legen Sie diesen Wert auf „AMAZON“ fest. |
(Parser Logic) | target.asset.attribute.cloud.environment |
Legen Sie diesen Wert auf „AMAZON_WEB_SERVICES“ fest. |
(Parser Logic) | metadata.event_type |
Legen Sie „USER_RESOURCE_ACCESS“ als Standard fest, wenn die Zuordnung nicht über Resources[].Type oder configurationItemDiff.changeType erfolgt. Legen Sie „STATUS_UPDATE“ fest, wenn configurationItems vorhanden ist und kein anderer Ereignistyp festgelegt ist. Legen Sie „RESOURCE_READ“ fest, wenn configurationItem oder configurationItems vorhanden ist und der Status „OK“ oder „ResourceDiscovered“ lautet. Legen Sie „RESOURCE_DELETION“ fest, wenn configurationItem oder configurationItems vorhanden ist und der Status „ResourceDeleted“ lautet. |
(Parser Logic) | metadata.description |
Wird auf „guardduty“ gesetzt, wenn detail.findings[].ProductFields.aws/guardduty/service/serviceName vorhanden ist. |
(Parser Logic) | target.asset.attribute.cloud.vpc.resource_type |
Legen Sie „VPC_NETWORK“ fest, wenn configurationItems.relationships[].resourceId mit „vpc“ übereinstimmt. |
(Parser Logic) | target.resource.resource_type |
Legen Sie „VIRTUAL_MACHINE“ fest, wenn configurationItem oder configurationItems vorhanden ist. Legen Sie „UNBESCHRIEBEN“ fest, wenn kein anderer Ressourcentyp festgelegt ist. |
(Parser Logic) | target.asset.platform_software.platform |
Legen Sie „WINDOWS“ oder „LINUX“ fest, je nachdem, ob „Windows“ oder „(Linux |
(Parser Logic) | disambiguation_key |
Wird hinzugefügt, wenn aus einem einzelnen Logeintrag mehrere Ereignisse generiert werden. |
Änderungen
2023-06-20
- Verbesserung:
- „metadata.event_type“ wurde von „GENERIC_EVENT“ in „USER_RESOURCE_ACCESS“ geändert.
2023-03-24
- Verbesserung:
- when "detail.findings.0.Resources.0.Type" == "AwsEcsTaskDefinition" -
- „target.resource.resource_type“ wurde in „TASK“ geändert.
- „event_type“ wurde in „USER_RESOURCE_ACCESS“ geändert.
- „detail.findings.0.ProductFields.Resources:0/Id“ wurde in „principal.asset_id“ umgewandelt.
- Alle anderen fehlgeschlagenen Protokolle wurden als GENERIC_EVENT geparst, da STATUS_UPDATE für sie keine gute Parseoption war.
2022-08-22
- Verbesserung:
- „vendor_name“ von „AWS SECURITY HUB“ in „AMAZON“ geändert.
- „product_name“ von „AWS SECURITY HUB“ in „AWS Security Hub“ geändert.
- Die neuen Protokolle im JSON-Format wurden analysiert, die „configurationItem“ oder „configurationItems“ enthalten.
- Die Protokolle, die als Importdatei aufgenommen wurden, wurden mit einer For-Schleife getrennt und als einzelne Ereignisse geparst.
2022-07-01
- Neu erstellter Parser.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten