Mengumpulkan log Sysdig
Parser ini mengekstrak data peristiwa keamanan dari log JSON Sysdig, mengubah dan memetakan kolom log mentah ke format UDM Google Security Operations. Parser ini menangani berbagai kolom, termasuk metadata, informasi utama atau target, detail hasil keamanan, dan konteks terkait Kubernetes, yang memperkaya data untuk analisis dalam Google SecOps. Parser ini 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
Buka Google Cloud console > Credentials.
Klik Create credentials, lalu pilih API key.
Batasi akses kunci API ke Google Security Operations API.
Opsi 1
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka SIEM Settings > Feeds.
- Klik Add New Feed.
- Di halaman berikutnya, klik Configure a single feed.
- Di kolom Feed name, masukkan nama untuk feed; misalnya, Sysdig Logs.
- Pilih Webhook sebagai Source type.
- Pilih Sysdig sebagai Log type.
- Klik Next.
Opsional: Tentukan nilai untuk parameter input berikut:
- Split delimiter: pembatas yang digunakan untuk memisahkan baris log, seperti
\n.
- Split delimiter: pembatas yang digunakan untuk memisahkan baris log, seperti
Klik Next.
Tinjau konfigurasi feed di layar Finalize, lalu klik Submit.
Klik Generate Secret Key untuk membuat kunci rahasia guna mengautentikasi feed ini.
Salin dan simpan kunci rahasia. Anda tidak dapat melihat kunci rahasia ini lagi. Jika diperlukan, Anda dapat membuat ulang kunci rahasia baru, tetapi tindakan ini akan membuat kunci rahasia sebelumnya menjadi tidak berlaku.
Dari tab Details, salin URL endpoint feed dari kolom Endpoint Information. Anda harus menentukan URL endpoint ini di aplikasi klien.
Klik Done.
Menentukan URL endpoint
- Di aplikasi klien, tentukan URL endpoint HTTPS yang disediakan di feed webhook.
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 = SECRETRekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL.
Jika klien webhook tidak mendukung header kustom, Anda dapat menentukan kunci API dan kunci rahasia menggunakan parameter kueri dalam format berikut:
ENDPOINT_URL?key=API_KEY&secret=SECRETGanti 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
- Login ke Sysdig Secure dengan hak istimewa Admin.
- Buka Profile > Settings > Event Forwarding.
- Klik +Add Integration , lalu pilih Webhook dari menu drop-down.
Tentukan nilai untuk parameter input berikut:
- Nama Integrasi: Berikan nama deskriptif untuk webhook (misalnya, Google SecOps Webhook).
- Endpoint: Masukkan Webhook
<ENDPOINT_URL>, diikuti dengan<API_KEYdan<SECRET>. Data to Send: Pilih dari menu drop-down jenis data Sysdig yang akan diteruskan.
Uji integrasi, lalu alihkan Enabled untuk mengaktifkannya.
Klik Save.
Opsi 2
Meneruskan data langsung ke Google SecOps
- Login ke Sysdig Secure menggunakan kredensial administrator Anda.
- Buka Settings > Event Forwarding.
- Klik +Add Integration , lalu pilih Google Chronicle dari menu drop-down.
- 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 Anda Google Cloud . (Di Google SecOps, temukan ID ini di Settings > Profile).
- Namespace: Opsional: Gunakan sebagai tag untuk mengidentifikasi domain data yang sesuai untuk pengindeksan dan pengayaan.
- JSON Credentials: Upload kredensial JSON Google SecOps Anda.
- Region: Pilih region Anda, seperti AS, Eropa, atau Asia.
- Data to Send: Pilih jenis data Sysdig yang akan diteruskan dari menu drop-down.
- Uji integrasi, lalu alihkan Enabled untuk mengaktifkannya.
- Klik Save.
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 kunci 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 kunci 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 kunci 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 kunci 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 kunci 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 kunci 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 dibuat secara dinamis sebagai "ruletag_index". |
content.ruleType |
read_only_udm.additional.fields.value.string_value dengan kunci 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 kunci 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 kunci 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 tersebut akan 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 kunci 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 kunci 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 kunci 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 kunci 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 kunci 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 |
Ditetapkan ke "PROCESS_UNCATEGORIZED" secara default, 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. |
Log Perubahan
Lihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.