Mengumpulkan log Sysdig

Didukung di:

Parser ini mengekstrak data peristiwa keamanan dari log JSON Sysdig, mengubah, dan memetakan kolom log mentah ke format UDM Google Security Operations. Sistem ini menangani berbagai kolom, termasuk metadata, informasi target atau prinsipal, detail hasil keamanan, dan konteks terkait Kubernetes, yang memperkaya data untuk analisis dalam Google SecOps. Parser juga melakukan konversi jenis data, penanganan error, dan logika bersyarat berdasarkan nilai kolom untuk memastikan representasi UDM yang akurat dan komprehensif.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps.
  • Akses istimewa ke Sysdig Secure.

Membuat kunci API untuk feed webhook

  1. Buka konsolGoogle Cloud > Kredensial.

    Buka Kredensial

  2. Klik Create credentials, lalu pilih API key.

  3. Batasi akses kunci API ke Google Security Operations API.

Opsi 1

Menyiapkan feed

Ada dua titik entri berbeda untuk menyiapkan feed di platform Google SecOps:

  • Setelan SIEM > Feed
  • Hub Konten > Paket Konten

Menyiapkan feed dari Setelan SIEM > Feed

Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Feed name, masukkan nama untuk feed; misalnya, Sysdig Logs.
  5. Pilih Webhook sebagai Jenis sumber.
  6. Pilih Sysdig sebagai Jenis log.
  7. Klik Berikutnya.
  8. Opsional: Tentukan nilai untuk parameter input berikut:

    • Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti \n.
  9. Klik Berikutnya.

  10. Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.

  11. Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.

  12. Salin dan simpan kunci rahasia. Anda tidak dapat melihat kunci rahasia ini lagi. Jika perlu, Anda dapat membuat ulang kunci rahasia baru, tetapi tindakan ini akan membuat kunci rahasia sebelumnya tidak berlaku.

  13. Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda perlu menentukan URL endpoint ini di aplikasi klien Anda.

  14. Klik Selesai.

Menyiapkan feed dari Hub Konten

Tentukan nilai untuk kolom berikut:

  • Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti \n.

Opsi lanjutan

  • Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
  • Jenis Sumber: Metode yang digunakan untuk mengumpulkan log ke Google SecOps.
  • Namespace Aset: Namespace yang terkait dengan feed.
  • Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.

  • Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.

  • Salin dan simpan kunci rahasia. Anda tidak dapat melihat kunci rahasia ini lagi. Jika perlu, Anda dapat membuat ulang kunci rahasia baru, tetapi tindakan ini akan membuat kunci rahasia sebelumnya tidak berlaku.

  • Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda perlu menentukan URL endpoint ini di aplikasi klien Anda.

Tentukan URL endpoint

  1. Di aplikasi klien Anda, tentukan URL endpoint HTTPS yang disediakan di feed webhook.
  2. Aktifkan autentikasi dengan menentukan kunci API dan kunci rahasia sebagai bagian dari header kustom dalam format berikut:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Rekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL.

  3. Jika klien webhook Anda tidak mendukung header kustom, Anda dapat menentukan kunci API dan kunci rahasia menggunakan parameter kueri dalam format berikut:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Ganti kode berikut:

    • ENDPOINT_URL: URL endpoint feed.
    • API_KEY: kunci API untuk mengautentikasi ke Google SecOps.
    • SECRET: kunci rahasia yang Anda buat untuk mengautentikasi feed.

Mengonfigurasi Webhook di Sysdig

  1. Login ke Sysdig Secure dengan hak istimewa Admin.
  2. Buka Profil > Setelan > Penerusan Peristiwa.
  3. Klik +Tambahkan Integrasi, lalu pilih Webhook dari menu drop-down.
  4. Tentukan nilai untuk parameter input berikut:

    • Nama Integrasi: Berikan nama deskriptif untuk webhook (misalnya, Webhook SecOps Google).
    • Endpoint: Masukkan <ENDPOINT_URL> Webhook, diikuti dengan <API_KEY dan <SECRET>.
    • Data yang Akan Dikirim: Pilih dari menu drop-down jenis data Sysdig yang harus diteruskan.

    • Uji integrasi, lalu alihkan Aktifkan untuk mengaktifkannya.

    • Klik Simpan.

Opsi 2

