Mengumpulkan log Proofpoint On-Demand

Didukung di:

Parser ini mengekstrak kolom dari log JSON Proofpoint On-Demand dan mengubahnya menjadi format UDM. Fungsi ini menangani dua format log utama: satu berisi metadata email dan satu lagi berisi detail transaksi SMTP, menggunakan logika kondisional untuk mengurai kolom dengan tepat dan mengisi kolom UDM berdasarkan data yang tersedia. Parser juga melakukan pembersihan data, seperti menghapus karakter yang tidak relevan dan mengonversi stempel waktu.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Security Operations.
  • Pastikan Anda memiliki lisensi Proofpoint On Demand Remote Syslog.
  • Pastikan Anda memiliki akses istimewa ke Proofpoint.

Mengonfigurasi akses Proofpoint on Demand API

  1. Login ke portal Admin Proofpoint.
  2. Salin ID Cluster, yang ditampilkan di antarmuka pengelolaan di samping nomor rilis.
  3. Pilih Settings > API Key Management.
  4. Klik Create New untuk menampilkan dialog Create New API Key.
  5. Masukkan Nama unik (misalnya, Google SecOps).
  6. Buat Kunci API.
  7. Pilih Lihat Detail dari menu di Kunci API baru.
  8. Salin Kunci API.

Mengonfigurasi feed di Google SecOps untuk menyerap log Proofpoint On Demand (PoD)

  1. Buka SIEM Settings > Feeds.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Log PoD).
  4. Pilih Third Party API sebagai Source type.
  5. Pilih Proofpoint On Demand sebagai jenis log.
  6. Klik Berikutnya.
  7. Tentukan nilai untuk parameter input berikut:
    • Header HTTP autentikasi: masukkan Kunci API Proofpoint dalam format key:<value>.
    • Cluster ID: masukkan Cluster ID Proofpoint yang Anda salin sebelumnya.
    • Namespace aset: namespace aset.
    • Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
  8. Klik Berikutnya.
  9. Tinjau konfigurasi feed di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
