Proofpoint On-Demand-Logs erfassen

Unterstützt in:

Dieser Parser extrahiert Felder aus Proofpoint On-Demand-JSON-Logs und wandelt sie in das UDM-Format um. Es werden zwei primäre Protokollformate verarbeitet: eines mit E-Mail-Metadaten und das andere mit SMTP-Transaktionsdetails. Dabei werden Felder mithilfe bedingter Logik entsprechend geparst und die UDM-Felder anhand der verfügbaren Daten ausgefüllt. Der Parser führt auch eine Datenbereinigung durch, z. B. das Entfernen von überflüssigen Zeichen und das Konvertieren von Zeitstempeln.

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie benötigen die Lizenz für Proofpoint On Demand Remote Syslog.
  • Sie benötigen erhöhte Zugriffsrechte für Proofpoint.

Zugriff auf die Proofpoint on Demand API konfigurieren

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

Feed in Google SecOps für die Aufnahme von PoD-Logs (Proofpoint On Demand) konfigurieren

  1. Gehen Sie zu SIEM-Einstellungen > Feeds.
  2. Klicken Sie auf Neu hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. PoD-Protokolle.
  4. Wählen Sie Drittanbieter-API als Quelltyp aus.
  5. Wählen Sie als Logtyp Proofpoint On Demand aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie Werte für die folgenden Eingabeparameter an:
    • HTTP-Authentifizierungsheader: Geben Sie den Proofpoint API-Schlüssel im key:<value>-Format ein.
    • Cluster-ID: Geben Sie die zuvor kopierte Proofpoint-Cluster-ID ein.
    • Asset-Namespace: der Asset-Namespace.
    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
  8. Klicken Sie auf Weiter.
  9. Überprüfen Sie die Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
