Mengumpulkan log Veeam
Dokumen ini menjelaskan cara menyerap log Veeam ke Google Security Operations menggunakan Bindplane. Parser mengekstrak kolom dari pesan syslog menggunakan pola grok, melakukan transformasi data seperti mengganti dan menggabungkan kolom, serta memetakan data yang diekstrak ke Model Data Terpadu (UDM) berdasarkan jenis peristiwa dan kolom yang tersedia. Selain itu, fungsi ini menangani kondisi error dan menetapkan tingkat keparahan yang sesuai.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru atau host Linux dengan
systemd
- Jika berjalan di belakang proxy, pastikan port firewall terbuka
- Akses istimewa ke Veeam
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.
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.yaml
sebagai 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: 'VEEAM' 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. - Perbarui
/path/to/ingestion-authentication-file.json
ke jalur tempat file autentikasi disimpan di bagian Dapatkan 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-agent
Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi Syslog untuk Veeam
- Login ke konsol Veeam Backup & Replication.
- Buka Menu > Options > SIEM Integrations.
- Di bagian Server Syslog, klik Tambahkan.
- Berikan detail konfigurasi berikut:
- Nama: Masukkan alamat IP dan nomor port agen Bindplane (misalnya,
192.168.1.1:514
). - Transportasi: Pilih UDP atau TCP, bergantung pada konfigurasi agen Bindplane Anda yang sebenarnya.
- Nama: Masukkan alamat IP dan nomor port agen Bindplane (misalnya,
- Klik Oke untuk menyimpan.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
application |
principal.application |
Dipetakan langsung dari kolom application yang diekstrak oleh pola grok. |
CredentialId |
principal.resource.attribute.labels.[] |
Dipetakan langsung dari kolom CredentialId yang diekstrak oleh filter kv. Label dengan kunci "CredentialId" dibuat. |
date_2 , time_2 , year |
metadata.event_timestamp |
Kolom date_2 , time_2 , dan year digabungkan dan diuraikan menggunakan filter date untuk membuat metadata.event_timestamp . |
date_2 , time_2 |
metadata.event_timestamp |
Kolom date_2 dan time_2 digabungkan dan diuraikan menggunakan filter date untuk membuat metadata.event_timestamp . |
deviceId |
principal.resource.product_object_id |
Dipetakan langsung dari kolom deviceId yang diekstrak oleh filter kv. |
description |
security_result.description |
Dipetakan langsung dari kolom description yang diekstrak oleh pola grok. |
error_code |
security_result.detection_fields.[] |
Dipetakan langsung dari kolom error_code yang diekstrak oleh pola grok. Label dengan kunci "error_code" dibuat. |
executing_feature |
principal.hostname , principal.asset.hostname |
Dipetakan langsung dari kolom executing_feature yang diekstrak oleh pola grok. |
host |
principal.hostname , principal.asset.hostname |
Dipetakan langsung dari kolom host yang diekstrak oleh pola grok. |
ManagementIP |
principal.ip , principal.asset.ip |
Dipetakan langsung dari kolom ManagementIP yang diekstrak oleh filter kv. |
pid |
principal.process.pid |
Dipetakan langsung dari kolom pid yang diekstrak oleh pola grok. |
previousSeverity |
security_result.severity_details |
Dipetakan langsung dari kolom previousSeverity yang diekstrak oleh pola grok. |
prod_event_type |
metadata.product_event_type |
Dipetakan langsung dari kolom prod_event_type yang diekstrak oleh pola grok. |
query |
security_result.detection_fields.[] |
Dipetakan langsung dari kolom query yang diekstrak oleh pola grok. Label dengan kunci "query" dibuat. |
reportingAddress |
principal.ip , principal.asset.ip |
Dipetakan langsung dari kolom reportingAddress yang diekstrak oleh pola grok. |
severity |
security_result.severity |
Dipetakan dari kolom severity . Nilai ditentukan oleh logika bersyarat berdasarkan kolom severity (ERROR, MAJOR/WARN, INFO dipetakan ke nilai tingkat keparahan UDM tertentu). |
src_ip |
principal.ip , principal.asset.ip |
Dipetakan langsung dari kolom src_ip yang diekstrak oleh pola grok. |
summary |
security_result.summary |
Dipetakan langsung dari kolom summary yang diekstrak oleh pola grok. |
target_ip |
target.ip , target.asset.ip |
Dipetakan langsung dari kolom target_ip yang diekstrak oleh pola grok. |
thread_id |
security_result.detection_fields.[] |
Dipetakan langsung dari kolom thread_id yang diekstrak oleh pola grok. Label dengan kunci "thread_id" dibuat. |
(T/A) | event_type |
Ditentukan oleh logika di parser. Jika principal dan target memiliki data MID, maka itu adalah NETWORK_UNCATEGORIZED . Jika hanya principal yang memiliki data MID, maka STATUS_UPDATE . Jika tidak, nilainya adalah GENERIC_EVENT . |
(T/A) | metadata.event_type |
Disalin dari kolom event_type yang dibuat secara internal. |
(T/A) | metadata.vendor_name |
Dikodekan secara permanen ke "VEEAM". |
(T/A) | metadata.product_name |
Hardcode ke "Veeam". |
(T/A) | event.timestamp |
Stempel waktu peristiwa diambil dari kolom collection_time Entri Log. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.