classification security_result.detection_fields.classification Nilai berasal langsung dari kolom classification dalam log mentah.
cluster security_result.detection_fields.cluster Nilai berasal langsung dari kolom cluster dalam log mentah.
completelyRewritten security_result.detection_fields.completelyRewritten Nilai berasal langsung dari kolom completelyRewritten dalam log mentah.
connection.country principal.location.country_or_region Nilai ini berasal langsung dari kolom connection.country dalam log mentah, kecuali jika nilainya adalah "**".
connection.host principal.hostname Nilai berasal langsung dari kolom connection.host dalam log mentah.
connection.ip principal.ip Nilai berasal langsung dari kolom connection.ip dalam log mentah, jika merupakan alamat IPv4 yang valid. Nilai ini juga digabungkan dengan senderIP jika ada.
connection.protocol network.application_protocol Bagian protokol sebelum titik dua di connection.protocol diekstrak menggunakan gsub dan dipetakan. Misalnya, "smtp:smtp" menjadi "SMTP".
connection.tls.inbound.cipher network.tls.cipher Nilai berasal langsung dari kolom connection.tls.inbound.cipher dalam log mentah, kecuali jika "NONE".
connection.tls.inbound.version network.tls.version Nilai berasal langsung dari kolom connection.tls.inbound.version dalam log mentah, kecuali jika cipher-nya adalah "NONE".
envelope.from network.email.from Nilai berasal langsung dari kolom envelope.from dalam log mentah. Nilai ini juga diganti dengan sm.from atau fromAddress jika ada.
envelope.rcpts network.email.to Alamat email di envelope.rcpts digabungkan ke kolom network.email.to jika alamat email tersebut valid. Nilai ini juga digabungkan dengan sm.to atau toAddresses jika ada.
envelope.rcptsHashed read_only_udm.additional.fields Alamat email yang di-hash di envelope.rcptsHashed ditambahkan sebagai kolom tambahan dengan kunci seperti "toHashed_0", "toHashed_1", dll.
eventTime @timestamp Nilai diuraikan dari kolom eventTime menggunakan format ISO8601 atau RFC 3339.
eventType security_result.summary Nilai berasal langsung dari kolom eventType dalam log mentah.
filter.disposition security_result.action_details Nilai berasal langsung dari kolom filter.disposition dalam log mentah, kecuali jika tls.verify ada.
filter.modules.av.virusNames.0 security_result.threat_name Nilai berasal langsung dari kolom filter.modules.av.virusNames.0 dalam log mentah.
filter.modules.dmarc.authResults read_only_udm.additional.fields Metode dan hasil dari setiap entri di filter.modules.dmarc.authResults ditambahkan sebagai kolom tambahan dengan kunci seperti "authResultsMethod_0", "authResults_result_0", "authResultsMethod_1", dll.
filter.modules.spam.langs read_only_udm.additional.fields Setiap bahasa di filter.modules.spam.langs ditambahkan sebagai kolom tambahan dengan kunci seperti "lang_0", "lang_1", dll.
filter.modules.spam.safeBlockedListMatches.0.listType security_result.detection_fields.safeBlockedListMatches_listType Nilai berasal langsung dari kolom filter.modules.spam.safeBlockedListMatches.0.listType dalam log mentah.
filter.modules.spam.safeBlockedListMatches.0.rule security_result.detection_fields.safeBlockedListMatches_rule Nilai berasal langsung dari kolom filter.modules.spam.safeBlockedListMatches.0.rule dalam log mentah.
filter.modules.spam.scores.classifiers.adult security_result.detection_fields.adult Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.adult dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.bulk security_result.detection_fields.bulk Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.bulk dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.impostor security_result.detection_fields.impostor Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.impostor dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.lowpriority security_result.detection_fields.lowpriority Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.lowpriority dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.malware security_result.detection_fields.malware Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.malware dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.mlx security_result.detection_fields.mlx Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.mlx dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.mlxlog security_result.detection_fields.mlxlog Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.mlxlog dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.phish security_result.detection_fields.phish Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.phish dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.spam security_result.detection_fields.spam Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.spam dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.classifiers.suspect security_result.detection_fields.suspect Nilai berasal langsung dari kolom filter.modules.spam.scores.classifiers.suspect dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.engine security_result.detection_fields.engine Nilai berasal langsung dari kolom filter.modules.spam.scores.engine dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.scores.overall security_result.detection_fields.overall Nilai berasal langsung dari kolom filter.modules.spam.scores.overall dalam log mentah, jika tidak kosong atau 0.
filter.modules.spam.version.definitions security_result.summary Nilai berasal langsung dari kolom filter.modules.spam.version.definitions dalam log mentah.
filter.modules.spam.version.engine metadata.product_version Nilai berasal langsung dari kolom filter.modules.spam.version.engine dalam log mentah.
filter.modules.urldefense.counts.rewritten read_only_udm.additional.fields.urldefenseCountsRewritten Nilai berasal langsung dari kolom filter.modules.urldefense.counts.rewritten dalam log mentah.
filter.modules.urldefense.counts.total security_result.detection_fields.urldefense_total Nilai berasal langsung dari kolom filter.modules.urldefense.counts.total dalam log mentah.
filter.modules.zerohour.score read_only_udm.additional.fields.zeroHourScore Nilai berasal langsung dari kolom filter.modules.zerohour.score dalam log mentah.
filter.origGuid read_only_udm.additional.fields.origGuid Nilai berasal langsung dari kolom filter.origGuid dalam log mentah.
filter.qid read_only_udm.additional.fields.filterQid Nilai berasal langsung dari kolom filter.qid dalam log mentah.
filter.quarantine.folder security_result.detection_fields.filter_quarantine_folder Nilai berasal langsung dari kolom filter.quarantine.folder dalam log mentah.
filter.quarantine.folderId security_result.detection_fields.filter_quarantine_folderId Nilai berasal langsung dari kolom filter.quarantine.quarantine.folderId dalam log mentah.
filter.quarantine.module security_result.detection_fields.filter_quarantine_module Nilai berasal langsung dari kolom filter.quarantine.module dalam log mentah.
filter.quarantine.rule security_result.detection_fields.filter_quarantine_rule Nilai berasal langsung dari kolom filter.quarantine.rule dalam log mentah.
filter.quarantine.type security_result.detection_fields.filter_quarantine_type Nilai berasal langsung dari kolom filter.quarantine.type dalam log mentah.
filter.routeDirection network.direction Jika filter.routeDirection adalah "inbound", network.direction ditetapkan ke "INBOUND". Jika filter.routeDirection adalah "outbound", network.direction ditetapkan ke "OUTBOUND".
filter.routes read_only_udm.additional.fields Setiap rute di filter.routes ditambahkan sebagai kolom tambahan dengan kunci seperti "filterRoutes_0", "filterRoutes_1", dll.
fromAddress network.email.from Alamat email di fromAddress akan diganti ke kolom network.email.from jika alamat email tersebut valid.
guid metadata.product_log_id Nilai berasal langsung dari kolom guid dalam log mentah.
GUID metadata.product_log_id Nilai berasal langsung dari kolom GUID dalam log mentah.
headerFrom network.email.from Nilai berasal langsung dari kolom headerFrom dalam log mentah.
impostorScore security_result.detection_fields.impostorScore Nilai berasal langsung dari kolom impostorScore dalam log mentah.
malwareScore security_result.detection_fields.malwareScore Nilai berasal langsung dari kolom malwareScore dalam log mentah.
messageID network.email.mail_id Nilai berasal langsung dari kolom messageID dalam log mentah.
messageSize security_result.detection_fields.messageSize Nilai berasal langsung dari kolom messageSize dalam log mentah.
messageTime @timestamp Nilai diuraikan dari kolom messageTime menggunakan format ISO8601 atau RFC 3339.
metadata.customerId principal.labels.customerId Nilai berasal langsung dari kolom metadata.customerId dalam log mentah.
metadata.origin.data.agent network.http.user_agent Nilai berasal langsung dari kolom metadata.origin.data.agent dalam log mentah.
metadata.origin.data.cid principal.user.userid Nilai berasal langsung dari kolom metadata.origin.data.cid dalam log mentah.
metadata.origin.data.version metadata.product_version Nilai berasal langsung dari kolom metadata.origin.data.version dalam log mentah.
msg.header.from read_only_udm.additional.fields.msgHeaderFrom Nilai berasal langsung dari kolom msg.header.from.0 dalam log mentah.
msg.header.reply-to network.email.reply_to Alamat email yang diapit <> di msg.header.reply-to.0 diekstrak dan dipetakan.
msg.header.subject network.email.subject Nilai berasal langsung dari kolom msg.header.subject dalam log mentah.
msg.header.to read_only_udm.additional.fields.msgHeaderTo Nilai berasal langsung dari kolom msg.header.to dalam log mentah.
msg.normalizedHeader.subject network.email.subject Nilai berasal langsung dari kolom msg.normalizedHeader.subject dalam log mentah.
msg.parsedAddresses.cc network.email.cc Alamat email di msg.parsedAddresses.cc digabungkan ke kolom network.email.cc jika alamat email tersebut valid.
msg.parsedAddresses.ccHashed read_only_udm.additional.fields Alamat email yang di-hash di msg.parsedAddresses.ccHashed ditambahkan sebagai kolom tambahan dengan kunci seperti "ccHashed_0", "ccHashed_1", dll.
msg.parsedAddresses.from read_only_udm.additional.fields.msgParsedAddressesFrom Nilai berasal langsung dari kolom msg.parsedAddresses.from.0 dalam log mentah.
msg.parsedAddresses.from.0 principal.user.email_addresses Nilai berasal langsung dari kolom msg.parsedAddresses.from.0 dalam log mentah.
msg.parsedAddresses.fromHashed read_only_udm.additional.fields.fromHashed Nilai berasal langsung dari kolom msg.parsedAddresses.fromHashed.0 dalam log mentah.
msg.parsedAddresses.to target.user.email_addresses Alamat email di msg.parsedAddresses.to digabungkan ke kolom target.user.email_addresses jika alamat email tersebut valid.
msgParts read_only_udm.about Beberapa objek tentang dibuat, satu untuk setiap entri di msgParts. Hash file, jenis MIME, ukuran, dan metadata lainnya diekstrak.
QID security_result.detection_fields.QID Nilai berasal langsung dari kolom QID dalam log mentah.
recipient target.user.email_addresses Alamat email di recipient digabungkan ke kolom target.user.email_addresses jika alamat email tersebut valid.
replyToAddress network.email.reply_to Alamat email di replyToAddress akan diganti ke kolom network.email.reply_to jika alamat email tersebut valid.
sender principal.user.email_addresses Nilai berasal langsung dari kolom sender dalam log mentah, jika merupakan alamat email yang valid.
senderIP principal.ip Nilai berasal langsung dari kolom senderIP dalam log mentah.
sm.from network.email.from Nilai berasal langsung dari kolom sm.from dalam log mentah.
sm.msgid network.email.mail_id Nilai berasal langsung dari kolom sm.msgid dalam log mentah, setelah menghapus "<" dan ">".
sm.proto network.application_protocol Nilai berasal langsung dari kolom sm.proto dalam log mentah.
sm.qid security_result.detection_fields.QUID Nilai berasal langsung dari kolom sm.qid dalam log mentah.
sm.relay intermediary.hostname, intermediary.ip Nama host dan alamat IP diekstrak dari sm.relay menggunakan grok.
sm.stat security_result.detection_fields.Stat Kata pertama sm.stat diekstrak menggunakan grok dan dipetakan.
sm.to network.email.to Alamat email di sm.to digabungkan ke kolom network.email.to jika alamat email tersebut valid.
spamScore security_result.detection_fields.spamScore Nilai berasal langsung dari kolom spamScore dalam log mentah.
subject network.email.subject Nilai berasal langsung dari kolom subject dalam log mentah.
threat security_result.detection_fields.threat Nilai berasal langsung dari kolom threat dalam log mentah.
threatsInfoMap security_result.detection_fields Pasangan nilai kunci dari setiap entri di threatsInfoMap ditambahkan sebagai kolom deteksi.
threatType security_result.detection_fields.threatType Nilai berasal langsung dari kolom threatType dalam log mentah.
tls.cipher network.tls.cipher Nilai berasal langsung dari kolom tls.cipher dalam log mentah, kecuali jika "NONE".
tls.verify security_result.action_details Nilai berasal langsung dari kolom tls.verify dalam log mentah.
tls.version network.tls.version Nilai berasal langsung dari kolom tls.version dalam log mentah, kecuali jika cipher-nya adalah "NONE".
toAddresses network.email.to Alamat email di toAddresses digabungkan ke kolom network.email.to jika alamat email tersebut valid.
ts @timestamp Nilai diuraikan dari kolom ts menggunakan format ISO8601 atau RFC 3339, setelah beberapa pra-pemrosesan untuk menangani detik pecahan tambahan.