classification security_result.detection_fields.classification Der Wert stammt direkt aus dem Feld classification im Rohprotokoll.
cluster security_result.detection_fields.cluster Der Wert stammt direkt aus dem Feld cluster im Rohprotokoll.
completelyRewritten security_result.detection_fields.completelyRewritten Der Wert stammt direkt aus dem Feld completelyRewritten im Rohprotokoll.
connection.country principal.location.country_or_region Der Wert stammt direkt aus dem Feld connection.country im Rohprotokoll, es sei denn, er lautet „**“.
connection.host principal.hostname Der Wert stammt direkt aus dem Feld connection.host im Rohprotokoll.
connection.ip principal.ip Der Wert stammt direkt aus dem Feld connection.ip im Rohprotokoll, sofern es sich um eine gültige IPv4-Adresse handelt. Außerdem wird es 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 Rohprotokoll, es sei denn, er lautet „NONE“.
connection.tls.inbound.version network.tls.version Der Wert stammt direkt aus dem Feld connection.tls.inbound.version im Rohprotokoll, es sei denn, die Chiffre lautet „NONE“.
envelope.from network.email.from Der Wert stammt direkt aus dem Feld envelope.from im Rohprotokoll. Es wird auch durch sm.from oder fromAddress ersetzt, falls vorhanden.
envelope.rcpts network.email.to Die E-Mail-Adressen in envelope.rcpts werden mit dem Feld network.email.to zusammengeführt, sofern sie gültig sind. Außerdem wird es 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 ISO 8601- oder RFC 3339-Format geparst.
eventType security_result.summary Der Wert stammt direkt aus dem Feld eventType im Rohprotokoll.
filter.disposition security_result.action_details Der Wert stammt direkt aus dem Feld filter.disposition im Rohprotokoll, 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 Rohprotokoll.
filter.modules.dmarc.authResults read_only_udm.additional.fields Die Methode und das Ergebnis aus jedem Eintrag in filter.modules.dmarc.authResults werden als zusätzliche Felder mit Schlüsseln wie „authResultsMethod_0“, „authResults_result_0“ und „authResultsMethod_1“ 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 Rohprotokoll.
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 Rohprotokoll.
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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll, 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 Rohprotokoll.
filter.modules.spam.version.engine metadata.product_version Der Wert stammt direkt aus dem Feld filter.modules.spam.version.engine im Rohprotokoll.
filter.modules.urldefense.counts.rewritten read_only_udm.additional.fields.urldefenseCountsRewritten Der Wert stammt direkt aus dem Feld filter.modules.urldefense.counts.rewritten im Rohprotokoll.
filter.modules.urldefense.counts.total security_result.detection_fields.urldefense_total Der Wert stammt direkt aus dem Feld filter.modules.urldefense.counts.total im Rohprotokoll.
filter.modules.zerohour.score read_only_udm.additional.fields.zeroHourScore Der Wert stammt direkt aus dem Feld filter.modules.zerohour.score im Rohprotokoll.
filter.origGuid read_only_udm.additional.fields.origGuid Der Wert stammt direkt aus dem Feld filter.origGuid im Rohprotokoll.
filter.qid read_only_udm.additional.fields.filterQid Der Wert stammt direkt aus dem Feld filter.qid im Rohprotokoll.
filter.quarantine.folder security_result.detection_fields.filter_quarantine_folder Der Wert stammt direkt aus dem Feld filter.quarantine.folder im Rohprotokoll.
filter.quarantine.folderId security_result.detection_fields.filter_quarantine_folderId Der Wert stammt direkt aus dem Feld filter.quarantine.quarantine.folderId im Rohprotokoll.
filter.quarantine.module security_result.detection_fields.filter_quarantine_module Der Wert stammt direkt aus dem Feld filter.quarantine.module im Rohprotokoll.
filter.quarantine.rule security_result.detection_fields.filter_quarantine_rule Der Wert stammt direkt aus dem Feld filter.quarantine.rule im Rohprotokoll.
filter.quarantine.type security_result.detection_fields.filter_quarantine_type Der Wert stammt direkt aus dem Feld filter.quarantine.type im Rohprotokoll.
filter.routeDirection network.direction Wenn filter.routeDirection „eingehend“ ist, wird network.direction auf „INBOUND“ gesetzt. 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 im Feld network.email.from ersetzt, sofern sie gültig sind.
guid metadata.product_log_id Der Wert stammt direkt aus dem Feld guid im Rohprotokoll.
GUID metadata.product_log_id Der Wert stammt direkt aus dem Feld GUID im Rohprotokoll.
headerFrom network.email.from Der Wert stammt direkt aus dem Feld headerFrom im Rohprotokoll.
impostorScore security_result.detection_fields.impostorScore Der Wert stammt direkt aus dem Feld impostorScore im Rohprotokoll.
malwareScore security_result.detection_fields.malwareScore Der Wert stammt direkt aus dem Feld malwareScore im Rohprotokoll.
messageID network.email.mail_id Der Wert stammt direkt aus dem Feld messageID im Rohprotokoll.
messageSize security_result.detection_fields.messageSize Der Wert stammt direkt aus dem Feld messageSize im Rohprotokoll.
messageTime @timestamp Der Wert wird aus dem Feld messageTime im ISO 8601- oder RFC 3339-Format geparst.
metadata.customerId principal.labels.customerId Der Wert stammt direkt aus dem Feld metadata.customerId im Rohprotokoll.
metadata.origin.data.agent network.http.user_agent Der Wert stammt direkt aus dem Feld metadata.origin.data.agent im Rohprotokoll.
metadata.origin.data.cid principal.user.userid Der Wert stammt direkt aus dem Feld metadata.origin.data.cid im Rohprotokoll.
metadata.origin.data.version metadata.product_version Der Wert stammt direkt aus dem Feld metadata.origin.data.version im Rohprotokoll.
msg.header.from read_only_udm.additional.fields.msgHeaderFrom Der Wert stammt direkt aus dem Feld msg.header.from.0 im Rohprotokoll.
msg.header.reply-to network.email.reply_to Die in msg.header.reply-to.0 in <> eingeschlossene E-Mail-Adresse wird extrahiert und zugeordnet.
msg.header.subject network.email.subject Der Wert stammt direkt aus dem Feld msg.header.subject im Rohprotokoll.
msg.header.to read_only_udm.additional.fields.msgHeaderTo Der Wert stammt direkt aus dem Feld msg.header.to im Rohprotokoll.
msg.normalizedHeader.subject network.email.subject Der Wert stammt direkt aus dem Feld msg.normalizedHeader.subject im Rohprotokoll.
msg.parsedAddresses.cc network.email.cc Die E-Mail-Adressen in msg.parsedAddresses.cc werden mit dem Feld network.email.cc zusammengeführt, sofern sie gültig sind.
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 Rohprotokoll.
msg.parsedAddresses.from.0 principal.user.email_addresses Der Wert stammt direkt aus dem Feld msg.parsedAddresses.from.0 im Rohprotokoll.
msg.parsedAddresses.fromHashed read_only_udm.additional.fields.fromHashed Der Wert stammt direkt aus dem Feld msg.parsedAddresses.fromHashed.0 im Rohprotokoll.
msg.parsedAddresses.to target.user.email_addresses Die E-Mail-Adressen in msg.parsedAddresses.to werden mit dem Feld target.user.email_addresses zusammengeführt, sofern sie gültig sind.
msgParts read_only_udm.about Es werden mehrere „about“-Objekte erstellt, eines für jeden Eintrag in msgParts. Es werden Datei-Hashes, MIME-Typ, Größe und andere Metadaten extrahiert.
QID security_result.detection_fields.QID Der Wert stammt direkt aus dem Feld QID im Rohprotokoll.
recipient target.user.email_addresses Die E-Mail-Adressen in recipient werden mit dem Feld target.user.email_addresses zusammengeführt, sofern sie gültig sind.
replyToAddress network.email.reply_to Die E-Mail-Adressen in replyToAddress werden im Feld network.email.reply_to ersetzt, sofern sie gültig sind.
sender principal.user.email_addresses Der Wert stammt direkt aus dem Feld sender im Roh-Log, sofern es sich um eine gültige E-Mail-Adresse handelt.
senderIP principal.ip Der Wert stammt direkt aus dem Feld senderIP im Rohprotokoll.
sm.from network.email.from Der Wert stammt direkt aus dem Feld sm.from im Rohprotokoll.
sm.msgid network.email.mail_id Der Wert stammt direkt aus dem Feld sm.msgid im Rohprotokoll, nachdem „<“ und „>“ entfernt wurden.
sm.proto network.application_protocol Der Wert stammt direkt aus dem Feld sm.proto im Rohprotokoll.
sm.qid security_result.detection_fields.QUID Der Wert stammt direkt aus dem Feld sm.qid im Rohprotokoll.
sm.relay intermediary.hostname, intermediary.ip Der Hostname und die IP-Adresse werden mithilfe von 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 mit dem Feld network.email.to zusammengeführt, sofern sie gültig sind.
spamScore security_result.detection_fields.spamScore Der Wert stammt direkt aus dem Feld spamScore im Rohprotokoll.
subject network.email.subject Der Wert stammt direkt aus dem Feld subject im Rohprotokoll.
threat security_result.detection_fields.threat Der Wert stammt direkt aus dem Feld threat im Rohprotokoll.
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 Rohprotokoll.
tls.cipher network.tls.cipher Der Wert stammt direkt aus dem Feld tls.cipher im Rohprotokoll, es sei denn, er lautet „NONE“.
tls.verify security_result.action_details Der Wert stammt direkt aus dem Feld tls.verify im Rohprotokoll.
tls.version network.tls.version Der Wert stammt direkt aus dem Feld tls.version im Rohprotokoll, es sei denn, die Chiffre lautet „NONE“.
toAddresses network.email.to Die E-Mail-Adressen in toAddresses werden in das Feld network.email.to zusammengeführt, sofern sie gültig sind.
ts @timestamp Der Wert wird aus dem Feld ts im ISO 8601- oder RFC 3339-Format geparst, nachdem einige Vorverarbeitungen zur Verarbeitung zusätzlicher Sekundenbruchteile durchgeführt wurden.

