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:

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

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

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

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

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

  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 Pemilik Splunk (untuk mengaktifkan metode autentikasi ini di platform Splunk, metode ini memerlukan autentikasi token).

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

    • search
    • schedule_search
    • edit_tcp (Hanya diperlukan jika menggunakan tindakan Kirim Peristiwa)
    • edit_notable_events (Hanya diperlukan jika menggunakan tindakan Update Notable Events atau tugas sinkronisasi Splunk ES)
  5. 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 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 tulis dan input pada indeks target jika menggunakan tindakan Submit Event.
    • 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 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:
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

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:

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

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

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

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

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:

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

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

Alert Name Source Opsional

Sumber untuk nama notifikasi.

Nilainya dapat berupa:

  • Search Name
  • Rule Name

Nilai defaultnya adalah Search Name.

Alert Start Time Field Opsional

Kolom dari Splunk Notable Event yang akan digunakan sebagai start_time pemberitahuan.

Jika kolom kosong, tidak valid, atau tidak dapat diuraikan sebagai stempel waktu, konektor akan kembali ke perilaku default menggunakan kolom _time.

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.