Perubahan

2024-11-28

  • Peningkatan:
  • Memetakan "msgParts.metadata.company" dan "msgParts.metadata.author" ke "security_result.detection_fields".
  • Menghapus pemetaan duplikat "email.subject".
  • Mengubah pemetaan kolom "filter.modules.dmarc.authResults" dari "additional.fields" menjadi "security_result.detection_fields".

2024-08-28

  • Peningkatan:
  • Mengubah kunci "security_result.detection_fields" dari "filterQid" menjadi "qid".

2024-08-21

  • Peningkatan:
  • Memetakan "metadata.origin.data.cid" ke "additional.fields".

2024-07-22

  • Peningkatan:
  • Jika "about.file.size" adalah Bilangan Bulat Tanpa Tanda yang valid, maka pemeta "msgPart.detectedSizeBytes" ke "about.file.size".
  • Menambahkan dukungan untuk pola log SYSLOG baru.

2024-07-09

  • Peningkatan:
  • Memetakan "msg.header.x-mailer" ke "additional.fields".

2024-07-09

  • Peningkatan:
  • Memetakan "msg.header.x-mailer" ke "additional.fields".

2023-11-13

  • Memetakan "subject" ke "network.email.subject".
  • Memetakan "messageID" ke "network.email.mail_id".
  • Memetakan "fromAddress" ke "network.email.from".
  • Memetakan "ccAddresses" ke "network.email.cc".
  • Memetakan "replyToAddress" ke "network.email.reply_to".
  • Memetakan "toAddresses" ke "network.email.to".
  • Memetakan "sender" ke "principal.user.email_addresses".
  • Memetakan "senderIP" ke "principal.ip".
  • Memetakan "recipient" ke "target.user.email_addresses".
  • Memetakan "spamScore", "phishScore", "threatsInfoMap", "impostorScore", "malwareScore", "" ke "security_result.detection_fields".

