Mengumpulkan log Audit Chronicle SOAR

Didukung di:

Dokumen ini menjelaskan cara menyerap log Audit Chronicle SOAR ke Google Security Operations menggunakan Google Cloud Storage V2.

SOAR (Security Orchestration, Automation and Response) Google Security Operations memungkinkan tim keamanan mengotomatiskan respons terhadap ancaman dengan menyerap, mengelompokkan, dan memprioritaskan pemberitahuan dari alat deteksi untuk otomatis mengeksekusi playbook dan mengoordinasikan respons langsung. Log SOAR mencatat data penting dari fungsi ETL, Playbook, dan Python, termasuk eksekusi skrip Python, penyerapan pemberitahuan, dan performa playbook.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Project Google Cloud dengan Cloud Storage API diaktifkan
  • Izin untuk membuat dan mengelola bucket GCS
  • Izin untuk mengelola kebijakan IAM di bucket GCS
  • Izin untuk membuat dan mengelola sink Cloud Logging
  • Akses ke project Google Cloud tempat Chronicle SOAR di-deploy
  • Peran IAM Logs Viewer (roles/logging.viewer) di project Google Cloud Anda
  • Peran IAM Logging Admin (roles/logging.admin) untuk membuat sink log

Membuat bucket Google Cloud Storage

  1. Buka Konsol Google Cloud.
  2. Pilih project Anda atau buat project baru.
  3. Di menu navigasi, buka Cloud Storage > Buckets.
  4. Klik Create bucket.
  5. Berikan detail konfigurasi berikut:

    Setelan Nilai
    Beri nama bucket Anda Masukkan nama yang unik secara global (misalnya, chronicle-soar-audit-logs)
    Location type Pilih berdasarkan kebutuhan Anda (Region, Dual-region, Multi-region)
    Location Pilih lokasi (misalnya, us-central1)
    Kelas penyimpanan Standar (direkomendasikan untuk log yang sering diakses)
    Access control Seragam (direkomendasikan)
    Alat perlindungan Opsional: Aktifkan pembuatan versi objek atau kebijakan retensi
  6. Klik Create.

Mengaktifkan pengumpulan log SOAR (Khusus deployment mandiri)

Untuk mengaktifkan ekspor log SOAR untuk deployment mandiri, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka IAM & Admin > Service Accounts.
  2. Klik Create Service Account.
  3. Berikan detail konfigurasi berikut:
    • Nama akun layanan: Masukkan soar-logs-export-sa
    • Deskripsi akun layanan: Masukkan Service account for exporting SOAR logs to Cloud Logging
  4. Klik Create and Continue.
  5. Di bagian Berikan akun layanan ini akses ke project:
    1. Klik Pilih peran.
    2. Telusuri dan pilih Logs Writer.
  6. Klik Lanjutkan.
  7. Klik Done.
  8. Dalam daftar Service Accounts, cari akun layanan (soar-logs-export-sa).
  9. Klik more_vert Lainnya > Kelola Izin.
  10. Di bagian Izin, klik Beri Akses.
  11. Di kolom Add principals, masukkan akun utama berikut:

    gke-init-backgroundservices@{SOAR-GCP-Project-Id}.iam.gserviceaccount.com
    
  12. Di bagian Assign roles:

    1. Klik Pilih peran.
    2. Telusuri dan pilih Service Account Token Creator.
  13. Klik Simpan.

  14. Salin alamat email lengkap akun layanan (soar-logs-export-sa@PROJECT_ID.iam.gserviceaccount.com).

  15. Kirim tiket ke Dukungan Google SecOps dengan email akun layanan untuk mengaktifkan ekspor log.

Mengonfigurasi sink Cloud Logging untuk mengekspor log SOAR ke GCS

Log Chronicle SOAR ditulis ke Google Cloud Logging di namespace chronicle-soar. Anda harus membuat sink log untuk merutekan log ini ke bucket GCS Anda.

  1. Di Konsol Google Cloud, buka Logging > Log Router.
  2. Pilih project Google Cloud tempat Chronicle SOAR di-deploy.
  3. Klik Create sink.
  4. Di panel Sink details, berikan detail konfigurasi berikut:
    • Nama tujuan sinkronisasi: Masukkan chronicle-soar-to-gcs
    • Deskripsi wastafel: Masukkan Export Chronicle SOAR audit logs to GCS for Chronicle SIEM ingestion
  5. Klik Berikutnya.
  6. Di panel Sink destination:
    1. Di menu Select sink service, pilih Cloud Storage bucket.
    2. Di menu Select Cloud Storage bucket, pilih bucket (chronicle-soar-audit-logs).
  7. Klik Berikutnya.
  8. Di panel Pilih log untuk disertakan dalam sink:

    1. Di kolom Build inclusion filter, masukkan filter berikut:

      resource.labels.namespace_name="chronicle-soar"
      

      Filter ini cocok dengan semua log SOAR dari layanan ETL, Playbook, dan Python.

    2. Klik Pratinjau log untuk memverifikasi bahwa filter cocok dengan entri log yang diharapkan.

  9. Klik Berikutnya.

  10. Opsional: Di panel Choose logs to filter out of sync, Anda dapat menambahkan filter pengecualian jika diperlukan. Untuk sebagian besar deployment, tidak ada pengecualian yang diperlukan.

  11. Klik Create sink.