Änderungen

2024-11-28

  • Verbesserung:
  • „msgParts.metadata.company“ und „msgParts.metadata.author“ wurden in „security_result.detection_fields“ umgewandelt.
  • Doppelte Zuordnung von „email.subject“ entfernt.
  • Die Zuordnung der Felder „filter.modules.dmarc.authResults.“ wurde von „additional.fields“ zu „security_result.detection_fields“ geändert.

2024-08-28

  • Verbesserung:
  • Der Schlüssel „security_result.detection_fields“ wurde von „filterQid“ zu „qid“ geändert.

2024-08-21

  • Verbesserung:
  • „metadata.origin.data.cid“ wurde in „additional.fields“ umgewandelt.

2024-07-22

  • Verbesserung:
  • Wenn „about.file.size“ eine gültige Ganzzahl ohne Vorzeichen ist, wird „msgPart.detectedSizeBytes“ auf „about.file.size“ zugeordnet.
  • Unterstützung für ein neues Muster von SYSLOG-Protokollen hinzugefügt.

2024-07-09

  • Verbesserung:
  • „msg.header.x-mailer“ wurde in „additional.fields“ geändert.

2024-07-09

  • Verbesserung:
  • „msg.header.x-mailer“ wurde in „additional.fields“ geändert.

2023-11-13

  • „subject“ wurde „network.email.subject“ zugeordnet.
  • „messageID“ wurde zu „network.email.mail_id“ zugeordnet.
  • „fromAddress“ wurde „network.email.from“ zugeordnet.
  • „ccAddresses“ wurde zu „network.email.cc“ zugeordnet.
  • „replyToAddress“ wurde mit „network.email.reply_to“ verknüpft.
  • „toAddresses“ wurde zu „network.email.to“ zugeordnet.
  • „sender“ wurde „principal.user.email_addresses“ zugeordnet.
  • „senderIP“ wurde „principal.ip“ zugeordnet.
  • „recipient“ wurde „target.user.email_addresses“ zugeordnet.
  • „spamScore“, „phishScore“, „threatsInfoMap“, „impostorScore“, „malwareScore“ und „“ wurden in „security_result.detection_fields“ zugeordnet.

