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 Splunk REST API 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 Search Head Splunk 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 Cluster Search Head menggunakan Splunk Deployer atau Deployment Server.
Pastikan versi Splunk Common Information Model (Splunk_SA_CIM) yang kompatibel diinstal di Search Head untuk mendukung pemberitahuan dan logging modular.
Pastikan bahwa Splunk Search Head Anda memiliki akses jaringan keluar melalui HTTPS (TCP port 443) ke URL instance Google SecOps Anda.
Verifikasi bahwa Anda memiliki akun di Google SecOps dengan izin administratif untuk membuat kunci API (Setelan > Lanjutan > API). Pastikan kunci API yang dibuat diberi peran dengan izin pembuatan kasus dan pemberitahuan.
Jika Anda berencana untuk menyerap peristiwa mentah dari penelusuran yang mengubah (seperti penelusuran menggunakan
stats,chart, atautimechart), pastikandispatch.buckets = 1dikonfigurasi disavedsearches.confpada Search Head Anda.
Penyerapan berbasis pull
Penyerapan berbasis penarikan, 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 penarikan, 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 Bearer Splunk (untuk mengaktifkan metode autentikasi ini di platform Splunk, metode ini memerlukan autentikasi token).
Kemampuan peran Splunk: Pastikan akun Splunk yang mengautentikasi memiliki peran dengan kemampuan berikut:
searchschedule_searchedit_tcp(Wajib diisi hanya jika menggunakan tindakan Kirim Acara)edit_notable_events(Wajib hanya jika menggunakan tindakan Perbarui Peristiwa Penting atau tugas sinkronisasi Splunk ES)
Izin penyimpanan dan penelusuran data: 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 penulisan dan input pada indeks target jika menggunakan tindakan Kirim Acara.
- 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 | 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 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 yang dienkode Base 64. |
Untuk mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan di tahap selanjutnya, 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 tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.
Mendapatkan Acara Host
Dapatkan peristiwa terkait host di Splunk.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Batas Peristiwa Per Host | Bilangan bulat | 100 | Ya | Tentukan jumlah acara 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. |
Terus Berjalan
Tindakan ini dijalankan pada entity Hostname.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| berhasil | Benar/Salah | berhasil: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 host: "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" (Tidak ada peristiwa yang ditemukan untuk host yang diberikan di 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 saat menjalankan tindakan "Get Host Events". Alasan: {0}''.format(messages/text) |
Umum |
| Tabel Repositori Kasus | Nama: {Entity.identifier} Acara Kolom: Berdasarkan hasil. |
Ping
Uji konektivitas ke Splunk dengan parameter yang diberikan di halaman konfigurasi integrasi di tab Google Security Operations Marketplace.
Parameter
T/A
Terus Berjalan
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 |
Splunk Csv Viewer
Parameter
| Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Hasil | string | T/A | Ya | Hasil mentah. |
Terus Berjalan
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 | 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 jam | Tidak | Tentukan waktu mulai untuk kueri. Default: -24 jam |
| Hasil ke | String | sekarang | Tidak | Tentukan waktu berakhir kueri. Default: now. |
| Kolom hasil | CSV | Tidak | Tentukan daftar kolom yang dipisahkan koma yang perlu ditampilkan. |
Terus Berjalan
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: "Tidak ada hasil yang ditemukan untuk kueri "{0}" di 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
Kirim peristiwa ke Splunk.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | 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: web_event |
Terus Berjalan
Tindakan ini tidak dijalankan pada entity.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| berhasil | Benar/Salah | berhasil: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: "Berhasil menambahkan peristiwa baru ke indeks "{0}" di 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 Acara". Alasan: {0}''.format(messages/text) |
Umum |
Memperbarui Acara Penting
Perbarui peristiwa penting di Splunk ES.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | 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. |
Terus Berjalan
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 |
Jalankan Kueri Entity
Jalankan kueri entity di Splunk.
Bagaimana cara menggunakan parameter tindakan?
Tindakan ini memberikan kemampuan untuk mengambil informasi terkait entity dengan mudah.
Misalnya, Anda dapat menyelesaikan kasus penggunaan, di mana Anda ingin melihat
jumlah peristiwa endpoint yang terpengaruh oleh hash yang diberikan tanpa perlu
membuat 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 Entitas Hash File | hash |
"Operator Lintas Entitas" dalam situasi ini tidak akan berdampak, karena hanya memengaruhi kueri, jika beberapa "Kunci Entitas" diberikan.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Mode Penelusuran | DDL | Smart Nilai yang mungkin:
|
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 jam | Tidak | Tentukan waktu mulai untuk kueri. Default: -24 jam |
| Hasil ke | String | sekarang | Tidak | Tentukan waktu berakhir 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 akan digunakan dengan entitas Nama host, saat menyiapkan . Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entitas Hash File | String | T/A | Tidak | Tentukan kunci yang akan digunakan dengan entity Hash File. Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entitas Pengguna | String | T/A | Tidak | Tentukan kunci yang akan digunakan dengan entity Pengguna. Lihat dokumentasi tindakan untuk mengetahui detailnya. |
| Kunci Entitas URL | String | T/A | Tidak | Tentukan kunci yang akan 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. |
| Hentikan Jika Entitas Tidak Cukup | Kotak centang | Dicentang | Ya | Jika diaktifkan, tindakan tidak akan mulai dieksekusi, kecuali semua jenis entitas tersedia untuk ".. Kunci Entitas" yang ditentukan. Contoh: jika "Kunci Entitas IP" dan "Kunci Entitas Hash File" 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: ATAU DAN |
Ya | Tentukan operator logika yang harus digunakan di antara berbagai jenis entity. |
Terus Berjalan
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: "Tidak ada hasil yang ditemukan untuk kueri "{0}" di Splunk".format(query) Pesan asinkron: "Waiting for query {0} to finish execution.".format(query name) Jika "Berhenti Jika Entitas Tidak Cukup" diaktifkan dan jenis entitas yang tersedia tidak cukup untuk "Kunci Entitas" yang diberikan (is_success=false): Tindakan tidak dapat membuat kueri, karena jenis entitas yang diberikan untuk ".. Kunci Entitas" yang ditentukan tidak cukup. Nonaktifkan parameter "Hentikan Jika Entitas Tidak Cukup" atau berikan setidaknya satu entitas untuk setiap ".. Kunci Entitas" 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". Alasan: {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 Anda (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 dengan 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 Splunk API. Jika kolom ini memiliki nilai, token API memiliki prioritas atas metode autentikasi lainnya. |
Verify SSL |
Wajib
Jika dicentang, akan 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 dari tempat pengambilan peristiwa. |
Aggregate Events Query |
Opsional Jika diaktifkan, konektor akan menggabungkan semua peristiwa dalam satu pemberitahuan. Dinonaktifkan secara default. |
PythonProcessTimeout (Seconds) |
Wajib Batas waktu 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 untuk 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 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 untuk 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 untuk proses python yang menjalankan skrip saat ini. Nilai defaultnya adalah 60 detik. |
Server Address |
Wajib
Alamat IP server Splunk API. |
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 memproses 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 untuk 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 lingkungan default. |
Script Timeout (Seconds) |
Wajib Batas waktu 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 Splunk API. Jika kolom ini memiliki nilai, token API memiliki prioritas lebih tinggi daripada metode autentikasi lainnya. |
Lowest Urgency To Fetch |
Wajib
Tingkat 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 memerlukan 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, akan 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 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 disetel ke Diaktifkan secara default. |
Multivalue Fields |
Opsional
Daftar kolom yang dipisahkan koma yang berisi beberapa entitas. 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 menyetel kolom ke
nilai |
Alert Name Source |
Opsional
Sumber untuk nama pemberitahuan. Nilainya dapat berupa:
Nilai defaultnya adalah |
Cara menggunakan parameter Query Filter
Jika ada kebutuhan untuk 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, maka 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 diblokir (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 | 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 Splunk API. 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
Pekerjaan ini akan menyinkronkan komentar dalam peristiwa Splunk ES dan kasus Google SecOps.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | 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 Splunk API. Token API memiliki prioritas 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.