Amazon CloudFront-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Amazon CloudFront-Logs erfassen, indem Sie einen Google Security Operations-Feed einrichten.
Weitere Informationen finden Sie unter Datenaufnahme in Google Security Operations.
Mit einem Datenaufnahmelabel wird der Parser identifiziert, der Roh-Logdaten in das strukturierte UDM-Format normalisiert. Die Informationen in diesem Dokument beziehen sich auf den Parser mit dem Datenaufnahmelabel AWS_CLOUDFRONT
.
Hinweise
Der Amazon S3-Bucket muss erstellt worden sein. Weitere Informationen finden Sie unter Ersten S3-Bucket erstellen.
Amazon CloudFront konfigurieren
- Melden Sie sich in der AWS Management Console an.
- Rufen Sie die Amazon S3-Konsole auf und erstellen Sie den Amazon S3-Bucket.
- Wählen Sie An aus, um das Logging zu aktivieren.
- Geben Sie im Feld Bucket für Protokolle den Namen des Amazon S3-Buckets an.
- Geben Sie im Feld Protokollpräfix ein optionales Präfix an.
- Nachdem die Protokolldateien im Amazon S3-Bucket gespeichert wurden, erstellen Sie eine SQS-Warteschlange und verknüpfen Sie sie mit dem Amazon S3-Bucket.
Endpunkte für die Konnektivität identifizieren
Prüfen Sie die erforderlichen IAM-Nutzer- und KMS-Schlüsselrichtlinien für S3, SQS und KMS.
Bestimme anhand des Dienstes und der Region die Endpunkte für die Konnektivität. Orientiere dich dabei an der folgenden AWS-Dokumentation:
- Informationen zu Protokollierungsquellen finden Sie unter Endpunkte und Kontingente für die AWS Identity and Access Management.
- Informationen zu S3-Loggingquellen finden Sie unter Amazon Simple Storage Service-Endpunkte und ‑Kontingente.
- Informationen zu SQS-Loggingquellen finden Sie unter Endpunkte und Kontingente für Amazon Simple Queue Service.
Feed in Google Security Operations für die Aufnahme der Amazon CloudFront-Logs konfigurieren
- Wählen Sie SIEM-Einstellungen > Feeds aus.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie einen eindeutigen Namen für den Feednamen ein.
- Wählen Sie als Quelltyp Amazon S3 oder Amazon SQS aus.
- Wählen Sie AWS CloudFront als Logtyp aus.
- Klicken Sie auf Weiter.
- Google Security Operations unterstützt die Protokollerhebung mit der Zugriffsschlüssel-ID und der geheimen Methode. Informationen zum Erstellen einer Zugriffsschlüssel-ID und eines geheimen Schlüssels finden Sie unter Tool-Authentifizierung mit AWS konfigurieren.
- Geben Sie basierend auf der von Ihnen erstellten Amazon CloudFront-Konfiguration Werte für die folgenden Felder an.
- Wenn Sie Amazon S3 verwenden, geben Sie Werte für die folgenden Felder an:
- Region
- S3-URI
- URI ist ein
- Option zum Löschen der Quelle
- Wenn Sie Amazon SQS verwenden, geben Sie Werte für die folgenden Felder an:
- Region
- Name der Warteschlange
- Kontonummer
- Zugriffsschlüssel-ID der Warteschlange
- Secret-Zugriffsschlüssel für die Warteschlange
- Option zum Löschen der Quelle
- Wenn Sie Amazon S3 verwenden, geben Sie Werte für die folgenden Felder an:
- Klicken Sie auf Weiter und dann auf Senden.
Informationen zum Senden der Amazon CloudFront-Protokolle an den Amazon S3-Bucket finden Sie unter Standardprotokolle (Zugriffsprotokolle) konfigurieren und verwenden.
Weitere Informationen zu Google Security Operations-Feeds finden Sie in der Dokumentation zu Google Security Operations-Feeds. Informationen zu den Anforderungen für die einzelnen Feedtypen finden Sie unter Feedkonfiguration nach Typ. Wenn beim Erstellen von Feeds Probleme auftreten, wenden Sie sich an den Google Security Operations-Support.
Referenz für die Feldzuordnung
Dieser Parser extrahiert Felder aus AWS CloudFront-Logs im SYSLOG- oder JSON-Format und normalisiert sie im UDM. Es verwendet Grok-Muster, um Nachrichtenstrings zu parsen, verarbeitet verschiedene Datentransformationen (z.B. Typumwandlungen, Umbenennen) und ergänzt die Daten um zusätzlichen Kontext wie User-Agent-Parsing und Anwendungsprotokollidentifikation.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
c-ip |
principal.ip |
Direkt zugeordnet. Auch principal.asset.ip zugeordnet. |
c-port |
principal.port |
Direkt zugeordnet. |
cs(Cookie) |
additional.fields[].key : „cookie“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingt zugeordnet, wenn cs(Cookie) vorhanden ist und agent nicht „://“ enthält. |
cs(Host) |
principal.hostname |
Direkt zugeordnet. Auch principal.asset.hostname zugeordnet. Wird zum Erstellen der target.url verwendet, wenn keine anderen URL-Felder verfügbar sind. |
cs(Referer) |
network.http.referral_url |
Direkt zugeordnet. |
cs(User-Agent) |
network.http.user_agent |
Direkt zugeordnet. Wird auch network.http.parsed_user_agent zugeordnet und in seine Komponenten zerlegt, wenn es nicht „://“ enthält. |
cs-bytes |
network.sent_bytes |
Direkt zugeordnet. In eine vorzeichenlose Ganzzahl konvertiert. |
cs-method |
network.http.method |
Direkt zugeordnet. |
cs-protocol |
network.application_protocol |
Nach der Umwandlung in Großbuchstaben zugeordnet. Wenn der Wert nicht als Standard-Anwendungsprotokoll erkannt wird und cs-protocol-version „HTTP“ enthält, wird network.application_protocol auf „HTTP“ gesetzt. |
dport |
target.port |
Direkt zugeordnet. In eine Ganzzahl umgewandelt. |
edge_location |
principal.location.name |
Direkt zugeordnet. |
fle-encrypted-fields |
additional.fields[].key : „fle-encrypted-fields“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
fle-status |
additional.fields[].key : „fle-status“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
host |
principal.hostname , principal.asset.hostname |
Direkt zugeordnet. |
id |
principal.asset_id |
Direkt mit dem Präfix „id: " zugeordnet. |
ip |
target.ip , target.asset.ip |
Direkt zugeordnet. |
log_id |
metadata.product_log_id |
Direkt zugeordnet. |
resource |
additional.fields[].key : „resource“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
result_type |
additional.fields[].key : „result_type“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
sc-bytes |
network.received_bytes |
Direkt zugeordnet. In eine vorzeichenlose Ganzzahl konvertiert. |
sc-content-len |
additional.fields[].key : „sc-content-len“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
sc-content-type |
additional.fields[].key : „sc-content-type“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
sc-status |
network.http.response_code |
Direkt zugeordnet. In eine Ganzzahl umgewandelt. |
ssl-cipher |
network.tls.cipher |
Direkt zugeordnet. |
ssl-protocol |
network.tls.version |
Direkt zugeordnet. |
timestamp |
metadata.event_timestamp |
Geparst und zugeordnet, sofern verfügbar. Es werden verschiedene Formate unterstützt. |
ts |
metadata.event_timestamp |
Geparst und zugeordnet, sofern verfügbar. Das ISO 8601-Format wird erwartet. |
url |
target.url |
Direkt zugeordnet. |
url_back_to_product |
metadata.url_back_to_product |
Direkt zugeordnet. |
x-edge-detailed-result-type |
additional.fields[].key : „x-edge-detailed-result-type“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
x-edge-location |
additional.fields[].key : „x-edge-location“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
x-edge-request-id |
additional.fields[].key : „x-edge-request-id“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
x-edge-response-result-type |
additional.fields[].key : „x-edge-response-result-type“additional.fields[].value.string_value : Direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
x-edge-result-type |
additional.fields[].key : „x-edge-result-type“additional.fields[].value.string_value : Wird direkt zugeordnet. |
Bedingte Zuordnung, falls vorhanden. |
x-forwarded-for |
target.ip , target.asset.ip |
Direkt zugeordnet. Wenn mehrere IP-Adressen vorhanden sind (kommagetrennt), werden sie aufgeteilt und in die entsprechenden UDM-Felder zusammengeführt. |
x-host-header |
target.hostname , target.asset.hostname |
Direkt zugeordnet. Legen Sie „NETWORK_HTTP“ fest, wenn entweder ip oder x-forwarded-for und http_verb vorhanden sind. Andernfalls setzen Sie „GENERIC_EVENT“ fest. Hartcodiert auf „AWS_CLOUDFRONT“. Hartcodiert auf „AWS CloudFront“. „AMAZON“ ist hartcodiert. Die Aufnahmezeit des Protokolleintrags in Google Security Operations. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten