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.
- Klik paket feed Proofpoint.
- Pilih jenis log Proofpoint On-Demand.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Jenis Sumber: API pihak ketiga
- 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.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Namespace Aset: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
- Klik Buat Feed.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
classification |
security_result.detection_fields.classification |
Nilai ini berasal langsung dari kolom classification di log mentah. |
cluster |
security_result.detection_fields.cluster |
Nilai ini berasal langsung dari kolom cluster di log mentah. |
completelyRewritten |
security_result.detection_fields.completelyRewritten |
Nilai ini berasal langsung dari kolom completelyRewritten di 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 ini berasal langsung dari kolom connection.host di 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 ini berasal langsung dari kolom envelope.from di 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 ini berasal langsung dari kolom eventType di 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 ini berasal langsung dari kolom filter.modules.av.virusNames.0 di 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 ini berasal langsung dari kolom filter.modules.spam.safeBlockedListMatches.0.listType di log mentah. |
filter.modules.spam.safeBlockedListMatches.0.rule |
security_result.detection_fields.safeBlockedListMatches_rule |
Nilai ini berasal langsung dari kolom filter.modules.spam.safeBlockedListMatches.0.rule di 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 ini berasal langsung dari kolom filter.modules.spam.version.definitions di log mentah. |
filter.modules.spam.version.engine |
metadata.product_version |
Nilai ini berasal langsung dari kolom filter.modules.spam.version.engine di log mentah. |
filter.modules.urldefense.counts.rewritten |
read_only_udm.additional.fields.urldefenseCountsRewritten |
Nilai ini berasal langsung dari kolom filter.modules.urldefense.counts.rewritten di log mentah. |
filter.modules.urldefense.counts.total |
security_result.detection_fields.urldefense_total |
Nilai ini berasal langsung dari kolom filter.modules.urldefense.counts.total di log mentah. |
filter.modules.zerohour.score |
read_only_udm.additional.fields.zeroHourScore |
Nilai ini berasal langsung dari kolom filter.modules.zerohour.score di log mentah. |
filter.origGuid |
read_only_udm.additional.fields.origGuid |
Nilai ini berasal langsung dari kolom filter.origGuid di log mentah. |
filter.qid |
read_only_udm.additional.fields.filterQid |
Nilai ini berasal langsung dari kolom filter.qid di log mentah. |
filter.quarantine.folder |
security_result.detection_fields.filter_quarantine_folder |
Nilai ini berasal langsung dari kolom filter.quarantine.folder di log mentah. |
filter.quarantine.folderId |
security_result.detection_fields.filter_quarantine_folderId |
Nilai ini berasal langsung dari kolom filter.quarantine.quarantine.folderId di log mentah. |
filter.quarantine.module |
security_result.detection_fields.filter_quarantine_module |
Nilai ini berasal langsung dari kolom filter.quarantine.module di log mentah. |
filter.quarantine.rule |
security_result.detection_fields.filter_quarantine_rule |
Nilai ini berasal langsung dari kolom filter.quarantine.rule di log mentah. |
filter.quarantine.type |
security_result.detection_fields.filter_quarantine_type |
Nilai ini berasal langsung dari kolom filter.quarantine.type di 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 ini berasal langsung dari kolom guid di log mentah. |
GUID |
metadata.product_log_id |
Nilai ini berasal langsung dari kolom GUID di log mentah. |
headerFrom |
network.email.from |
Nilai ini berasal langsung dari kolom headerFrom di log mentah. |
impostorScore |
security_result.detection_fields.impostorScore |
Nilai ini berasal langsung dari kolom impostorScore di log mentah. |
malwareScore |
security_result.detection_fields.malwareScore |
Nilai ini berasal langsung dari kolom malwareScore di log mentah. |
messageID |
network.email.mail_id |
Nilai ini berasal langsung dari kolom messageID di log mentah. |
messageSize |
security_result.detection_fields.messageSize |
Nilai ini berasal langsung dari kolom messageSize di log mentah. |
messageTime |
@timestamp |
Nilai diuraikan dari kolom messageTime menggunakan format ISO8601 atau RFC 3339. |
metadata.customerId |
principal.labels.customerId |
Nilai ini berasal langsung dari kolom metadata.customerId di log mentah. |
metadata.origin.data.agent |
network.http.user_agent |
Nilai ini berasal langsung dari kolom metadata.origin.data.agent di log mentah. |
metadata.origin.data.cid |
principal.user.userid |
Nilai ini berasal langsung dari kolom metadata.origin.data.cid di log mentah. |
metadata.origin.data.version |
metadata.product_version |
Nilai ini berasal langsung dari kolom metadata.origin.data.version di log mentah. |
msg.header.from |
read_only_udm.additional.fields.msgHeaderFrom |
Nilai ini berasal langsung dari kolom msg.header.from.0 di 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 ini berasal langsung dari kolom msg.header.subject di log mentah. |
msg.header.to |
read_only_udm.additional.fields.msgHeaderTo |
Nilai ini berasal langsung dari kolom msg.header.to di log mentah. |
msg.normalizedHeader.subject |
network.email.subject |
Nilai ini berasal langsung dari kolom msg.normalizedHeader.subject di 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 ini berasal langsung dari kolom msg.parsedAddresses.from.0 di log mentah. |
msg.parsedAddresses.from.0 |
principal.user.email_addresses |
Nilai ini berasal langsung dari kolom msg.parsedAddresses.from.0 di log mentah. |
msg.parsedAddresses.fromHashed |
read_only_udm.additional.fields.fromHashed |
Nilai ini berasal langsung dari kolom msg.parsedAddresses.fromHashed.0 di 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 ini berasal langsung dari kolom QID di 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 ini berasal langsung dari kolom senderIP di log mentah. |
sm.from |
network.email.from |
Nilai ini berasal langsung dari kolom sm.from di 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 ini berasal langsung dari kolom sm.proto di log mentah. |
sm.qid |
security_result.detection_fields.QUID |
Nilai ini berasal langsung dari kolom sm.qid di 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 ini berasal langsung dari kolom spamScore di log mentah. |
subject |
network.email.subject |
Nilai ini berasal langsung dari kolom subject di log mentah. |
threat |
security_result.detection_fields.threat |
Nilai ini berasal langsung dari kolom threat di 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 ini berasal langsung dari kolom threatType di 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 ini berasal langsung dari kolom tls.verify di 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.