Meneruskan data langsung ke Google SecOps

  1. Login ke Sysdig Secure menggunakan kredensial administrator Anda.
  2. Buka Setelan > Penerusan Peristiwa.
  3. Klik +Tambahkan Integrasi, lalu pilih Google Chronicle dari menu drop-down.
  4. Tentukan nilai untuk parameter input berikut:
    • Nama Integrasi: Berikan nama deskriptif untuk integrasi (misalnya, Integrasi Google SecOps).
    • ID Pelanggan: ID Pelanggan Google yang terkait dengan akun Google Cloud Anda. (Di Google SecOps, temukan opsi ini di Setelan > Profil).
    • Namespace: Opsional: Gunakan sebagai tag untuk mengidentifikasi domain data yang sesuai untuk pengindeksan dan pengayaan.
    • Kredensial JSON: Upload kredensial JSON Google SecOps Anda.
    • Region: Pilih region Anda, seperti AS, Eropa, atau Asia.
    • Data yang Akan Dikirim: Pilih jenis data Sysdig yang harus diteruskan dari menu drop-down.
    • Uji integrasi, lalu alihkan Aktifkan untuk mengaktifkannya.
    • Klik Simpan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
agentId read_only_udm.metadata.product_deployment_id Nilai agentId dari log mentah dipetakan langsung ke kolom UDM ini.
category read_only_udm.security_result.category_details Nilai category dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.container.id read_only_udm.target.asset.asset_id Nilai content.fields.container.id dari log mentah diawali dengan "container_id:" dan dipetakan ke kolom UDM ini. Digunakan jika containerId kosong.
content.fields.container.image.repository read_only_udm.target.file.full_path Nilai content.fields.container.image.repository dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.container.image.tag read_only_udm.metadata.ingestion_labels.value dengan key adalah tag Nilai content.fields.container.image.tag dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.evt.res read_only_udm.metadata.ingestion_labels.value dengan key adalah evt_res Nilai content.fields.evt.res dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.evt.type read_only_udm.metadata.event_type Nilai content.fields.evt.type dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.falco.rule read_only_udm.security_result.rule_name Nilai content.fields.falco.rule dari log mentah dipetakan langsung ke kolom UDM ini. Digunakan jika content.ruleName kosong.
content.fields.group.gid read_only_udm.target.group.product_object_id Nilai content.fields.group.gid dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.group.name read_only_udm.target.group.group_display_name Nilai content.fields.group.name dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.proc.cmdline read_only_udm.target.process.command_line Nilai content.fields.proc.cmdline dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.proc.pcmdline read_only_udm.target.process.parent_process.command_line Nilai content.fields.proc.pcmdline dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.proc.pid read_only_udm.target.process.pid Nilai content.fields.proc.pid dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.proc.ppid read_only_udm.target.process.parent_process.pid Nilai content.fields.proc.ppid dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.proc.sid read_only_udm.metadata.ingestion_labels.value dengan key adalah sid Nilai content.fields.proc.sid dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.user.loginname read_only_udm.principal.user.user_display_name Nilai content.fields.user.loginname dari log mentah dipetakan langsung ke kolom UDM ini.
content.fields.user.uid read_only_udm.principal.user.userid Nilai content.fields.user.uid dari log mentah dipetakan langsung ke kolom UDM ini.
content.output read_only_udm.additional.fields.value.string_value dengan key adalah content_output Nilai content.output dari log mentah dipetakan langsung ke kolom UDM ini.
content.policyId read_only_udm.security_result.rule_id Nilai content.policyId dari log mentah dipetakan langsung ke kolom UDM ini.
content.policyOrigin read_only_udm.additional.fields.value.string_value dengan key adalah content_policyOrigin Nilai content.policyOrigin dari log mentah dipetakan langsung ke kolom UDM ini.
content.policyVersion read_only_udm.additional.fields.value.string_value dengan key adalah content_policyVersion Nilai content.policyVersion dari log mentah dipetakan langsung ke kolom UDM ini.
content.ruleName read_only_udm.security_result.rule_name Nilai content.ruleName dari log mentah dipetakan langsung ke kolom UDM ini.
content.ruleTags read_only_udm.security_result.rule_labels Nilai dalam array content.ruleTags dari log mentah dipetakan ke kolom UDM ini, dengan kunci yang dihasilkan secara dinamis sebagai "ruletag_index".
content.ruleType read_only_udm.additional.fields.value.string_value dengan key adalah content_ruleType Nilai content.ruleType dari log mentah dipetakan langsung ke kolom UDM ini.
containerId read_only_udm.target.asset.asset_id Nilai containerId dari log mentah diawali dengan "container_id:" dan dipetakan ke kolom UDM ini.
description read_only_udm.metadata.description Nilai description dari log mentah dipetakan langsung ke kolom UDM ini.
id read_only_udm.metadata.product_log_id Nilai id dari log mentah dipetakan langsung ke kolom UDM ini.
labels.container.label.io.kubernetes.container.name read_only_udm.additional.fields.value.string_value dengan key adalah container_name Nilai labels.container.label.io.kubernetes.container.name dari log mentah dipetakan langsung ke kolom UDM ini.
labels.container.label.io.kubernetes.pod.name read_only_udm.additional.fields.value.string_value dengan key adalah pod_name Nilai labels.container.label.io.kubernetes.pod.name dari log mentah dipetakan langsung ke kolom UDM ini. Digunakan jika labels.kubernetes.pod.name kosong.
labels.container.label.io.kubernetes.pod.namespace read_only_udm.principal.namespace Nilai labels.container.label.io.kubernetes.pod.namespace dari log mentah dipetakan langsung ke kolom UDM ini. Digunakan jika labels.kubernetes.namespace.name kosong.
labels.aws.instanceId read_only_udm.target.resource.product_object_id Nilai labels.aws.instanceId dari log mentah dipetakan langsung ke kolom UDM ini.
labels.aws.region read_only_udm.target.resource.attribute.cloud.availability_zone Nilai labels.aws.region dari log mentah dipetakan langsung ke kolom UDM ini.
labels.host.hostName read_only_udm.principal.ip ATAU read_only_udm.principal.hostname Jika nilai berisi "ip", nilai tersebut akan diuraikan sebagai alamat IP dan dipetakan ke principal.ip. Jika tidak, nilai ini dipetakan ke principal.hostname.
labels.host.mac read_only_udm.principal.mac Nilai labels.host.mac dari log mentah dipetakan langsung ke kolom UDM ini. Digunakan jika machineId kosong.
labels.kubernetes.cluster.name read_only_udm.additional.fields.value.string_value dengan key adalah kubernetes_cluster_name Nilai labels.kubernetes.cluster.name dari log mentah dipetakan langsung ke kolom UDM ini.
labels.kubernetes.deployment.name read_only_udm.additional.fields.value.string_value dengan key adalah kubernetes_deployment_name Nilai labels.kubernetes.deployment.name dari log mentah dipetakan langsung ke kolom UDM ini.
labels.kubernetes.namespace.name read_only_udm.principal.namespace Nilai labels.kubernetes.namespace.name dari log mentah dipetakan langsung ke kolom UDM ini.
labels.kubernetes.node.name read_only_udm.additional.fields.value.string_value dengan key adalah kubernetes_node_name Nilai labels.kubernetes.node.name dari log mentah dipetakan langsung ke kolom UDM ini.
labels.kubernetes.pod.name read_only_udm.additional.fields.value.string_value dengan key adalah pod_name Nilai labels.kubernetes.pod.name dari log mentah dipetakan langsung ke kolom UDM ini.
labels.kubernetes.service.name read_only_udm.additional.fields.value.string_value dengan key adalah kubernetes_service_name Nilai labels.kubernetes.service.name dari log mentah dipetakan langsung ke kolom UDM ini.
machineId read_only_udm.principal.mac Nilai machineId dari log mentah dipetakan langsung ke kolom UDM ini.
name read_only_udm.security_result.summary Nilai name dari log mentah dipetakan langsung ke kolom UDM ini.
severity read_only_udm.security_result.severity Nilai severity dari log mentah dipetakan ke nilai string berdasarkan rentang berikut: <4 = TINGGI, >3 dan <6 = SEDANG, 6 = RENDAH, 7 = INFORMASI.
source read_only_udm.security_result.description Nilai source dari log mentah dipetakan langsung ke kolom UDM ini.
timestampRFC3339Nano read_only_udm.metadata.event_timestamp Nilai timestampRFC3339Nano dari log mentah diuraikan sebagai stempel waktu dan dipetakan ke kolom UDM ini.
type read_only_udm.metadata.product_event_type Nilai type dari log mentah dipetakan langsung ke kolom UDM ini.
(Logika Parser) read_only_udm.metadata.product_name Dikodekan secara permanen ke "SYSDIG".
(Logika Parser) read_only_udm.metadata.vendor_name Dikodekan secara permanen ke "SYSDIG".
(Logika Parser) read_only_udm.metadata.event_type Secara default disetel ke "PROCESS_UNCATEGORIZED", atau "GENERIC_EVENT" jika labels.host.hostName kosong.
(Logika Parser) read_only_udm.metadata.log_type Dikodekan secara permanen ke "SYSDIG".
(Logika Parser) read_only_udm.target.resource.resource_type Ditetapkan ke "CLOUD_PROJECT" jika labels.aws.instanceId ada.

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