Mengumpulkan log Proofpoint On-Demand
Dokumen ini menjelaskan cara menyerap log Proofpoint On-Demand ke Google Security Operations menggunakan integrasi API bawaan. Parser mengekstrak kolom dari log JSON, lalu mengubahnya menjadi format UDM Chronicle. Proses ini menangani dua format log utama: satu berisi metadata email dan yang lainnya berisi detail transaksi SMTP, menggunakan logika bersyarat untuk mengurai kolom dengan tepat dan mengisi kolom Model Data Terpadu (UDM) berdasarkan data yang tersedia. Parser juga melakukan pembersihan data, seperti menghapus karakter yang tidak relevan dan mengonversi stempel waktu.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Lisensi Proofpoint On-Demand Remote Syslog
- Akses istimewa ke Proofpoint
Mengonfigurasi akses API Proofpoint On-Demand
- Login ke portal Admin Proofpoint.
- Salin ID Cluster Anda (ditampilkan di sudut kanan atas antarmuka pengelolaan, di samping nomor rilis).
- Buka Setelan > Pengelolaan Kunci API.
- Klik Buat Baru untuk membuka dialog Buat Kunci API Baru.
- Masukkan Nama unik (misalnya,
Google SecOps Key
). - Buat Kunci API.
- Pilih Lihat Detail dari menu elipsis di Kunci API baru.
- Salin Kunci API.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
PoD Logs
). - Pilih Third Party API sebagai Source type.
- Pilih jenis log Proofpoint On-Demand.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- Header HTTP autentikasi: Masukkan Kunci API Proofpoint dalam format
Authorization: Bearer {API_KEY}
, dan tambahkan baris baru dengan data WebSocket-Key berikut:Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==
. - Cluster ID: Masukkan ID Cluster Proofpoint yang Anda salin sebelumnya.
- Header HTTP autentikasi: Masukkan Kunci API Proofpoint dalam format
Klik Berikutnya.
Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.
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 berasal langsung dari kolom connection.country di 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 di log mentah, jika merupakan alamat IPv4 yang valid. Atribut 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 ini berasal langsung dari kolom connection.tls.inbound.cipher di log mentah, kecuali jika nilainya "NONE". |
connection.tls.inbound.version |
network.tls.version |
Nilai ini berasal langsung dari kolom connection.tls.inbound.version di log mentah, kecuali jika sandinya 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 merupakan alamat email yang 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 di 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 ini 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 ini 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 ini 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 ini 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 ini 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 ini 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 ini 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 ini 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 ini 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 ini 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 ini 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 ini 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 di kolom network.email.from jika merupakan alamat email yang 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 disertakan dalam <> 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 merupakan alamat email yang 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 merupakan alamat email yang valid. |
msgParts |
read_only_udm.about |
Beberapa objek info 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 merupakan alamat email yang valid. |
replyToAddress |
network.email.reply_to |
Alamat email di replyToAddress akan diganti di kolom network.email.reply_to jika merupakan alamat email yang valid. |
sender |
principal.user.email_addresses |
Nilai berasal langsung dari kolom sender di 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 di 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 merupakan alamat email yang 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 ini berasal langsung dari kolom tls.cipher di log mentah, kecuali jika nilainya "NONE". |
tls.verify |
security_result.action_details |
Nilai berasal langsung dari kolom tls.verify dalam log mentah. |
tls.version |
network.tls.version |
Nilai ini berasal langsung dari kolom tls.version di log mentah, kecuali jika sandinya adalah "NONE". |
toAddresses |
network.email.to |
Alamat email di toAddresses digabungkan ke kolom network.email.to jika merupakan alamat email yang valid. |
ts |
@timestamp |
Nilai diuraikan dari kolom ts menggunakan format ISO8601 atau RFC 3339, setelah beberapa pra-pemrosesan untuk menangani detik fraksional tambahan. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.