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:

  1. 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.

  2. Pastikan versi Splunk Common Information Model (Splunk_SA_CIM) yang kompatibel diinstal di Search Head untuk mendukung pemberitahuan dan logging modular.

  3. Pastikan bahwa Splunk Search Head Anda memiliki akses jaringan keluar melalui HTTPS (TCP port 443) ke URL instance Google SecOps Anda.

  4. 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.

  5. Jika Anda berencana untuk menyerap peristiwa mentah dari penelusuran yang mengubah (seperti penelusuran menggunakan stats, chart, atau timechart), pastikan dispatch.buckets = 1 dikonfigurasi di savedsearches.conf pada 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:

  1. Konektivitas jaringan: Verifikasi line-of-sight jaringan dari Google SecOps (atau agen jarak jauh Anda) ke port REST API pengelolaan Splunk (default: 8089/TCP).

  2. 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.

  3. 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).

  4. Kemampuan peran Splunk: Pastikan akun Splunk yang mengautentikasi memiliki peran dengan kemampuan berikut:

    • search
    • schedule_search
    • edit_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)
  5. 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 saat TA-Siemplify diinstal 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.
    • Splunk ES - konektor dan tugas peristiwa penting: Penginstalan Splunk Enterprise Security (ES) yang aktif, izin baca ke indeks notable, dan akses ke makro get_notable_index (tidak memerlukan TA-Siemplify).

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:
jika berhasil: "Successfully connected to the Splunk server with the provided connection parameters!"

Tindakan akan gagal dan menghentikan eksekusi playbook:
jika tidak berhasil: "Failed to connect to the Splunk server! Error is {0}".format(exception.stacktrace)

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:

  • Panjang
  • Smart
  • Cepat
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.
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 Tidak

Tentukan daftar kolom yang dipisahkan koma yang perlu ditampilkan.
Catatan: parameter ini menambahkan kata kunci "fields" ke kueri yang diberikan.

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:

  • Panjang
  • Smart
  • Cepat

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.
Catatan: parameter ini menambahkan kata kunci "fields" ke kueri yang diberikan.

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

  1. Kueri harus dimasukkan sebagai aturan daftar dinamis (whitelist).

  2. Kueri penelusuran dengan beberapa filter harus menggunakan spasi sebagai pembatas di antara filter penelusuran—misalnya, index=cim_modactions sourcetype=modular_alerts:risk.

  3. 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_modactions
    • sourcetype=modular_alerts:send_data_to_siemplify
    • index=_internal sourcetype=splunkd
    • component=sendmodalert
    • action=send_data_to_siemplify
    • index=_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 Product Field.

Nilai defaultnya adalah device_product.

Event Field Name Wajib

Masukkan nama kolom sumber untuk mengambil nama Event Field.

Nilai defaultnya adalah app.

API Root Wajib

Root API instance Splunk.

Nilai defaultnya adalah https://IP:8089.

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 Environment Field Name.

Nilai default .* mencakup semua dan menampilkan nilai tanpa perubahan.

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 Product Field.

Nilai defaultnya adalah device_product.

Event Field Name Wajib

Masukkan nama kolom sumber untuk mengambil nama Event Field.

Nilai defaultnya adalah name.

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 Environment Field Name.

Nilai default .* mencakup semua dan menampilkan nilai tanpa perubahan.

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 8089.

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 Product Field.

Nilai defaultnya adalah Product Name.

Event Field Name Wajib

Masukkan nama kolom sumber untuk mengambil nama Event Field.

Nilai defaultnya adalah index.

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 Environment Field Name.

Nilai default .* mencakup semua dan menampilkan nilai tanpa perubahan.

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 https://:8089.

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:

  • Informational
  • Low
  • Medium
  • High
  • Critical

Nilai defaultnya adalah Medium.

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 Fetch Base Events diaktifkan.

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 True, tetapi konektor tidak dapat bekerja dengan tugas, konektor menggunakan informasi tentang peristiwa penting sebagai mekanisme penggantian.

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 rule_name.

Alert Name Source Opsional

Sumber untuk nama pemberitahuan.

Nilainya dapat berupa:

  • Search Name
  • Rule Name

Nilai defaultnya adalah Search Name.

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.