Mengintegrasikan Splunk dengan Google SecOps
Dokumen ini memberikan panduan tentang cara mengintegrasikan Splunk dengan Google SecOps.
Sebelum memulai
Sebelum mengintegrasikan Splunk dengan Google SecOps, tentukan metode penyerapan yang sesuai untuk arsitektur deployment Anda dan verifikasi bahwa lingkungan Anda memenuhi semua dependensi, jalur jaringan, dan izin akses yang diperlukan.
Google SecOps mendukung dua metode penyerapan:
Penyerapan berbasis push: Splunk mengevaluasi pemberitahuan secara lokal dan mengirimkan peristiwa langsung ke Google SecOps menggunakan add-on TA-Siemplify dan tindakan pemicu pemberitahuan. Tidak ada konfigurasi konektor yang diperlukan di Google SecOps.
Penyerapan berbasis pull: Konektor Google SecOps secara berkala mengkueri endpoint REST API Splunk untuk mengambil pemberitahuan, hasil penelusuran SPL, atau Peristiwa Penting Splunk ES.
Penyerapan berbasis push
Penyerapan berbasis push memerlukan konektivitas HTTPS keluar langsung dari Splunk ke Google SecOps, serta konfigurasi add-on tertentu di Splunk Search Head Anda.
Verifikasi persyaratan berikut sebelum mengonfigurasi penyerapan berbasis push:
Download dan instal paket TA-Siemplify dari Splunkbase ke semua Search Head Splunk target. Di lingkungan terdistribusi, deploy add-on di seluruh Search Head Cluster Anda menggunakan Splunk Deployer atau Deployment Server.
Pastikan versi Splunk Common Information Model (Splunk_SA_CIM) yang kompatibel telah diinstal di Search Head untuk mendukung pemberitahuan dan logging modular.
Pastikan bahwa Splunk Search Head Anda memiliki akses jaringan keluar melalui HTTPS (port TCP 443) ke URL instance Google SecOps Anda.
Verifikasi bahwa Anda memiliki akun di Google SecOps dengan izin administratif untuk membuat kunci API (Settings > Advanced > API). Pastikan kunci API yang dibuat diberi peran dengan izin pembuatan notifikasi dan kasus.
Jika Anda berencana menyerap peristiwa mentah dari penelusuran transformasi (seperti penelusuran menggunakan
stats,chart, atautimechart), pastikandispatch.buckets = 1dikonfigurasi disavedsearches.confpada Search Head Anda.
Penyerapan berbasis pull
Penyerapan berbasis pull, tindakan playbook, dan tugas sinkronisasi memerlukan Google SecOps (atau agen jarak jauh) untuk membuat koneksi administratif masuk ke Splunk.
Verifikasi persyaratan berikut sebelum mengonfigurasi konektor pull, tindakan, atau tugas:
Konektivitas jaringan: Verifikasi line-of-sight jaringan dari Google SecOps (atau agen jarak jauh Anda) ke port REST API pengelolaan Splunk (default:
8089/TCP).Sertifikat CA kustom: Jika instance Splunk Anda menggunakan sertifikat CA pribadi atau internal, pastikan Anda menjalankan integrasi Splunk versi 26.0 atau yang lebih tinggi di Google SecOps.
Autentikasi: Dapatkan kredensial pengguna Splunk yang valid (nama pengguna dan sandi) atau buat Token Pemilik Splunk (untuk mengaktifkan metode autentikasi ini di platform Splunk, metode ini memerlukan autentikasi token).
Kemampuan peran Splunk: Pastikan akun Splunk yang melakukan autentikasi memiliki peran dengan kemampuan berikut:
searchschedule_searchedit_tcp(Hanya diperlukan jika menggunakan tindakan Kirim Peristiwa)edit_notable_events(Hanya diperlukan jika menggunakan tindakan Update Notable Events atau tugas sinkronisasi Splunk ES)
Izin penyimpanan data dan penelusuran: Pastikan akun yang melakukan autentikasi memiliki akses ke penyimpanan data Splunk yang relevan untuk komponen yang Anda pilih:
- Konektor penarikan Splunk: Izin baca ke tabel pemeta
siemplify_alerts(diisi saatTA-Siemplifydiinstal dan dikonfigurasi dalam mode Tarik). - Konektor dan tindakan kueri Splunk:
- Izin penelusuran pada indeks peristiwa target
(tidak memerlukan
TA-Siemplify). - Izin tulis dan input pada indeks target jika menggunakan tindakan Submit Event.
- Izin penelusuran pada indeks peristiwa target
(tidak memerlukan
- Splunk ES - konektor dan tugas peristiwa penting: Penginstalan
Splunk Enterprise Security (ES) yang aktif, izin baca ke indeks
notable, dan akses ke makroget_notable_index(tidak memerlukanTA-Siemplify).
- Konektor penarikan Splunk: Izin baca ke tabel pemeta
Parameter integrasi
Gunakan parameter berikut untuk mengonfigurasi integrasi:
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Alamat Server | String | {SCHEMA}://{IP}:{PORT} | Ya | Alamat Server Splunk. |
| Nama pengguna | String | T/A | Tidak | Alamat email pengguna yang harus digunakan untuk terhubung ke Splunk. |
| Sandi | Sandi | T/A | Tidak | Sandi pengguna yang sesuai. |
| Token API | Sandi | T/A | Tidak | Token Splunk API. Token API memiliki prioritas di atas metode autentikasi lainnya, jika kolom ini tidak kosong. |
| Verifikasi SSL | Kotak centang | Tidak dicentang | Tidak | Gunakan kotak centang ini, jika koneksi Splunk Anda memerlukan verifikasi SSL (tidak dicentang secara default). |
| File Sertifikat CA | String | T/A | Tidak | File sertifikat CA berenkode Base 64. |
Untuk mendapatkan petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan pada tahap berikutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.
Tindakan
Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan yang tertunda dari Meja Kerja Anda dan Melakukan tindakan manual.
Mendapatkan Peristiwa Host
Mendapatkan peristiwa terkait host di Splunk.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Batas Peristiwa Per Host | Bilangan bulat | 100 | Ya | Tentukan jumlah peristiwa yang akan ditampilkan per host. |
| Hasil Dari | String | -24 jam | Ya | Tentukan waktu mulai untuk acara. |
| Hasil Ke | String | sekarang | Ya | Tentukan waktu berakhir untuk acara. |
| Kolom hasil | CSV | T/A | Tidak | Tentukan daftar kolom yang dipisahkan koma yang perlu ditampilkan. |
| Indeks | String | T/A | Tidak | Tentukan indeks yang harus digunakan saat menelusuri peristiwa yang terkait dengan host. Jika tidak ada yang diberikan, tindakan tidak akan menggunakan indeks. |
| Kunci Host | String | host | Tidak | Tentukan tombol yang harus digunakan untuk mendapatkan informasi tentang peristiwa host. Default: host. |
Dijalankan Pada
Tindakan ini dijalankan pada entity Hostname.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| berhasil | Benar/Salah | success:False |
Hasil JSON
[{
"app": "SA-AccessProtection",
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087674",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "02-02-2021 04:01:58.404 +0200 INFO SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
"_serial": "0",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "scheduler",
"_subsecond": ".404",
"_time": "2021-02-02T04:01:58.404+02:00"
},
{
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087731",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
"_serial": "1",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "splunkd_access",
"_subsecond": ".172",
"_time": "2021-02-02T04:01:58.172+02:00"
},
{
"app": "SA-EndpointProtection",
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087653",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "02-02-2021 04:01:57.804 +0200 INFO SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
"_serial": "2",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "scheduler",
"_subsecond": ".804",
"_time": "2021-02-02T04:01:57.804+02:00"
}]
Repositori Kasus
| Jenis Hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika berhasil dan hasil tersedia: "Successfully returned events for the following hosts in Splunk: \n {0}".format(entity.identifier) Jika berhasil dan hasil tidak tersedia untuk beberapa: "No events were found for the following hosts in Splunk:\n {0}".format(entity.identifier) Jika berhasil dan hasil tidak tersedia untuk semua: "No events were found for the provided hosts in Splunk" Tindakan akan gagal dan menghentikan eksekusi playbook: jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Get Host Events". Reason: {0}''.format(error.Stacktrace) Jika 400: "Error executing action "Get Host Events". Alasan: {0}''.format(messages/text) |
Umum |
| Tabel Repositori Kasus | Nama: Peristiwa {Entity.identifier} Kolom: Berdasarkan hasil. |
Ping
Uji konektivitas ke Splunk dengan parameter yang disediakan di halaman konfigurasi integrasi di tab Google Security Operations Marketplace.
Parameter
T/A
Dijalankan Pada
Tindakan ini tidak berjalan di entity, dan tidak memiliki parameter input wajib.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Repositori Kasus
| Jenis Hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Tindakan akan gagal dan menghentikan eksekusi playbook: |
Umum |
Penampil CSV Splunk
Parameter
| Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Hasil | string | T/A | Ya | Hasil mentah. |
Jalankan Di
Tindakan ini dijalankan di semua entity.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_succeed | Benar/Salah | is_succeed:False |
SplunkQuery
Jalankan kueri di Splunk.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Mode Penelusuran | DDL | Smart Nilai yang mungkin:
|
Tidak | Menentukan mode untuk menjalankan penelusuran. |
| Kueri | String | Ya | Tentukan kueri yang perlu dijalankan. Contoh: index="_internal" | |
| Batas jumlah hasil | Bilangan bulat | 100 | Tidak | Tentukan jumlah hasil yang akan ditampilkan. |
| Hasil dari | String | -24 j | Tidak | Tentukan waktu mulai untuk kueri. Default: -24 jam |
| Hasil ke | String | sekarang | Tidak | Tentukan waktu akhir untuk kueri. Default: now. |
| Kolom hasil | CSV | Tidak | Tentukan daftar kolom yang dipisahkan koma yang perlu ditampilkan. |
Dijalankan Pada
Tindakan ini tidak dijalankan pada entity.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_succeed | Benar/Salah | is_succeed:False |
Hasil JSON
[{
"app": "SA-AccessProtection",
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087674",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "02-02-2021 04:01:58.404 +0200 INFO SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
"_serial": "0",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "scheduler",
"_subsecond": ".404",
"_time": "2021-02-02T04:01:58.404+02:00"
},
{
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087731",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
"_serial": "1",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "splunkd_access",
"_subsecond": ".172",
"_time": "2021-02-02T04:01:58.172+02:00"
},
{
"app": "SA-EndpointProtection",
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087653",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "02-02-2021 04:01:57.804 +0200 INFO SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
"_serial": "2",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "scheduler",
"_subsecond": ".804",
"_time": "2021-02-02T04:01:57.804+02:00"
}]
Repositori Kasus
| Jenis hasil | Nilai/Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika berhasil dan hasil tersedia: "Successfully returned results for the query "{0}" in Splunk".format(query) Jika berhasil dan hasil tidak tersedia: "No results were found for the query "{0}" in Splunk".format(query) Pesan asinkron: "Waiting for query {0} to finish execution.".format(query name) Tindakan akan gagal dan menghentikan eksekusi playbook: jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "SplunkQuery". Reason: {0}''.format(error.Stacktrace) Jika 400: "Error saat menjalankan tindakan "SplunkQuery". Alasan: {0}''.format(messages/text) |
Umum |
| Tabel Repositori Kasus | Nama: Hasil Kueri Splunk Kolom - Berdasarkan hasil. |
Umum |
Kirim Acara
Mengirim peristiwa ke Splunk.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Indeks | String | main | Ya | Tentukan indeks tempat peristiwa harus dibuat. |
| Acara | String | T/A | Ya | Tentukan peristiwa mentah yang perlu dikirimkan. |
| Host | String | T/A | Tidak | Tentukan host yang terkait dengan peristiwa. |
| Sumber | String | T/A | Tidak | Tentukan sumber peristiwa. Contoh: www. |
| Sourcetype | String | T/A | Tidak | Tentukan jenis sumber peristiwa. Contoh: Contoh: web_event |
Dijalankan Pada
Tindakan ini tidak dijalankan pada entity.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| berhasil | Benar/Salah | success:False |
Hasil JSON
{
"index": "default",
"bytes": 70,
"host": "dogo",
"source": "www",
"sourcetype": "web_event"
}
Repositori Kasus
| Jenis hasil | Nilai/Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika berhasil: "Successfully added a new event to index "{0}" in Splunk.".format(index) Tindakan akan gagal dan menghentikan eksekusi playbook: jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Submit Event". Reason: {0}''.format(error.Stacktrace) Jika 400: "Error saat menjalankan tindakan "Kirim Peristiwa". Alasan: {0}''.format(messages/text) |
Umum |
Memperbarui Peristiwa Penting
Memperbarui peristiwa penting di Splunk ES.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| ID Peristiwa Penting | CSV | T/A | Ya | Tentukan ID peristiwa penting. Contoh: 1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7@@notable@@cb87390ae72763679d3f6f8f097ebe2b,1D234D5B-1531-2D2B-BB94-41C439BE12B7@@notable@@cb87390ae72763679d3f6f8f097ebe2b |
| Status | DDL | Pilih Satu Nilai yang memungkinkan: Pilih Satu Belum ditetapkan Baru Dalam Proses Tertunda Selesai Tutup |
Ya | Tentukan status baru untuk peristiwa penting. |
| Urgensi | DDL | Pilih Satu Nilai yang memungkinkan: Pilih Satu Kritis Tinggi Sedang Rendah Informatif |
Ya | Tentukan urgensi baru untuk peristiwa penting. |
| Pemilik Baru | String | T/A | Ya | Tentukan pemilik baru peristiwa penting. |
| Komentar | String | T/A | Ya | Tentukan komentar untuk peristiwa penting. |
Dijalankan Pada
Tindakan ini tidak dijalankan pada entity.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Repositori Kasus
| Jenis Hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika berhasil dan data tersedia (is_success=true) print "Successfully updated {0} notable events in Splunk.".format(count(notable_events)) Jika gagal memperbarui (status_code=400, is_success=false): print "Tindakan tidak dapat memperbarui peristiwa penting. Reason:{0}".format(string_from_response) Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: print "Error executing action "Update Notable Events". Reason: {0}''.format(error.Stacktrace) |
Umum |
Menjalankan Kueri Entitas
Menjalankan kueri entity di Splunk.
Bagaimana cara menggunakan parameter tindakan?
Tindakan ini memberikan kemampuan untuk mengambil informasi terkait entity dengan cepat.
Misalnya, Anda dapat menyelesaikan kasus penggunaan, saat Anda ingin melihat
jumlah peristiwa endpoint yang terpengaruh oleh hash yang disediakan tanpa
pembuatan kueri yang rumit. Untuk menyelesaikan masalah ini di Splunk, Anda
harus menyiapkan kueri berikut: index="main" | where
(device_ip="10.0.0.1" or device_ip="10.12.12.12") and (hash="bad_hash_1" or
hash="bad_hash_2") Untuk membuat kueri yang sama menggunakan tindakan "Execute Entity
Query", Anda harus mengisi parameter tindakan dengan cara berikut:
| Kueri | index="main" |
|---|---|
| Kunci Entitas IP | device_ip |
| Kunci Entitas Hash File | hash |
| Operator Lintas Entitas | DAN |
Semua kolom lainnya dapat dibiarkan kosong.
Jika kasus penggunaannya adalah untuk melihat jumlah endpoint yang terpengaruh oleh hash yang diberikan, konfigurasi "Execute Entity Query" akan terlihat seperti berikut.
| Kueri | index="main" |
|---|---|
| Kunci Entity Hash File | hash |
"Cross Entity Operator" dalam situasi ini tidak akan berdampak, karena hanya memengaruhi kueri, jika beberapa "Entity Keys" diberikan.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Mode Penelusuran | DDL | Smart
|
Tidak | Menentukan mode untuk menjalankan penelusuran. |
| Kueri | String | Ya | Tentukan kueri yang perlu dijalankan tanpa klausa "Where". Contoh: index="_internal" | |
| Batas jumlah hasil | Bilangan bulat | 100 | Tidak | Tentukan jumlah hasil yang akan ditampilkan. Catatan: parameter ini menambahkan kata kunci "head" ke kueri yang diberikan. Defaultnya adalah 100. |
| Hasil dari | String | -24 j | Tidak | Tentukan waktu mulai untuk kueri. Default: -24 jam |
| Hasil ke | String | sekarang | Tidak | Tentukan waktu akhir untuk kueri. Default: now. |
| Kolom hasil | CSV | T/A | Tidak | Tentukan daftar kolom yang dipisahkan koma yang perlu ditampilkan. |
| Kunci Entitas IP | String | T/A | Tidak | Tentukan kunci yang harus digunakan dengan entity IP. Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entitas Nama Host | String | T/A | Tidak | Tentukan kunci yang harus digunakan dengan entity Hostname, saat menyiapkan . Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entity Hash File | String | T/A | Tidak | Tentukan kunci yang harus digunakan dengan entity Hash File. Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entity Pengguna | String | T/A | Tidak | Tentukan kunci yang harus digunakan dengan entity Pengguna. Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entitas URL | String | T/A | Tidak | Tentukan kunci yang harus digunakan dengan entity URL. Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entitas Alamat Email | String | T/A | Tidak | Tentukan kunci yang harus digunakan dengan entity Alamat Email. Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Berhenti Jika Entity Tidak Cukup | Kotak centang | Dicentang | Ya | Jika diaktifkan, tindakan tidak akan mulai dieksekusi, kecuali jika semua jenis entity tersedia untuk ".. Kunci Entity" yang ditentukan. Contoh: jika "IP Entity Key" dan "File Hash Entity Key" ditentukan, tetapi dalam cakupan tidak ada hash file, maka jika parameter ini diaktifkan, tindakan tidak akan menjalankan kueri. |
| Operator Lintas Entitas | DDL | ATAU Nilai yang Mungkin Muncul: ATAU DAN |
Ya | Tentukan operator logika yang harus digunakan di antara berbagai jenis entity. |
Dijalankan Pada
Tindakan ini berjalan di entity berikut:
- Alamat IP
- Host
- Pengguna
- Hash
- URL
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_succeed | Benar/Salah | is_succeed:False |
Hasil JSON
[{
"app": "SA-AccessProtection",
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087674",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "02-02-2021 04:01:58.404 +0200 INFO SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
"_serial": "0",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "scheduler",
"_subsecond": ".404",
"_time": "2021-02-02T04:01:58.404+02:00"
},
{
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087731",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
"_serial": "1",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "splunkd_access",
"_subsecond": ".172",
"_time": "2021-02-02T04:01:58.172+02:00"
},
{
"app": "SA-EndpointProtection",
"_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
"_cd": "425:9087653",
"_indextime": "1612231318",
"_kv": "1",
"_raw": "02-02-2021 04:01:57.804 +0200 INFO SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
"_serial": "2",
"_si": [
"splunk",
"_internal"
],
"_sourcetype": "scheduler",
"_subsecond": ".804",
"_time": "2021-02-02T04:01:57.804+02:00"
}]
Repositori Kasus
| Jenis hasil | Nilai/Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika berhasil dan hasil tersedia: "Successfully returned results for the query "{0}" in Splunk".format(query) Jika berhasil dan hasil tidak tersedia: "No results were found for the query "{0}" in Splunk".format(query) Pesan asinkron: "Waiting for query {0} to finish execution.".format(query name) Jika "Stop If Not Enough Entities" diaktifkan dan jenis entity yang tersedia tidak cukup untuk "Entity Keys" yang diberikan (is_success=false): Action wasn't able to build the query, because not enough entity types were supplied for the specified ".. Entity Keys". Nonaktifkan parameter "Stop If Not Enough Entities" atau berikan setidaknya satu entity untuk setiap ".. Entity Key" yang ditentukan. Tindakan akan gagal dan menghentikan eksekusi playbook: jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Execute Entity Query". Reason: {0}''.format(error.Stacktrace) Jika 400: "Error executing action "Execute Entity Query". Reason: {0}''.format(messages/text) |
Umum |
| Tabel Repositori Kasus | Nama: Hasil Kueri Splunk Kolom: Berdasarkan hasil. |
Umum |
Konektor
Untuk mempelajari lebih lanjut cara mengonfigurasi konektor di Google SecOps, lihat Menyerap data (konektor).
Konektor Kueri Splunk
Konektor mengirimkan kueri yang merupakan bagian dari daftar dinamis (whitelist),
mengambil hasil, dan membuat kasus berdasarkan hasil yang diambil.
Contoh kueri Splunk untuk melihat log
Kueri harus dimasukkan sebagai aturan daftar dinamis (
whitelist).Kueri penelusuran dengan beberapa filter harus menggunakan spasi sebagai pembatas di antara filter penelusuran—misalnya,
index=cim_modactions sourcetype=modular_alerts:risk.Menggunakan beberapa aturan daftar dinamis (
whitelist) daripada memasukkan beberapa filter penelusuran yang dipisahkan spasi ke dalam aturan yang sama akan menghasilkan penelusuran terpisah yang dijalankan untuk setiap aturan yang ditambahkan.index=cim_modactionssourcetype=modular_alerts:send_data_to_siemplifyindex=_internal sourcetype=splunkdcomponent=sendmodalertaction=send_data_to_siemplifyindex=_internal source=/opt/splunk/var/log/splunk/send_data_to_siemplify_modalert.log
Parameter konektor
Untuk mengonfigurasi konektor, gunakan parameter berikut:
| Parameter | |
|---|---|
Product Field Name |
Wajib
Masukkan nama kolom sumber untuk mengambil nama Nilai defaultnya adalah |
Event Field Name |
Wajib
Masukkan nama kolom sumber untuk mengambil nama Nilai defaultnya adalah |
API Root |
Wajib
Root API instance Splunk. Nilai defaultnya adalah
|
Username |
Wajib
Nama pengguna akun Splunk. |
Password |
Wajib
Sandi akun Splunk. |
API Token |
Opsional
Token API Splunk. Jika kolom ini memiliki nilai, token API akan memiliki prioritas di atas metode autentikasi lainnya. |
Verify SSL |
Wajib
Jika dicentang, memverifikasi bahwa sertifikat SSL untuk koneksi ke server CrowdStrike valid. Tidak dicentang secara default. |
Environment Field Name |
Opsional
Nama kolom tempat nama lingkungan disimpan. |
Rule Generator Field |
Wajib
Nama kolom yang digunakan untuk memetakan nilai generator aturan. |
Alert Name Field Name |
Wajib
Nama pemberitahuan. |
Events Count Limit Per Query |
Opsional Jumlah maksimum peristiwa yang akan diambil per kueri. |
Max Day Backwards |
Opsional Jumlah hari untuk mengambil acara. |
Aggregate Events Query |
Opsional Jika diaktifkan, konektor akan menggabungkan semua peristiwa dalam satu pemberitahuan. Dinonaktifkan secara default. |
PythonProcessTimeout (Seconds) |
Wajib Batas waktu tunggu untuk proses python yang menjalankan skrip saat ini. Nilai defaultnya adalah 60 detik. |
Proxy Server Address |
Opsional
Alamat server proxy yang akan digunakan. |
Proxy Username |
Opsional
Nama pengguna proxy untuk melakukan autentikasi. |
Proxy Password |
Opsional
Sandi proxy untuk melakukan autentikasi. |
Environment Regex Pattern |
Opsional
Pola ekspresi reguler yang akan dijalankan pada nilai yang ditemukan di kolom Nilai default Parameter ini memungkinkan Anda memanipulasi kolom lingkungan menggunakan logika ekspresi reguler. Jika pola ekspresi reguler bernilai null atau kosong, atau nilai lingkungan bernilai null, hasil lingkungan akhir adalah lingkungan default. |
Aturan konektor
Konektor mendukung proxy.
Splunk Pull Connector
Menarik pemberitahuan dan peristiwa dari Splunk ke Google SecOps.
Parameter konektor
Untuk mengonfigurasi konektor, gunakan parameter berikut:
| Parameter | |
|---|---|
Product Field Name |
Wajib
Masukkan nama kolom sumber untuk mengambil nama Nilai defaultnya adalah |
Event Field Name |
Wajib
Masukkan nama kolom sumber untuk mengambil nama Nilai defaultnya adalah |
Environment Field Name |
Opsional
Nama kolom tempat nama lingkungan disimpan. Jika kolom lingkungan tidak ditemukan, lingkungan hasilnya adalah Nilai defaultnya adalah |
Environment Regex Pattern |
Opsional
Pola ekspresi reguler yang akan dijalankan pada nilai yang ditemukan di kolom Nilai default Parameter ini memungkinkan Anda memanipulasi kolom lingkungan menggunakan logika ekspresi reguler. Jika pola ekspresi reguler
adalah null atau kosong, atau nilai lingkungan adalah null, hasil
lingkungan akhir adalah |
PythonProcessTimeout (Seconds) |
Wajib Batas waktu tunggu untuk proses python yang menjalankan skrip saat ini. Nilai default-nya adalah 60 detik. |
Server Address |
Wajib
Alamat IP server API Splunk. |
Port |
Wajib
Port instance Splunk. Nilai defaultnya adalah |
Username |
Wajib
Nama pengguna akun Splunk. |
Password |
Wajib
Sandi akun Splunk. |
Time Frame |
Opsional
Jangka waktu untuk mengambil pemberitahuan. Nilai defaultnya adalah 1 jam. Contoh: Jika nilai ditetapkan ke 1 menit, konektor akan mengambil pemberitahuan mulai dari 1 menit yang lalu. Jika nilai ditetapkan ke 3 jam, konektor akan mengambil pemberitahuan mulai dari 3 jam yang lalu. Jika nilai ditetapkan ke 1 hari atau minggu, konektor akan mengambil pemberitahuan yang dimulai dari 1 hari (24 jam) atau 1 minggu yang lalu. |
Alerts Count Limit |
Opsional
Jumlah pemberitahuan yang ditampilkan oleh konektor per 1 iterasi. Nilai defaultnya adalah 100. |
Use SSL |
Opsional
Centang untuk mengaktifkan koneksi SSL atau TLS. Tidak dicentang secara default. |
Proxy Server Address |
Opsional
Alamat server proxy yang akan digunakan. |
Proxy Username |
Opsional
Nama pengguna proxy untuk melakukan autentikasi. |
Proxy Password |
Opsional
Sandi proxy untuk melakukan autentikasi. |
Aturan konektor
Konektor mendukung proxy.
Splunk ES - Notable Events Connector
Menyerap peristiwa penting dari Splunk ES.
Menentukan prioritas kasus
Prioritas kasus ditentukan oleh parameter Urgency dalam peristiwa penting.
Hanya parameter ini yang dipertimbangkan saat menyerap
peristiwa penting ke Google SecOps.
Parameter konektor
Untuk mengonfigurasi konektor, gunakan parameter berikut:
| Parameter | |
|---|---|
Product Field Name |
Wajib
Masukkan nama kolom sumber untuk mengambil nama Nilai defaultnya adalah |
Event Field Name |
Wajib
Masukkan nama kolom sumber untuk mengambil nama Nilai defaultnya adalah |
Environment Field Name |
Opsional
Nama kolom tempat nama lingkungan disimpan. Jika kolom lingkungan tidak ditemukan, lingkungan default akan digunakan. Nilai defaultnya adalah |
Environment Regex Pattern |
Opsional
Pola ekspresi reguler yang akan dijalankan pada nilai yang ditemukan di kolom Nilai default Parameter ini memungkinkan Anda memanipulasi kolom lingkungan menggunakan logika ekspresi reguler. Jika pola ekspresi reguler bernilai null atau kosong, atau nilai lingkungan bernilai null, hasil lingkungan akhir adalah lingkungan default. |
Script Timeout (Seconds) |
Wajib Batas waktu tunggu untuk proses python yang menjalankan skrip saat ini. Nilai defaultnya adalah 180 detik. |
Server Address |
Wajib
Alamat server instance Splunk. Nilai defaultnya adalah |
Username |
Opsional
Nama pengguna akun Splunk. |
Password |
Opsional
Sandi akun Splunk. |
API Token |
Wajib
Token API Splunk. Jika kolom ini memiliki nilai, token API memiliki prioritas lebih tinggi daripada metode autentikasi lainnya. |
Lowest Urgency To Fetch |
Wajib
Urgensi terendah yang digunakan untuk mengambil peristiwa penting. Nilainya dapat berupa:
Nilai defaultnya adalah |
Fetch Max Hours Backwards |
Opsional
Jumlah jam dari tempat untuk mengambil peristiwa penting. Nilai defaultnya adalah 1 jam. |
Only Drilldown Events |
Opsional
Jika diaktifkan, konektor akan mencoba mengambil peristiwa perincian tanpa
mengambil peristiwa dasar. Parameter ini mengharuskan opsi Dinonaktifkan secara default. |
Padding Time |
Opsional
Jumlah jam yang akan digunakan sebagai padding. Jika tidak ada nilai yang diberikan, parameter ini tidak berlaku. Nilai maksimumnya adalah 12 jam. |
Max Notable Events To Fetch |
Opsional
Jumlah peristiwa penting yang akan diproses per satu iterasi konektor. Nilai defaultnya adalah 10. |
Use whitelist as a blacklist |
Wajib
Jika diaktifkan, daftar dinamis akan digunakan sebagai daftar yang tidak diizinkan. Dinonaktifkan secara default. |
Verify SSL |
Wajib
Jika dicentang, memverifikasi bahwa sertifikat SSL untuk koneksi ke server CrowdStrike valid. Tidak dicentang secara default. |
Proxy Server Address |
Opsional
Alamat server proxy yang akan digunakan. |
Proxy Username |
Opsional
Nama pengguna proxy untuk melakukan autentikasi. |
Proxy Password |
Opsional
Sandi proxy untuk melakukan autentikasi. |
Query Filter |
Opsional
Filter kueri tambahan yang dikirim ke Splunk untuk mendapatkan peristiwa penting. Nilai yang diberikan di sini ditambahkan ke klausa kueri WHERE. |
Extract Base Events |
Opsional
Jika diaktifkan, konektor akan mengekstrak peristiwa dasar yang terkait dengan peristiwa penting menggunakan informasi tentang tugas. Dalam kasus lain, konektor membuat peristiwa Google SecOps berdasarkan peristiwa penting. Jika parameter ini ditetapkan ke Diaktifkan secara default. |
Multivalue Fields |
Opsional
Daftar kolom yang dipisahkan koma yang berisi beberapa entity. Misalnya, jika kolom berisi dua nama host, peristiwa penting akan dibagi menjadi dua peristiwa Google SecOps untuk memetakan entity dengan benar. |
Notable Event Data Along Base Event |
Opsional
Jika diaktifkan, konektor akan menambahkan peristiwa Google SecOps berdasarkan peristiwa penting selain peristiwa dasar. Dinonaktifkan secara default. |
Rule Generator Field Name |
Opsional
Nama kolom yang digunakan untuk memetakan nilai generator aturan. Hanya
informasi tentang peristiwa penting itu sendiri yang digunakan untuk pemetaan, peristiwa
diabaikan. Jika nilai yang tidak valid diberikan, konektor akan menetapkan kolom ke
nilai |
Alert Name Source |
Opsional
Sumber untuk nama notifikasi. Nilainya dapat berupa:
Nilai defaultnya adalah |
Alert Start Time Field |
Opsional
Kolom dari Splunk Notable Event yang akan digunakan sebagai
Jika kolom kosong, tidak valid, atau
tidak dapat diuraikan sebagai stempel waktu, konektor akan kembali ke
perilaku default menggunakan kolom |
Cara menggunakan parameter Query Filter
Jika perlu mempersempit peristiwa penting berdasarkan parameter tertentu, gunakan parameter Query Filter. Nilai yang diberikan dalam parameter ini ditambahkan ke klausa WHERE dari kueri yang dikirim untuk mendapatkan peristiwa penting.
Contoh kueri yang dikirim adalah sebagai berikut:
(`get_notable_index` OR `get_sequenced_index`) | eval `get_event_id_meval`,
rule_id=event_id | tags outputfield=tag | `mvappend_field(tag,orig_tag)` |
`notable_xref_lookup` | `get_correlations` | `get_current_status` | `get_owner`
| `get_urgency` | typer | where (urgency="medium" AND urgency="low") AND
(status_label="Unassigned" OR status_label="New") | tail 50 | fields *
Misalnya, jika Query Filter = isTesting = True, kueri akan muncul sebagai berikut:
search (`get_notable_index` OR `get_sequenced_index`) | eval epoch=_time | eval
`get_event_id_meval`,rule_id=event_id | tags outputfield=tag |
`mvappend_field(tag,orig_tag)` | `notable_xref_lookup` | `get_correlations` |
`get_current_status` | `get_owner` | `get_urgency` | typer | where
(urgency!="informational" AND urgency!="low" **AND isTesting = "True"**) |
fields *
Aturan konektor
Konektor Splunk ES menggunakan daftar dinamis dan daftar yang tidak diizinkan (whitelist dan
blacklist). Konektor menggunakan kolom search_name dari peristiwa untuk
dibandingkan dengan daftar dinamis.
Peristiwa konektor
[{
"indicator": "2012/06/29_21:50",
"tlp": "TLP:RED",
"itype": "mal_url",
"severity": "very-high",
"classification": "public",
"detail": "",
"confidence": 50,
"actor": "",
"feed_name": "import",
"source": "admin",
"feed_site_netloc": "localhost",
"campaign": "",
"type": "url",
"id": "anomali:indicator-578a9be5-0e03-4ec0-940d-4b1842f40fd0",
"date_last": "2020-07-15 08:12:07 AM",
"Url": "indicator"
},{
"indicator": "2010/12/19_16:35",
"tlp": "TLP:RED",
"itype": "mal_url",
"severity": "very-high",
"classification": "public",
"detail": "",
"confidence": 50,
"actor": "",
"feed_name": "import",
"source": "admin",
"feed_site_netloc": "localhost",
"campaign": "",
"type": "url",
"id": "anomali:indicator-52cadd07-330a-45fd-962f-32e22d36a89a",
"date_last": "2020-07-15 08:12:07 AM"
}]
Pekerjaan
Untuk mengetahui informasi selengkapnya tentang tugas, lihat Mengonfigurasi tugas baru dan Penjadwalan lanjutan.
Menyinkronkan Peristiwa Tertutup Splunk ES
Menyinkronkan peristiwa penting Splunk ES yang ditutup dan pemberitahuan Google SecOps.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Alamat Server | String | https://IP:8089 |
Ya | Alamat server instance Splunk. |
| Nama pengguna | String | T/A | Tidak | Nama pengguna akun Splunk. |
| Sandi | Sandi | T/A | Tidak | Sandi akun Splunk. |
| Token API | Sandi | T/A | Ya | Token API Splunk. Token API memiliki prioritas atas metode autentikasi lainnya, jika kolom ini tidak kosong. |
| Maks. Jam Mundur | Bilangan bulat | 24 | Ya | Tentukan berapa jam ke belakang untuk menyinkronkan status. Default: 24 jam. |
| Verifikasi SSL | Kotak centang | Dicentang | Ya | Jika diaktifkan, verifikasi bahwa sertifikat SSL untuk koneksi ke server Splunk valid. |
Menyinkronkan Komentar Splunk ES
Tugas ini akan menyinkronkan komentar di peristiwa Splunk ES dan kasus Google SecOps.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Alamat Server | String | https://IP:8089 |
Ya | Alamat server instance Splunk. |
| Nama pengguna | String | T/A | Tidak | Nama pengguna akun Splunk. |
| Sandi | Sandi | T/A | Tidak | Sandi akun Splunk. |
| Token API | Sandi | T/A | Ya | Token API Splunk. Token API memiliki prioritas di atas metode autentikasi lainnya, jika kolom ini tidak kosong. |
| Verifikasi SSL | Kotak centang | Dicentang | Ya | Jika diaktifkan, verifikasi bahwa sertifikat SSL untuk koneksi ke server Splunk valid. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.