Proofpoint On-Demand-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Proofpoint On-Demand-Logs mithilfe der integrierten API-Integration in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus JSON-Logs und wandelt sie in das Chronicle UDM-Format um. Es werden zwei primäre Logformate verarbeitet: eines mit E-Mail-Metadaten und das andere mit SMTP-Transaktionsdetails. Dabei wird bedingte Logik verwendet, um Felder entsprechend zu parsen und die UDM-Felder (Unified Data Model) basierend auf den verfügbaren Daten zu füllen. Der Parser führt auch die Datenbereinigung durch, z. B. das Entfernen von überflüssigen Zeichen und das Konvertieren von Zeitstempeln.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Proofpoint On-Demand Remote Syslog-Lizenz
  • Privilegierter Zugriff auf Proofpoint

Proofpoint On-Demand-API-Zugriff konfigurieren

  1. Melden Sie sich im Proofpoint Admin-Portal an.
  2. Kopieren Sie Ihre Cluster-ID. Sie wird rechts oben in der Verwaltungsoberfläche neben der Versionsnummer angezeigt.
  3. Rufen Sie die Einstellungen > API-Schlüsselverwaltung auf.
  4. Klicken Sie auf Neu erstellen, um das Dialogfeld Neuen API-Schlüssel erstellen zu öffnen.
  5. Geben Sie einen eindeutigen Namen ein, z. B. Google SecOps Key.
  6. Generieren Sie den API-Schlüssel.
  7. Wählen Sie im Dreipunkt-Menü des neuen API-Schlüssels die Option Details ansehen aus.
  8. Kopieren Sie den API-Schlüssel.

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 „SIEM-Einstellungen“ > „Feeds“ einrichten

So konfigurieren Sie einen Feed:

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feed name einen Namen für den Feed ein, z. B. PoD Logs.
  5. Wählen Sie Drittanbieter-API als Quelltyp aus.
  6. Wählen Sie den Logtyp Proofpoint On-Demand aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    • HTTP-Header für die Authentifizierung: Geben Sie den Proofpoint-API-Schlüssel im Format Authorization: Bearer {API_KEY} ein und fügen Sie eine neue Zeile mit den folgenden WebSocket-Schlüsseldaten hinzu: Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==.
    • Cluster-ID: Geben Sie die Proofpoint-Cluster-ID ein, die Sie zuvor kopiert haben.
  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (Senden).

Feeds über den Content Hub einrichten

Geben Sie Werte für die folgenden Felder an:

  • HTTP-Header für die Authentifizierung: Geben Sie den Proofpoint-API-Schlüssel im Format Authorization: Bearer {API_KEY} ein und fügen Sie eine neue Zeile mit den folgenden WebSocket-Schlüsseldaten hinzu: Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==.
  • Cluster-ID: Geben Sie die Proofpoint-Cluster-ID ein, die Sie zuvor kopiert haben.

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:Der mit dem Feed verknüpfte Namespace.
  • Aufnahmelabels:Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