2023-10-26

  • „msg.headeparsedAddressesr.from.0“ wurde in „principal.user.email_addresses“ geändert.
  • Die Zuordnungen wurden von veralteten UDM-Feldern auf alternative Felder umgestellt.
  • Zuordnung von „about.labels“ zu „about.resource.attribute.labels“ hinzugefügt.
  • Zuordnung von „principal.labels“ zu „principal.resource.attribute.labels“ hinzugefügt.

2023-06-05

  • Vor der Zuordnung zu UDM wurde eine Prüfung für „msg.header.reply-to.0“ hinzugefügt, um zu prüfen, ob es sich um ein Array von E-Mails handelt.
  • Vor der Zuordnung zu UDM wurde „msgPart.detectedSizeBytes“ die Prüfung auf „nicht -1“ hinzugefügt.

2022-07-14

  • Verbesserung bei der Zuordnung des folgenden Elements zum UDM-Element:
  • Zugeordnete Sprachen zu „additional.fields“
  • Zuordnung von Definitionen zu „security_result.summary“
  • Engine wurde metadata.product_version zugeordnet.

2022-06-29

  • Verbesserung: Es wurde die Funktion „gsub“ hinzugefügt, um „<>“ aus den Feldern „sm.msgid“ und „msg.header.message-id.0“ zu entfernen, die auf „network.email.mail_id“ zugeordnet sind.

2022-05-20

  • Verbesserungen bei der Zuordnung der folgenden Elemente zu UDM-Elementen:
  • „tls.verify“ und „filter.disposition“ wurden „security_result.action_details“ zugeordnet.
  • „filter.modules.dmarc.authResults.result“ wurde „additional.fields“ zugeordnet.
  • Die folgenden Felder wurden auf 'security_result.detection_fields' umgestellt: „filter.quarantine.module“, „filter.quarantine.folder“, „filter.quarantine.type“, „filter.quarantine.folderId“, „filter.modules.spam.scores.overall“, „filter.modules.spam.scores.engine“, „filter.modules.spam.scores.classifiers.spam“, „filter.modules.spam.scores.classifiers.mlxlog“, „filter.modules.spam.scores.classifiers.phish“, „filter.modules.spam.scores.classifiers.impostor“, „filter.modules.spam.scores.classifiers.lowpriority“, „filter.modules.spam.scores.classifiers.mlx“, „filter.modules.spam.scores.classifiers.bulk“, „filter.modules.spam.scores.classifiers.suspect“, „filter.modules.spam.scores.classifiers.malware“, „filter.modules.spam.scores.classifiers.adult“.

2022-04-13

  • Verbesserung bei der Zuordnung des folgenden Elements zum UDM-Element:
  • „filter.modules.av.virusNames“ wurde in „security_result.threat_name“ ummapped.

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