2023-10-26

  • Memetakan "msg.headeparsedAddressesr.from.0" ke "principal.user.email_addresses".
  • Pemetaan yang diubah dari menggunakan kolom UDM yang tidak digunakan lagi ke kolom alternatif.
  • Menambahkan pemetaan dari "about.labels" ke "about.resource.attribute.labels".
  • Menambahkan pemetaan dari "principal.labels" ke "principal.resource.attribute.labels".

2023-06-05

  • Menambahkan pemeriksaan ke "msg.header.reply-to.0" sebelum pemetaan ke UDM untuk memeriksa apakah itu adalah array email.
  • Menambahkan pemeriksaan bukan "-1" ke "msgPart.detectedSizeBytes" sebelum pemetaan ke UDM.

2022-07-14

  • Peningkatan untuk memetakan elemen berikut ke elemen UDM:
  • Mapped langs to additional.fields.
  • Menempatkan definisi ke security_result.summary.
  • Mesin yang dipetakan ke metadata.product_version.

2022-06-29

  • Peningkatan - Menambahkan gsub untuk menghapus '<>' dari kolom 'sm.msgid' dan 'msg.header.message-id.0' yang dipetakan ke 'network.email.mail_id'.

2022-05-20

  • Peningkatan untuk memetakan elemen berikut ke elemen UDM:
  • Memetakan 'tls.verify', 'filter.disposition' ke 'security_result.action_details'.
  • Memetakan 'filter.modules.dmarc.authResults.result' ke 'additional.fields'.
  • Memetakan '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' ke 'security_result.detection_fields'.

2022-04-13

  • Peningkatan untuk memetakan elemen berikut ke elemen UDM:
  • Memetakan filter.modules.av.virusNames ke 'security_result.threat_name'.