classification security_result.detection_fields.classification Der Wert stammt direkt aus dem Feld classification im Rohlog.
cluster security_result.detection_fields.cluster Der Wert stammt direkt aus dem Feld cluster im Rohlog.
completelyRewritten security_result.detection_fields.completelyRewritten Der Wert stammt direkt aus dem Feld completelyRewritten im Rohlog.
connection.country principal.location.country_or_region Der Wert stammt direkt aus dem Feld connection.country im Rohlog, sofern er nicht „**“ ist.
connection.host principal.hostname Der Wert stammt direkt aus dem Feld connection.host im Rohlog.
connection.ip principal.ip Der Wert stammt direkt aus dem Feld connection.ip im Rohlog, sofern es sich um eine gültige IPv4-Adresse handelt. Sie wird auch mit senderIP zusammengeführt, falls vorhanden.
connection.protocol network.application_protocol Der Protokollteil vor dem Doppelpunkt in connection.protocol wird mit gsub extrahiert und zugeordnet. Beispiel: „smtp:smtp“ wird zu „SMTP“.
connection.tls.inbound.cipher network.tls.cipher Der Wert stammt direkt aus dem Feld connection.tls.inbound.cipher im Rohlog, sofern er nicht „NONE“ lautet.
connection.tls.inbound.version network.tls.version Der Wert stammt direkt aus dem Feld connection.tls.inbound.version im Rohlog, sofern die Chiffre nicht „NONE“ ist.
envelope.from network.email.from Der Wert stammt direkt aus dem Feld envelope.from im Rohlog. Es wird auch durch sm.from oder fromAddress ersetzt, falls vorhanden.
envelope.rcpts network.email.to Die E-Mail-Adressen in envelope.rcpts werden in das Feld network.email.to zusammengeführt, sofern es sich um gültige E-Mail-Adressen handelt. Es wird auch mit sm.to oder toAddresses zusammengeführt, falls vorhanden.
envelope.rcptsHashed read_only_udm.additional.fields Die gehashten E‑Mail-Adressen in envelope.rcptsHashed werden als zusätzliche Felder mit Schlüsseln wie „toHashed_0“, „toHashed_1“ usw. hinzugefügt.
eventTime @timestamp Der Wert wird aus dem Feld eventTime im ISO8601- oder RFC 3339-Format geparst.
eventType security_result.summary Der Wert stammt direkt aus dem Feld eventType im Rohlog.
filter.disposition security_result.action_details Der Wert stammt direkt aus dem Feld filter.disposition im Rohlog, sofern tls.verify nicht vorhanden ist.
filter.modules.av.virusNames.0 security_result.threat_name Der Wert stammt direkt aus dem Feld filter.modules.av.virusNames.0 im Rohlog.
filter.modules.dmarc.authResults read_only_udm.additional.fields Die Methode und das Ergebnis jedes Eintrags in filter.modules.dmarc.authResults werden als zusätzliche Felder mit Schlüsseln wie „authResultsMethod_0“, „authResults_result_0“, „authResultsMethod_1“ usw. hinzugefügt.
filter.modules.spam.langs read_only_udm.additional.fields Jede Sprache in filter.modules.spam.langs wird als zusätzliches Feld mit Schlüsseln wie „lang_0“, „lang_1“ usw. hinzugefügt.
filter.modules.spam.safeBlockedListMatches.0.listType security_result.detection_fields.safeBlockedListMatches_listType Der Wert stammt direkt aus dem Feld filter.modules.spam.safeBlockedListMatches.0.listType im Rohlog.
filter.modules.spam.safeBlockedListMatches.0.rule security_result.detection_fields.safeBlockedListMatches_rule Der Wert stammt direkt aus dem Feld filter.modules.spam.safeBlockedListMatches.0.rule im Rohlog.
filter.modules.spam.scores.classifiers.adult security_result.detection_fields.adult Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.adult im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.bulk security_result.detection_fields.bulk Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.bulk im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.impostor security_result.detection_fields.impostor Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.impostor im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.lowpriority security_result.detection_fields.lowpriority Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.lowpriority im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.malware security_result.detection_fields.malware Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.malware im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.mlx security_result.detection_fields.mlx Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.mlx im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.mlxlog security_result.detection_fields.mlxlog Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.mlxlog im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.phish security_result.detection_fields.phish Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.phish im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.spam security_result.detection_fields.spam Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.spam im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.classifiers.suspect security_result.detection_fields.suspect Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.classifiers.suspect im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.engine security_result.detection_fields.engine Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.engine im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.scores.overall security_result.detection_fields.overall Der Wert stammt direkt aus dem Feld filter.modules.spam.scores.overall im Rohlog, sofern es nicht leer oder 0 ist.
filter.modules.spam.version.definitions security_result.summary Der Wert stammt direkt aus dem Feld filter.modules.spam.version.definitions im Rohlog.
filter.modules.spam.version.engine metadata.product_version Der Wert stammt direkt aus dem Feld filter.modules.spam.version.engine im Rohlog.
filter.modules.urldefense.counts.rewritten read_only_udm.additional.fields.urldefenseCountsRewritten Der Wert stammt direkt aus dem Feld filter.modules.urldefense.counts.rewritten im Rohlog.
filter.modules.urldefense.counts.total security_result.detection_fields.urldefense_total Der Wert stammt direkt aus dem Feld filter.modules.urldefense.counts.total im Rohlog.
filter.modules.zerohour.score read_only_udm.additional.fields.zeroHourScore Der Wert stammt direkt aus dem Feld filter.modules.zerohour.score im Rohlog.
filter.origGuid read_only_udm.additional.fields.origGuid Der Wert stammt direkt aus dem Feld filter.origGuid im Rohlog.
filter.qid read_only_udm.additional.fields.filterQid Der Wert stammt direkt aus dem Feld filter.qid im Rohlog.
filter.quarantine.folder security_result.detection_fields.filter_quarantine_folder Der Wert stammt direkt aus dem Feld filter.quarantine.folder im Rohlog.
filter.quarantine.folderId security_result.detection_fields.filter_quarantine_folderId Der Wert stammt direkt aus dem Feld filter.quarantine.quarantine.folderId im Rohlog.
filter.quarantine.module security_result.detection_fields.filter_quarantine_module Der Wert stammt direkt aus dem Feld filter.quarantine.module im Rohlog.
filter.quarantine.rule security_result.detection_fields.filter_quarantine_rule Der Wert stammt direkt aus dem Feld filter.quarantine.rule im Rohlog.
filter.quarantine.type security_result.detection_fields.filter_quarantine_type Der Wert stammt direkt aus dem Feld filter.quarantine.type im Rohlog.
filter.routeDirection network.direction Wenn filter.routeDirection „eingehend“ ist, wird network.direction auf „INBOUND“ festgelegt. Wenn filter.routeDirection „outbound“ ist, wird network.direction auf „OUTBOUND“ gesetzt.
filter.routes read_only_udm.additional.fields Jede Route in filter.routes wird als zusätzliches Feld mit Schlüsseln wie „filterRoutes_0“, „filterRoutes_1“ usw. hinzugefügt.
fromAddress network.email.from Die E-Mail-Adressen in fromAddress werden in das Feld network.email.from eingefügt, sofern es sich um gültige E-Mail-Adressen handelt.
guid metadata.product_log_id Der Wert stammt direkt aus dem Feld guid im Rohlog.
GUID metadata.product_log_id Der Wert stammt direkt aus dem Feld GUID im Rohlog.
headerFrom network.email.from Der Wert stammt direkt aus dem Feld headerFrom im Rohlog.
impostorScore security_result.detection_fields.impostorScore Der Wert stammt direkt aus dem Feld impostorScore im Rohlog.
malwareScore security_result.detection_fields.malwareScore Der Wert stammt direkt aus dem Feld malwareScore im Rohlog.
messageID network.email.mail_id Der Wert stammt direkt aus dem Feld messageID im Rohlog.
messageSize security_result.detection_fields.messageSize Der Wert stammt direkt aus dem Feld messageSize im Rohlog.
messageTime @timestamp Der Wert wird aus dem Feld messageTime im ISO8601- oder RFC 3339-Format geparst.
metadata.customerId principal.labels.customerId Der Wert stammt direkt aus dem Feld metadata.customerId im Rohlog.
metadata.origin.data.agent network.http.user_agent Der Wert stammt direkt aus dem Feld metadata.origin.data.agent im Rohlog.
metadata.origin.data.cid principal.user.userid Der Wert stammt direkt aus dem Feld metadata.origin.data.cid im Rohlog.
metadata.origin.data.version metadata.product_version Der Wert stammt direkt aus dem Feld metadata.origin.data.version im Rohlog.
msg.header.from read_only_udm.additional.fields.msgHeaderFrom Der Wert stammt direkt aus dem Feld msg.header.from.0 im Rohlog.
msg.header.reply-to network.email.reply_to Die E‑Mail-Adresse, die in msg.header.reply-to.0 in <> eingeschlossen ist, wird extrahiert und zugeordnet.
msg.header.subject network.email.subject Der Wert stammt direkt aus dem Feld msg.header.subject im Rohlog.
msg.header.to read_only_udm.additional.fields.msgHeaderTo Der Wert stammt direkt aus dem Feld msg.header.to im Rohlog.
msg.normalizedHeader.subject network.email.subject Der Wert stammt direkt aus dem Feld msg.normalizedHeader.subject im Rohlog.
msg.parsedAddresses.cc network.email.cc Die E-Mail-Adressen in msg.parsedAddresses.cc werden in das Feld network.email.cc zusammengeführt, sofern es sich um gültige E-Mail-Adressen handelt.
msg.parsedAddresses.ccHashed read_only_udm.additional.fields Die gehashten E-Mail-Adressen in msg.parsedAddresses.ccHashed werden als zusätzliche Felder mit Schlüsseln wie „ccHashed_0“, „ccHashed_1“ usw. hinzugefügt.
msg.parsedAddresses.from read_only_udm.additional.fields.msgParsedAddressesFrom Der Wert stammt direkt aus dem Feld msg.parsedAddresses.from.0 im Rohlog.
msg.parsedAddresses.from.0 principal.user.email_addresses Der Wert stammt direkt aus dem Feld msg.parsedAddresses.from.0 im Rohlog.
msg.parsedAddresses.fromHashed read_only_udm.additional.fields.fromHashed Der Wert stammt direkt aus dem Feld msg.parsedAddresses.fromHashed.0 im Rohlog.
msg.parsedAddresses.to target.user.email_addresses Die E-Mail-Adressen in msg.parsedAddresses.to werden in das Feld target.user.email_addresses zusammengeführt, sofern es sich um gültige E-Mail-Adressen handelt.
msgParts read_only_udm.about Es werden mehrere „Über“-Objekte erstellt, eines für jeden Eintrag in msgParts. Datei-Hashes, MIME-Typ, Größe und andere Metadaten werden extrahiert.
QID security_result.detection_fields.QID Der Wert stammt direkt aus dem Feld QID im Rohlog.
recipient target.user.email_addresses Die E-Mail-Adressen in recipient werden in das Feld target.user.email_addresses zusammengeführt, sofern es sich um gültige E-Mail-Adressen handelt.
replyToAddress network.email.reply_to Die E-Mail-Adressen in replyToAddress werden in das Feld network.email.reply_to eingefügt, sofern es sich um gültige E-Mail-Adressen handelt.
sender principal.user.email_addresses Der Wert stammt direkt aus dem Feld sender im Rohlog, sofern es sich um eine gültige E-Mail-Adresse handelt.
senderIP principal.ip Der Wert stammt direkt aus dem Feld senderIP im Rohlog.
sm.from network.email.from Der Wert stammt direkt aus dem Feld sm.from im Rohlog.
sm.msgid network.email.mail_id Der Wert stammt direkt aus dem Feld sm.msgid im Rohlog, nachdem „<“ und „>“ entfernt wurden.
sm.proto network.application_protocol Der Wert stammt direkt aus dem Feld sm.proto im Rohlog.
sm.qid security_result.detection_fields.QUID Der Wert stammt direkt aus dem Feld sm.qid im Rohlog.
sm.relay intermediary.hostname, intermediary.ip Der Hostname und die IP-Adresse werden mit „grok“ aus sm.relay extrahiert.
sm.stat security_result.detection_fields.Stat Das erste Wort von sm.stat wird mit „grok“ extrahiert und zugeordnet.
sm.to network.email.to Die E-Mail-Adressen in sm.to werden in das Feld network.email.to zusammengeführt, sofern es sich um gültige E-Mail-Adressen handelt.
spamScore security_result.detection_fields.spamScore Der Wert stammt direkt aus dem Feld spamScore im Rohlog.
subject network.email.subject Der Wert stammt direkt aus dem Feld subject im Rohlog.
threat security_result.detection_fields.threat Der Wert stammt direkt aus dem Feld threat im Rohlog.
threatsInfoMap security_result.detection_fields Schlüssel/Wert-Paare aus jedem Eintrag in threatsInfoMap werden als Erkennungsfelder hinzugefügt.
threatType security_result.detection_fields.threatType Der Wert stammt direkt aus dem Feld threatType im Rohlog.
tls.cipher network.tls.cipher Der Wert stammt direkt aus dem Feld tls.cipher im Rohlog, sofern er nicht „NONE“ lautet.
tls.verify security_result.action_details Der Wert stammt direkt aus dem Feld tls.verify im Rohlog.
tls.version network.tls.version Der Wert stammt direkt aus dem Feld tls.version im Rohlog, sofern die Chiffre nicht „NONE“ ist.
toAddresses network.email.to Die E-Mail-Adressen in toAddresses werden in das Feld network.email.to zusammengeführt, sofern es sich um gültige E-Mail-Adressen handelt.
ts @timestamp Der Wert wird aus dem Feld ts im ISO8601- oder RFC 3339-Format geparst, nachdem einige Vorverarbeitungen zur Behandlung zusätzlicher Bruchteile von Sekunden durchgeführt wurden.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten