Mengumpulkan log Lacework Cloud Security
Ringkasan
Parser ini mengekstrak kolom dari log JSON Lacework Cloud Security, lalu mengubahnya menjadi format UDM. Proses ini memetakan kolom log mentah ke kolom UDM, menangani berbagai jenis data, dan memperkaya peristiwa dengan konteks tambahan dari tag, yang pada akhirnya mengklasifikasikan jenis peristiwa berdasarkan keberadaan informasi akun utama dan target.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google Security Operations.
- Akses istimewa ke FortiCNAPP Lacework.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Feed name, masukkan nama untuk feed (misalnya, Lacework Logs).
- Pilih Webhook sebagai Jenis sumber.
- Pilih Lacework sebagai Jenis log.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti
\n
.
- Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.
- 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.
- Klik Selesai.
Membuat kunci API untuk feed webhook
Buka konsolGoogle Cloud > Kredensial.
Klik Create credentials, lalu pilih API key.
Membatasi akses kunci API ke Chronicle API.
Tentukan URL endpoint
- Di aplikasi klien Anda, 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 = SECRET
Rekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL.
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 Lacework untuk Google SecOps
- Login ke Konsol Lacework FortiCNAPP dengan hak istimewa administratif.
- Buka Setelan > Notifikasi > Saluran pemberitahuan.
- Klik + Tambahkan baru.
- Pilih Webhook.
- Klik Berikutnya.
- Tentukan nama unik untuk channel (misalnya, Google SecOps).
- URL Webhook: masukkan
<ENDPOINT_URL>
, diikuti dengan<API_KEY>
dan<SECRET>
. - Klik Simpan.
- Pilih Aturan pemberitahuan dan konfigurasi detail perutean pemberitahuan yang diperlukan.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
AGENT_VERSION |
metadata.product_version |
Dipetakan langsung dari kolom AGENT_VERSION . |
CREATED_TIME |
metadata.event_timestamp |
Dipetakan langsung dari kolom CREATED_TIME , dikonversi menjadi stempel waktu. |
FILEDATA_HASH |
target.file.sha256 |
Dipetakan langsung dari kolom FILEDATA_HASH . |
FILE_PATH |
target.file.full_path |
Dipetakan langsung dari kolom FILE_PATH . |
IP_ADDR |
principal.ip |
Dipetakan langsung dari kolom IP_ADDR . |
OS |
target.platform |
Dipetakan dari kolom OS . Logic mengonversi berbagai string OS (Linux, Windows, Mac) menjadi nilai enum UDM (LINUX, WINDOWS, MAC). Defaultnya adalah UNKNOWN_PLATFORM jika tidak ditemukan kecocokan. |
STATUS |
additional.fields[].key:"STATUS", value.string_value |
Dipetakan langsung dari kolom STATUS sebagai kolom tambahan. |
TAGS.Account |
metadata.product_deployment_id |
Dipetakan langsung dari kolom TAGS.Account . |
TAGS.AmiId |
additional.fields[].key:"AmiId", value.string_value |
Dipetakan langsung dari kolom TAGS.AmiId sebagai kolom tambahan. |
TAGS.ExternalIp |
target.ip |
Dipetakan langsung dari kolom TAGS.ExternalIp . |
TAGS.Hostname |
principal.hostname |
Dipetakan langsung dari kolom TAGS.Hostname . |
TAGS.InstanceId |
target.asset_id |
Dipetakan langsung dari kolom TAGS.InstanceId , dengan awalan "Device Instance Id: ". |
TAGS.LwTokenShort |
additional.fields[].key:"LwTokenShort", value.string_value |
Dipetakan langsung dari kolom TAGS.LwTokenShort sebagai kolom tambahan. |
TAGS.MID |
additional.fields[].key:"MID", value.string_value |
Dipetakan langsung dari kolom MID sebagai kolom tambahan. |
TAGS.MODE |
additional.fields[].key:"MODE", value.string_value |
Dipetakan langsung dari kolom MODE sebagai kolom tambahan. |
TAGS.Name |
additional.fields[].key:"Name", value.string_value |
Dipetakan langsung dari kolom TAGS.Name sebagai kolom tambahan. |
TAGS.QSConfigName-vfzg0 |
additional.fields[].key:"QSConfigName", value.string_value |
Dipetakan langsung dari kolom TAGS.QSConfigName-vfzg0 sebagai kolom tambahan. |
TAGS.ResourceType |
target.resource.resource_subtype |
Dipetakan langsung dari kolom TAGS.ResourceType . |
TAGS.SubnetId |
target.resource.attribute.labels[].key:"Subnet Id", value |
Dipetakan langsung dari kolom TAGS.SubnetId sebagai label dalam target.resource.attribute. |
TAGS.VmInstanceType |
target.resource.attribute.labels[].key:"VmInstanceType", value |
Dipetakan langsung dari kolom TAGS.VmInstanceType sebagai label dalam target.resource.attribute. |
TAGS.VmProvider |
target.resource.attribute.labels[].key:"VmProvider", value |
Dipetakan langsung dari kolom TAGS.VmProvider sebagai label dalam target.resource.attribute. |
TAGS.VpcId |
target.resource.product_object_id |
Dipetakan langsung dari kolom TAGS.VpcId . |
TAGS.Zone |
target.cloud.availability_zone |
Dipetakan langsung dari kolom TAGS.Zone . |
TAGS.alpha.eksctl.io/nodegroup-name |
additional.fields[].key:"eksctl_nodegroup_name", value.string_value |
Dipetakan langsung dari kolom TAGS.alpha.eksctl.io/nodegroup-name sebagai kolom tambahan. |
TAGS.alpha.eksctl.io/nodegroup-type |
additional.fields[].key:"eksctl_nodegroup_type", value.string_value |
Dipetakan langsung dari kolom TAGS.alpha.eksctl.io/nodegroup-type sebagai kolom tambahan. |
TAGS.arch |
principal.platform_version |
Dipetakan langsung dari kolom TAGS.arch . |
TAGS.aws:autoscaling:groupName |
additional.fields[].key:"autoscaling_groupName", value.string_value |
Dipetakan langsung dari kolom TAGS.aws:autoscaling:groupName sebagai kolom tambahan. |
TAGS.aws:ec2:fleet-id |
additional.fields[].key:"ec2_fleetid", value.string_value |
Dipetakan langsung dari kolom TAGS.aws:ec2:fleet-id sebagai kolom tambahan. |
TAGS.aws:ec2launchtemplate:id |
additional.fields[].key:"ec2launchtemplate_id", value.string_value |
Dipetakan langsung dari kolom TAGS.aws:ec2launchtemplate:id sebagai kolom tambahan. |
TAGS.aws:ec2launchtemplate:version |
additional.fields[].key:"ec2launchtemplate_ver", value.string_value |
Dipetakan langsung dari kolom TAGS.aws:ec2launchtemplate:version sebagai kolom tambahan. |
TAGS.aws:eks:cluster-name |
additional.fields[].key:"eks_cluster_name", value.string_value |
Dipetakan langsung dari kolom TAGS.aws:eks:cluster-name sebagai kolom tambahan. |
TAGS.enableCrowdStrike |
additional.fields[].key:"enableCrowdStrike", value.string_value |
Dipetakan langsung dari kolom TAGS.enableCrowdStrike sebagai kolom tambahan. |
TAGS.falconx.io/application |
additional.fields[].key:"io/application", value.string_value |
Dipetakan langsung dari kolom TAGS.falconx.io/application sebagai kolom tambahan. |
TAGS.falconx.io/environment |
additional.fields[].key:"io/environment", value.string_value |
Dipetakan langsung dari kolom TAGS.falconx.io/environment sebagai kolom tambahan. |
TAGS.falconx.io/managedBy |
additional.fields[].key:"io/managedBy", value.string_value |
Dipetakan langsung dari kolom TAGS.falconx.io/managedBy sebagai kolom tambahan. |
TAGS.falconx.io/project |
additional.fields[].key:"io/project", value.string_value |
Dipetakan langsung dari kolom TAGS.falconx.io/project sebagai kolom tambahan. |
TAGS.falconx.io/proxy-type |
additional.fields[].key:"io/proxy_type", value.string_value |
Dipetakan langsung dari kolom TAGS.falconx.io/proxy-type sebagai kolom tambahan. |
TAGS.falconx.io/service |
additional.fields[].key:"io/service", value.string_value |
Dipetakan langsung dari kolom TAGS.falconx.io/service sebagai kolom tambahan. |
TAGS.falconx.io/team |
additional.fields[].key:"io/team", value.string_value |
Dipetakan langsung dari kolom TAGS.falconx.io/team sebagai kolom tambahan. |
TAGS.k8s.io/cluster-autoscaler/enabled |
additional.fields[].key:"k8s_autoscaler_enabled", value.string_value |
Dipetakan langsung dari kolom TAGS.k8s.io/cluster-autoscaler/enabled sebagai kolom tambahan. |
TAGS.k8s.io/cluster-autoscaler/falcon |
additional.fields[].key:"k8s_cluster_autoscaler", value.string_value |
Dipetakan langsung dari kolom TAGS.k8s.io/cluster-autoscaler/falcon sebagai kolom tambahan. |
TAGS.kubernetes.io/cluster/falcon |
additional.fields[].key:"kubernetes_io_cluster", value.string_value |
Dipetakan langsung dari kolom TAGS.kubernetes.io/cluster/falcon sebagai kolom tambahan. |
TAGS.lw_KubernetesCluster |
additional.fields[].key:"lw_KubernetesCluster", value.string_value |
Dipetakan langsung dari kolom TAGS.lw_KubernetesCluster sebagai kolom tambahan. |
LAST_UPDATE |
additional.fields[].key:"LAST_UPDATE", value.string_value |
Dipetakan langsung dari kolom LAST_UPDATE sebagai kolom tambahan. Dikodekan secara permanen menjadi "LACEWORK". Dikodekan secara permanen ke "Lacework Cloud Security". |
metadata.event_type |
metadata.event_type |
Ditentukan oleh logika. Disetel ke "NETWORK_CONNECTION" jika principal.ip dan target.ip ada, "STATUS_UPDATE" jika hanya principal.ip yang ada, dan "GENERIC_EVENT" jika tidak ada. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.