Memverifikasi ekspor log ke GCS

  1. Tunggu 5-10 menit hingga log diekspor ke bucket GCS.
  2. Di konsol Google Cloud, buka Cloud Storage > Buckets.
  3. Klik nama bucket (chronicle-soar-audit-logs).
  4. Pastikan file log dibuat di bucket. File diatur berdasarkan tanggal dan waktu:

    chronicle-soar/YYYY/MM/DD/HH:MM:SS_<unique-id>.json
    
  5. Klik file log untuk melihat pratinjau isinya. Setiap file berisi entri log berformat JSON.

Mengambil akun layanan Google SecOps

Google SecOps menggunakan akun layanan unik untuk membaca data dari bucket GCS Anda. Anda harus memberi akun layanan ini akses ke bucket Anda.

Dapatkan email akun layanan

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Chronicle SOAR Audit Logs).
  5. Pilih Google Cloud Storage V2 sebagai Source type.
  6. Pilih CHRONICLE_SOAR_AUDIT sebagai Jenis log.
  7. Klik Get Service Account.
  8. Email akun layanan yang unik akan ditampilkan, misalnya:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Salin alamat email ini untuk digunakan di langkah berikutnya.

  10. Klik Berikutnya.

  11. Tentukan nilai untuk parameter input berikut:

    • URL bucket penyimpanan: Masukkan URI bucket GCS dengan jalur awalan:

      gs://chronicle-soar-audit-logs/chronicle-soar/
      
    • Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda:

      • Jangan pernah: Tidak pernah menghapus file apa pun setelah transfer (direkomendasikan untuk pengujian).
      • Hapus file yang ditransfer: Menghapus file setelah transfer berhasil.
      • Hapus file yang ditransfer dan direktori kosong: Menghapus file dan direktori kosong setelah transfer berhasil.
    • Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir (defaultnya adalah 180 hari)

    • Namespace aset: Namespace aset

    • Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini

  12. Klik Berikutnya.

  13. Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.

Memberikan izin IAM ke akun layanan Google SecOps

Akun layanan Google SecOps memerlukan peran Storage Object Viewer di bucket GCS Anda.

  1. Buka Cloud Storage > Buckets.
  2. Klik nama bucket (chronicle-soar-audit-logs).
  3. Buka tab Izin.
  4. Klik Grant access.
  5. Berikan detail konfigurasi berikut:
    • Add principals: Tempel email akun layanan Google SecOps
    • Tetapkan peran: Pilih Storage Object Viewer
  6. Klik Simpan.

Memfilter log SOAR menurut jenis layanan

Log Chronicle SOAR dikategorikan berdasarkan layanan yang menghasilkan log. Anda dapat memfilter log di Cloud Logging atau membuat sink terpisah untuk berbagai jenis log.

Layanan log yang tersedia

Jenis layanan berikut tersedia:

  • playbook: Log dari eksekusi playbook, termasuk eksekusi blok, hasil tindakan, dan status alur kerja
  • python: Log dari eksekusi skrip Python, termasuk tindakan integrasi, konektor, dan tugas
  • etl: Log dari proses penyerapan pemberitahuan dan transformasi data

Memfilter menurut layanan di Cloud Logging

Untuk melihat log dari layanan tertentu:

  1. Di konsol Google Cloud, buka Logging > Logs Explorer.
  2. Pilih project Google Cloud tempat Chronicle SOAR di-deploy.
  3. Masukkan filter berikut untuk melihat log dari layanan tertentu:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    Ganti playbook dengan python atau etl untuk melihat log dari layanan lain.

Buat tujuan terpisah untuk berbagai jenis log

