Mengumpulkan log Symantec VIP Enterprise Gateway
Dokumen ini menjelaskan cara menyerap log Symantec VIP Enterprise Gateway ke Google Security Operations menggunakan Bindplane. Kode parser pertama-tama mencoba memproses pesan log input sebagai objek JSON. Jika gagal, format syslog akan diasumsikan dan menggunakan ekspresi reguler (pola grok) untuk mengekstrak kolom yang relevan seperti stempel waktu, alamat IP, nama pengguna, dan deskripsi peristiwa. Terakhir, metode ini memetakan informasi yang diekstrak ke kolom Unified Data Model (UDM) untuk representasi peristiwa keamanan yang standar.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru atau host Linux dengan systemd
- Jika berjalan di belakang proxy, port firewall terbuka
- Akses dengan hak istimewa ke Symantec VIP Enterprise Gateway
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer. 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
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 mengirim ke Google SecOps
- Akses file konfigurasi:
- Temukan 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).
- Temukan 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: '/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 ingestion_labels: log_type: 'SYMANTEC_VIP' raw_log_field: body 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 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-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 di Symantec VIP Enterprise Gateway
- Login ke UI web Symantec VIP Gateway.
- Buka Logs > Syslog Configuration.
- Jika mengonfigurasi Syslog untuk pertama kalinya, Anda akan diminta untuk mengonfigurasi setelan Syslog. Pilih Ya.
- Jika Anda telah mengonfigurasi Syslog, klik Edit di bagian bawah halaman.
- Berikan detail konfigurasi berikut:
- Syslog Facility: Pilih LOG_LOCAL0.
- Host Syslog: Masukkan alamat IP agen Bindplane.
- Port Syslog: Masukkan nomor port agen Bindplane (misalnya,
514
untuk UDP).
- Klik Simpan.
- Buka Setelan > Setelan Konsol.
- Berikan detail konfigurasi berikut:
- Tingkat Logging: Pilih Info.
- Enable Syslog: Pilih Yes.
- Klik Submit.
- Buka Setelan > Setelan Pemeriksaan Kesehatan.
- Pilih Yes untuk mengaktifkan Layanan Pemeriksaan Kondisi.
- Berikan detail konfigurasi berikut:
- Tingkat Logging: Pilih Info.
- Enable Syslog: Pilih Yes.
- Klik Submit.
- Buka User Store > LDAP Directory Synchronization.
- Edit detail konfigurasi berikut:
- Tingkat Log: Pilih Info.
- Enable Syslog: Pilih Yes.
- Klik Submit.
Tabel pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
application | read_only_udm.principal.application | Nilai diambil dari kolom application yang diekstrak oleh filter json. |
perintah | read_only_udm.target.process.command_line | Nilai diambil dari kolom command yang diekstrak oleh pola grok. |
credentialType | Kolom ini tidak dipetakan langsung ke UDM. Ini digunakan untuk mendapatkan nilai read_only_udm.extensions.auth.mechanism. | |
data | Kolom ini tidak dipetakan langsung ke UDM. Kolom ini diuraikan untuk mengekstrak kolom lain. | |
data2 | Kolom ini tidak dipetakan langsung ke UDM. Kolom ini diuraikan untuk mengekstrak kolom lain. | |
datetime | read_only_udm.metadata.event_timestamp.seconds read_only_udm.metadata.event_timestamp.nanos |
Detik dan nanodetik sejak epoch diekstrak dari kolom datetime . |
menurun | read_only_udm.metadata.description | Nilai diambil dari kolom desc yang diekstrak oleh filter json. |
deskripsi | read_only_udm.security_result.description | Nilai diambil dari kolom description yang diekstrak oleh filter json. |
filename | read_only_udm.target.process.file.full_path | Nilai diambil dari kolom filename yang diekstrak oleh pola grok. |
hostname | read_only_udm.principal.hostname | Nilai diambil dari kolom hostname yang diekstrak oleh filter json. |
host_name | read_only_udm.intermediary.hostname | Nilai diambil dari kolom host_name yang diekstrak oleh filter json. |
log_level | Kolom ini tidak dipetakan langsung ke UDM. Nilai ini digunakan untuk mendapatkan nilai read_only_udm.security_result.severity. | |
log_type | read_only_udm.metadata.product_event_type | Nilai diambil dari kolom log_type yang diekstrak oleh filter json. |
msg | Kolom ini tidak dipetakan langsung ke UDM. Kolom ini diuraikan untuk mengekstrak kolom lain. | |
operasi | read_only_udm.security_result.summary | Nilai diambil dari kolom operation yang diekstrak oleh pola grok. |
processid | read_only_udm.target.process.pid | Nilai diambil dari kolom processid yang diekstrak oleh pola grok. |
produk | read_only_udm.metadata.product_name | Nilai diambil dari kolom product yang diekstrak oleh filter json. |
alasan | read_only_udm.metadata.description | Nilai diambil dari kolom reason yang diekstrak oleh pola grok. |
request_id | read_only_udm.target.resource.id | Nilai diambil dari kolom request_id yang diekstrak oleh pola grok. |
src_ip | read_only_udm.principal.ip | Nilai diambil dari kolom src_ip yang diekstrak oleh pola grok. |
status | read_only_udm.metadata.description | Nilai diambil dari kolom status yang diekstrak oleh pola grok. |
ringkasan | read_only_udm.security_result.summary | Nilai diambil dari kolom summary yang diekstrak oleh filter json. |
timestamp.nanos | read_only_udm.metadata.event_timestamp.nanos | Nanodetik dari stempel waktu log asli. |
timestamp.seconds | read_only_udm.metadata.event_timestamp.seconds | Detik dari stempel waktu log asli. |
waktu | Kolom ini tidak dipetakan langsung ke UDM. Nilai ini digunakan untuk mendapatkan nilai read_only_udm.metadata.event_timestamp.seconds dan read_only_udm.metadata.event_timestamp.nanos. | |
pengguna | read_only_udm.target.user.userid | Nilai yang diambil dari kolom user yang diekstrak oleh filter json atau pola grok. |
vendor | read_only_udm.metadata.vendor_name | Nilai diambil dari kolom vendor yang diekstrak oleh filter json. |
read_only_udm.extensions.auth.mechanism | Ditentukan oleh kolom credentialType . Jika credentialType adalah SMS_OTP atau STANDARD_OTP , OTP akan digunakan. Jika credentialType cocok dengan ekspresi reguler PASSWORD , USERNAME_PASSWORD akan digunakan. |
|
read_only_udm.extensions.auth.type | Jika kolom reason cocok dengan ekspresi reguler LDAP , SSO akan digunakan. Jika tidak, AUTHTYPE_UNSPECIFIED akan digunakan. |
|
read_only_udm.metadata.event_type | Ditentukan oleh keberadaan kolom tertentu. Jika user atau processid tidak kosong, USER_LOGIN akan digunakan. Jika user kosong dan src_ip tidak kosong atau 0.0.0.0 , STATUS_UPDATE akan digunakan. Jika tidak, GENERIC_EVENT akan digunakan. |
|
read_only_udm.metadata.log_type | Di-hardcode ke SYMANTEC_VIP . |
|
read_only_udm.security_result.action | Ditentukan oleh kolom status . Jika status adalah Authentication Success , GRANTED , Authentication Completed , After Services Authenticate call , atau CHALLENGED , ALLOW akan digunakan. Jika status adalah DENIED , Acces-Reject , Unknown Error , Service Unavailable , atau FAILED , BLOCK akan digunakan. Jika status adalah PUSH request sent for user atau Trying to fetch attribute , QUARANTINE akan digunakan. |
|
read_only_udm.security_result.severity | Ditentukan oleh kolom log_level . Jika log_level adalah DEBUG , INFO , atau AUDIT , INFORMATIONAL akan digunakan. Jika log_level adalah ERROR , ERROR akan digunakan. Jika log_level adalah WARNING , MEDIUM akan digunakan. |
Perubahan
2023-03-03
Peningkatan:
- Memetakan
userid
ketarget.user.userid
untuk log yang belum diuraikan. - Memetakan
event_type
keUSER_LOGIN
untuk log yang berisiuserid
, jikaprincipal.hostname
ada, maka memetakanevent_type
keSTATUS_UPDATE
, jika tidak, memetakan keGENERIC_EVENT
. - Mengurai log yang dihapus pada awalnya.
2022-08-03
Perbaikan bug:
- Menambahkan pola grok untuk menangani log yang tidak diuraikan yang memiliki log_type
remove_credentials
.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.