Mengumpulkan log Vectra Detect
Dokumen ini menjelaskan cara menyerap log Vectra Detect ke Google Security Operations menggunakan Bindplane. Parser mengubah log dari format SYSLOG, JSON, dan CEF menjadi model data terpadu (UDM). Pertama-tama, data dinormalisasi dengan menghapus karakter dan kolom yang tidak perlu, lalu menggunakan pola grok untuk mengekstrak informasi dari berbagai format log, dan terakhir memetakan kolom yang diekstrak ke atribut UDM yang sesuai.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Host Windows 2016 atau yang lebih baru atau Linux dengan
systemd - Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen BindPlane
- Akses istimewa ke UI Vectra
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal agen Bindplane
Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.
Penginstalan Windows
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
Jalankan perintah berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Referensi penginstalan tambahan
- Untuk opsi penginstalan tambahan, lihat panduan penginstalan ini.
Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps
Akses file konfigurasi:
- Cari file
config.yaml. Biasanya, file ini berada di direktori/etc/bindplane-agent/di Linux atau di direktori penginstalan di Windows. - Buka file menggunakan editor teks (misalnya,
nano,vi, atau Notepad).
- Cari file
Edit file
config.yamlsebagai berikut:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'VECTRA_DETECT' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
- Ganti
<CUSTOMER_ID>dengan ID pelanggan yang sebenarnya. - Ganti
/path/to/ingestion-authentication-file.jsondengan jalur tempat file autentikasi disimpan di bagian Mendapatkan file autentikasi penyerapan Google SecOps.
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart bindplane-agentUntuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi Vectra Detect untuk mengirim Syslog
- Login ke UI Vectra Detect.
- Buka Setelan > Notifikasi.
- Buka bagian Syslog.
- Klik Edit untuk menambahkan atau mengedit konfigurasi Syslog.
- Tujuan: Masukkan alamat IP agen Bindplane.
- Port: Masukkan nomor port agen Bindplane.
- Protocol: Pilih UDP atau TCP berdasarkan konfigurasi agen Bindplane Anda yang sebenarnya.
- Format: Pilih JSON.
- Jenis Log: Pilih log yang ingin Anda kirim ke Google SecOps.
- Centang kotak Sertakan Detail yang Ditingkatkan.
- Di sisi kanan, Anda dapat melihat tiga tombol pengalih untuk konfigurasi tambahan:
- Sertakan Deteksi yang telah ditriase: Jika dinonaktifkan, pesan syslog tidak akan dikirim saat deteksi yang telah ditriase dibuat atau diperbarui.
- Sertakan deteksi dalam kategori Info: Jika dinonaktifkan, pesan syslog tidak akan dikirim saat deteksi dalam kategori info dibuat atau diperbarui.
- Sertakan penurunan skor host/akun: Jika dinonaktifkan, pesan syslog tidak akan dikirim saat skor ancaman dan kepastian menurun dan/atau tetap sama.
- Klik Simpan.
- Klik Uji untuk menguji konfigurasi.
Tabel Pemetaan UDM
| Kolom log | Pemetaan UDM | Logika |
|---|---|---|
| tindakan | read_only_udm.security_result.action | Nilai diambil dari kolom "action" jika [result] adalah "true" atau "failure" di Peristiwa Audit. |
| category | read_only_udm.security_result.category_details | Nilai diambil dari kolom "category". |
| kepastian | read_only_udm.security_result.confidence | Jika [certainty] antara 0 dan 35, tetapkan ke "LOW_CONFIDENCE". Jika [kepastian] antara 35 dan 70, tetapkan ke "MEDIUM_CONFIDENCE". Jika [certainty] antara 70 dan 100, tetapkan ke "HIGH_CONFIDENCE". |
| dd_bytes_rcvd | read_only_udm.network.received_bytes | Nilai diambil dari kolom "dd_bytes_rcvd". |
| dd_bytes_sent | read_only_udm.network.sent_bytes | Nilai diambil dari kolom "dd_bytes_sent". |
| dd_dst_dns | read_only_udm.target.hostname | Nilai diambil dari kolom "dd_dst_dns". |
| dd_dst_dns | read_only_udm.target.asset.hostname | Nilai diambil dari kolom "dd_dst_dns". |
| dd_dst_ip | read_only_udm.target.asset.ip | Nilai diambil dari kolom "dd_dst_ip". |
| dd_dst_ip | read_only_udm.target.ip | Nilai diambil dari kolom "dd_dst_ip". |
| dd_dst_port | read_only_udm.target.port | Nilai diambil dari kolom "dd_dst_port". |
| detection_id | read_only_udm.metadata.product_log_id | Nilai diambil dari kolom "detection_id". |
| detection_profile.name | read_only_udm.security_result.detection_fields | Kuncinya adalah "detection_profile name", nilainya diambil dari kolom "detection_profile.name". |
| detection_profile.scoringDetections | read_only_udm.security_result.detection_fields | Kuncinya adalah "detectionprofile scoringDetections{index}", nilainya diambil dari setiap elemen dalam array "detection_profile.scoringDetections". |
| detection_profile.vname | read_only_udm.security_result.detection_fields | Kuncinya adalah "detection_profile vname", nilainya diambil dari kolom "detection_profile.vname". |
| dest_ip | read_only_udm.target.asset.ip | Nilai diambil dari kolom "dest_ip" di Peristiwa Kampanye. |
| dest_ip | read_only_udm.target.ip | Nilai diambil dari kolom "dest_ip" di Peristiwa Kampanye. |
| dest_name | read_only_udm.target.asset.hostname | Nilai diambil dari kolom "dest_name" di Peristiwa Kampanye. |
| dest_name | read_only_udm.target.hostname | Nilai diambil dari kolom "dest_name" di Peristiwa Kampanye. |
| d_type | read_only_udm.additional.fields | Kuncinya adalah "d_type", nilai diambil dari kolom "d_type". |
| d_type_vname | read_only_udm.additional.fields | Kuncinya adalah "d_type_vname", nilainya diambil dari kolom "d_type_vname". |
| dvchost | read_only_udm.observer.hostname | Nilai diambil dari kolom "dvchost". |
| dvchost | read_only_udm.principal.asset.hostname | Nilai diambil dari kolom "dvchost" jika [host_name] kosong di Peristiwa HOST. |
| dvchost | read_only_udm.principal.hostname | Nilai diambil dari kolom "dvchost" jika [host_name] kosong di Peristiwa HOST. |
| headend_addr | read_only_udm.observer.ip | Nilai diambil dari kolom "headend_addr". |
| headend_addr | read_only_udm.principal.asset.ip | Nilai diambil dari kolom "headend_addr" jika [host_ip] kosong di Peristiwa Deteksi. |
| headend_addr | read_only_udm.principal.ip | Nilai diambil dari kolom "headend_addr" jika [host_ip] kosong di Peristiwa Deteksi. |
| href | read_only_udm.target.url | Nilai diambil dari kolom "href". |
| host_id | read_only_udm.target.asset_id | Nilainya adalah "VectraAI.DETECT:{host_id}" dalam Peristiwa HOST. |
| host_ip | read_only_udm.principal.asset.ip | Nilai diambil dari kolom "host_ip" di Peristiwa HOST dan Deteksi. |
| host_ip | read_only_udm.principal.ip | Nilai diambil dari kolom "host_ip" di Peristiwa HOST dan Deteksi. |
| host_name | read_only_udm.principal.asset.hostname | Nilai diambil dari kolom "host_name". |
| host_name | read_only_udm.principal.hostname | Nilai diambil dari kolom "host_name". |
| msg_data | read_only_udm.security_result.summary | Nilai diambil dari kolom "msg_data" di Peristiwa Audit dan Kesehatan. |
| kuadran | read_only_udm.security_result.priority_details | Nilai diambil dari kolom "kuadran". |
| hasil | read_only_udm.security_result.action | Jika [result] adalah "true", tetapkan ke "ALLOW". Jika [result] adalah "failure", tetapkan ke "BLOCK" di Peristiwa Audit. |
| hasil | read_only_udm.security_result.detection_fields | Kuncinya adalah "result", nilai diambil dari kolom "result" di Audit and Health Events. |
| peran | read_only_udm.target.user.attribute.roles.name | Nilai diambil dari kolom "role" di Peristiwa Audit. |
| tingkat keseriusan, | read_only_udm.security_result.severity | Jika [ancaman] antara 0 dan 20, tetapkan ke "INFORMASI". Jika [ancaman] antara 20 dan 40, tetapkan ke "RENDAH". Jika [ancaman] berada di antara 40 dan 60, tetapkan ke "SEDANG". Jika [ancaman] berada di antara 60 dan 80, tetapkan ke "TINGGI". Jika [ancaman] berada di antara 80 dan 100, tetapkan ke "KRITIS". |
| tingkat keseriusan, | read_only_udm.security_result.severity_details | Nilai diambil dari kolom "severity". |
| source_ip | read_only_udm.principal.asset.ip | Nilai diambil dari kolom "source_ip" di Peristiwa Audit dan Kesehatan. |
| source_ip | read_only_udm.principal.ip | Nilai diambil dari kolom "source_ip" di Peristiwa Audit dan Kesehatan. |
| src | read_only_udm.principal.asset.ip | Nilai diambil dari kolom "src" di Peristiwa CEF. |
| src | read_only_udm.principal.ip | Nilai diambil dari kolom "src" di Peristiwa CEF. |
| src_ip | read_only_udm.principal.asset.ip | Nilai diambil dari kolom "src_ip" di Peristiwa Kampanye. |
| src_ip | read_only_udm.principal.ip | Nilai diambil dari kolom "src_ip" di Peristiwa Kampanye. |
| src_name | read_only_udm.principal.asset.hostname | Nilai diambil dari kolom "src_name" jika [host_name] dan [dvchost] kosong. |
| src_name | read_only_udm.principal.hostname | Nilai diambil dari kolom "src_name" jika [host_name] dan [dvchost] kosong. |
| ancaman | read_only_udm.security_result.severity | Jika [ancaman] antara 0 dan 20, tetapkan ke "INFORMASI". Jika [ancaman] antara 20 dan 40, tetapkan ke "RENDAH". Jika [ancaman] berada di antara 40 dan 60, tetapkan ke "SEDANG". Jika [ancaman] berada di antara 60 dan 80, tetapkan ke "TINGGI". Jika [ancaman] berada di antara 80 dan 100, tetapkan ke "KRITIS". |
| diurutkan berdasarkan prioritas | read_only_udm.additional.fields | Kuncinya adalah "triaged", nilainya diambil dari kolom "triaged". |
| jenis | read_only_udm.metadata.product_event_type | Nilai diambil dari kolom "type" di Peristiwa Kesehatan. |
| pengguna | read_only_udm.target.user.userid | Nilai diambil dari kolom "pengguna" di Peristiwa Audit. |
| vectra_timestamp | read_only_udm.metadata.event_timestamp | Nilai diambil dari kolom "vectra_timestamp". |
| versi | read_only_udm.metadata.product_version | Nilai diambil dari kolom "versi". |
| read_only_udm.metadata.event_type | Disetel ke "USER_LOGIN" jika [msg_data] berisi "log in" dan [user] tidak kosong di Peristiwa Audit. | |
| read_only_udm.metadata.event_type | Disetel ke "SCAN_HOST" di Peristiwa HOST. | |
| read_only_udm.metadata.event_type | Ditetapkan ke "NETWORK_HTTP" jika [host_ip] tidak kosong, [principal_present] benar, dan [target_present] benar dalam Peristiwa Deteksi. | |
| read_only_udm.metadata.event_type | Disetel ke "STATUS_UPDATE" jika [principal_present] benar (true) di Peristiwa Deteksi. | |
| read_only_udm.metadata.event_type | Disetel ke "NETWORK_CONNECTION" jika [principal_present] benar dan [target_present] benar dalam Peristiwa Deteksi. | |
| read_only_udm.metadata.event_type | Ditetapkan ke "NETWORK_CONNECTION" jika [event_type] adalah "GENERIC_EVENT", [principal_present] adalah benar (true), dan [target_present] adalah benar (true). | |
| read_only_udm.metadata.event_type | Disetel ke "STATUS_UPDATE" jika [event_type] adalah "GENERIC_EVENT" dan [principal_present] adalah benar (true). | |
| read_only_udm.metadata.log_type | Tetapkan ke "VECTRA_DETECT". | |
| read_only_udm.metadata.vendor_name | Tetapkan ke "Vectra.AI". | |
| read_only_udm.metadata.product_name | Disetel ke "DETECT". | |
| read_only_udm.network.application_protocol | Tetapkan ke "HTTP" jika [dd_dst_port] adalah 80. | |
| read_only_udm.network.application_protocol | Disetel ke "HTTPS" jika [dd_dst_port] adalah 443. | |
| read_only_udm.network.application_protocol | Disetel ke "UNKNOWN_APPLICATION_PROTOCOL" jika [principal_present] adalah benar (true) dan [target_present] adalah benar (true) dalam Peristiwa Deteksi. | |
| read_only_udm.network.http.method | Tetapkan ke "METHOD_OTHER". | |
| read_only_udm.extensions.auth.type | Disetel ke "AUTHTYPE_UNSPECIFIED" jika [msg_data] berisi "log in" di Peristiwa Audit. | |
| is_alert | Disetel ke "true" jika [triaged] adalah benar. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.