Untuk merutekan berbagai jenis log ke bucket atau awalan GCS yang terpisah, buat sink tambahan dengan filter khusus layanan:

  1. Ikuti langkah-langkah di bagian Mengonfigurasi sink Cloud Logging untuk mengekspor log SOAR ke GCS.
  2. Di kolom Build inclusion filter, gunakan salah satu filter berikut:

    Log playbook saja:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    Hanya log Python:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="python"
    

    Khusus log ETL:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="etl"
    

Label log yang tersedia untuk pemfilteran

Log Chronicle SOAR menyertakan label yang memberikan konteks tambahan untuk pemfilteran dan analisis.

Label playbook

Label berikut tersedia untuk log playbook:

  • playbook_definition: ID unik untuk definisi playbook
  • playbook_name: Nama playbook yang dapat dibaca manusia
  • block_name: Nama blok playbook yang sedang dieksekusi
  • block_definition: ID unik untuk definisi blok
  • case_id: ID kasus Chronicle SOAR
  • correlation_id: ID unik untuk melacak seluruh eksekusi playbook di seluruh layanan
  • integration_name: Nama integrasi yang digunakan
  • action_name: Nama tindakan yang sedang dijalankan

Label Python

Label berikut tersedia untuk log layanan Python:

Label Integrasi dan Konektor:

  • integration_name: Nama integrasi
  • integration_version: Versi integrasi
  • connector_name: Nama konektor
  • connector_instance: ID instance untuk konektor

Label pekerjaan:

  • integration_name: Nama integrasi
  • integration_version: Versi integrasi
  • job_name: Nama tugas terjadwal

Label tindakan:

  • integration_name: Nama integrasi
  • integration_version: Versi integrasi
  • integration_instance: ID instance untuk integrasi
  • correlation_id: ID unik untuk melacak eksekusi
  • action_name: Nama tindakan yang sedang dijalankan

Label ETL

Label berikut tersedia untuk log layanan ETL:

  • correlation_id: ID unik untuk melacak alur penyerapan pemberitahuan

Menggunakan correlation_id untuk pelacakan lengkap

Label correlation_id tersedia di log layanan Python dan playbook. Gunakan label ini untuk mengambil semua log terkait dari seluruh eksekusi playbook:

  1. Di konsol Google Cloud, buka Logging > Logs Explorer.
  2. Masukkan filter berikut:

    resource.labels.namespace_name="chronicle-soar"
    labels.correlation_id="<correlation-id-value>"
    

    Ganti <correlation-id-value> dengan ID korelasi sebenarnya dari entri log.

Filter ini menampilkan semua log dari layanan playbook dan Python untuk rekaman aktivitas eksekusi lengkap.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
module, screenSize, activityItem, modificationTimeUnixTimeInMs additional.fields Label gabungan yang dibuat dari setiap kolom jika ada
pengguna, operasi extensions.auth.type Disetel ke "AUTHTYPE_UNSPECIFIED" jika pengguna tidak kosong dan operasinya adalah "Login"
creationTimeUnixTimeInMs metadata.event_timestamp Diurai sebagai stempel waktu UNIX_MS
pengguna, operasi, alamat metadata.event_type Disetel ke "USER_LOGIN" jika pengguna tidak kosong dan operasi "Login"; "USER_RESOURCE_ACCESS" jika pengguna tidak kosong; "STATUS_UNCATEGORIZED" jika alamat kosong; jika tidak, "GENERIC_EVENT"
operasi metadata.product_event_type Nilai disalin secara langsung
id metadata.product_log_id Dikonversi ke string
browser network.http.parsed_user_agent Dikonversi menjadi agen pengguna yang diuraikan
browser network.http.user_agent Nilai disalin secara langsung
alamat principal.hostname Setel jika alamat tidak cocok dengan pola IP
alamat principal.ip IP yang diekstrak menggunakan pola grok
sumber principal.resource.resource_subtype Nilai disalin secara langsung
pengguna principal.user.userid Nilai disalin secara langsung
ContactEmails security_result.about.user.email_addresses Alamat email yang diekstrak menggunakan pola grok
ContactPhone security_result.about.user.phone_numbers Nilai disalin secara langsung
ContactName security_result.about.user.user_display_name Nilai disalin secara langsung
Nama security_result.about.user.userid Nilai disalin secara langsung
currentActivity, previousActivity security_result.detection_fields Label gabungan dari currentActivity dan previousActivity jika ada
userGuid target.user.product_object_id Nilai disalin secara langsung
metadata.product_name Tetapkan ke "CHRONICLE_SOAR_AUDIT"
metadata.vendor_name Tetapkan ke "CHRONICLE_SOAR_AUDIT"

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.