Mengumpulkan log ESET EDR
Dokumen ini menjelaskan cara menyerap log ESET ke Google Security Operations menggunakan Bindplane. Kode parser Logstash pertama-tama mencoba mengekstrak kolom dari log EDR ESET dalam format SYSLOG atau JSON menggunakan serangkaian pola grok
. Bergantung pada kolom yang diekstrak dan formatnya, data akan diproses lebih lanjut menggunakan filter key-value (kv
) atau penguraian JSON untuk menyusun informasi ke dalam representasi Model Data Terpadu (UDM).
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
- Jika dijalankan di belakang proxy, port firewall terbuka
- Akses istimewa ke ESET Protect
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
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 ingestion_labels: log_type: 'ESET_EDR' 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 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 ESET PROTECT on-premise
- Login ke konsol web ESET Protect.
- Buka Lainnya > Setelan > Setelan Lanjutan > Server Syslog.
- Pilih tombol di samping Aktifkan Syslog.
- Berikan detail konfigurasi berikut:
- Host: Masukkan alamat IP agen Bindplane
- Port: Masukkan nomor port agen Bindplane (
514
untuk UDP) - Format: Pilih Syslog
- Transportasi: Pilih UDP
- Keberagaman log aktivitas: Pilih Informasi
- Tombol Ekspor log ke Syslog: Pilih Aktifkan
- Format log yang diekspor: Pilih JSON
- Klik Simpan.
Mengonfigurasi Syslog untuk ESET PROTECT Cloud
- Login ke konsol web ESET Protect.
- Buka Lainnya > Setelan > Server Syslog.
- Pilih tombol di samping Aktifkan Syslog.
- Berikan detail konfigurasi berikut:
- Format payload: Pilih JSON
- Format amplop: Pilih Syslog
- Level Log Minimum: Pilih Informasi
- Jenis peristiwa yang akan dicatat: Pilih jenis peristiwa Semua
- IP Tujuan: Masukkan alamat IP agen Bindplane
- Port: Masukkan nomor port agen Bindplane (
514
untuk UDP)
- Klik Simpan.
Tabel pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
tindakan | event1.idm.read_only_udm.security_result.action | Tetapkan secara bersyarat ke BLOCK jika nilainya adalah Blocked . |
actionTaken | event2.idm.read_only_udm.metadata.event_type | Tetapkan secara bersyarat ke SCAN_PROCESS jika nilainya adalah Cleaned by deleting . |
actionTaken | event1.idm.read_only_udm.security_result.action_details | Dipetakan langsung dari kolom actionTaken . |
actionTaken | event2.idm.read_only_udm.security_result.action_details | Dipetakan langsung dari kolom actionTaken . |
accountName | event2.idm.read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom accountName . Kunci disetel ke accountName . |
aplikasi | event3.idm.read_only_udm.principal.application | Dipetakan langsung dari kolom app . |
keadaan | event2.idm.read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom circumstances . Kunci disetel ke circumstances . |
Computer_name | event3.idm.read_only_udm.principal.hostname | Dipetakan langsung dari kolom Computer_name . |
Computer_name | event3.idm.read_only_udm.principal.asset.hostname | Dipetakan langsung dari kolom Computer_name . |
date_time | ||
Detection_name | event3.idm.read_only_udm.security_result.threat_name | Dipetakan langsung dari kolom Detection_name . |
Detectiontype | event3.idm.read_only_udm.security_result.category_details | Dipetakan langsung dari kolom Detectiontype . |
dst | event2.idm.read_only_udm.target.ip | Dipetakan langsung dari kolom dst . |
dst | event2.idm.read_only_udm.target.asset.ip | Dipetakan langsung dari kolom dst . |
dstPort | event2.idm.read_only_udm.target.port | Dipetakan langsung dari kolom dstPort setelah mengonversinya menjadi bilangan bulat. |
event | event1.idm.read_only_udm.metadata.description | Dipetakan langsung dari kolom event . |
event_type | event1.idm.read_only_udm.metadata.product_event_type | Dipetakan langsung dari kolom event_type . |
event_type | event1.idm.read_only_udm.metadata.event_type | Tetapkan secara bersyarat ke NETWORK_CONNECTION jika nilainya adalah FirewallAggregated_Event . |
hash | event1.idm.read_only_udm.target.file.sha1 | Dipetakan langsung dari kolom hash setelah dikonversi menjadi huruf kecil. |
hostname | event1.idm.read_only_udm.target.hostname | Dipetakan langsung dari kolom hostname . |
hostname | event1.idm.read_only_udm.target.asset.hostname | Dipetakan langsung dari kolom hostname . |
hostname | event.alert.devices.hostname | Dipetakan langsung dari kolom hostname . |
ipv4 | event1.idm.read_only_udm.principal.ip | Dipetakan langsung dari kolom ipv4 . Kolom ini pertama kali disimpan di kolom sementara udm_ip . |
ipv4 | event1.idm.read_only_udm.principal.asset.ip | Dipetakan langsung dari kolom ipv4 . Kolom ini pertama kali disimpan di kolom sementara udm_ip . |
ipv4 | event.alert.devices.ip_addresses | Dipetakan langsung dari kolom ipv4 setelah dikonversi menjadi alamat IP. |
Logged_user | event3.idm.read_only_udm.principal.user.userid | Dipetakan langsung dari kolom Logged_user . |
objectUri | event1.idm.read_only_udm.target.file.full_path | Dipetakan langsung dari kolom objectUri . |
objectUri | event2.idm.read_only_udm.target.file.full_path | Dipetakan langsung dari kolom objectUri . |
processName | event2.idm.read_only_udm.target.process.file.full_path | Dipetakan langsung dari kolom processName . |
processName | event1.idm.read_only_udm.principal.process.file.full_path | Dipetakan langsung dari kolom processName . |
process_id | event3.idm.read_only_udm.principal.process.pid | Dipetakan langsung dari kolom process_id . |
process_id | event2.idm.read_only_udm.target.process.pid | Dipetakan langsung dari kolom process_id . |
protokol | event1.idm.read_only_udm.network.ip_protocol | Dipetakan langsung dari kolom protocol . |
proto | event2.idm.read_only_udm.network.ip_protocol | Dipetakan langsung dari kolom proto . |
hasil | event2.idm.read_only_udm.security_result.action | Tetapkan secara bersyarat ke ALLOW jika nilainya adalah Success . |
Scanner | event3.idm.read_only_udm.security_result.description | Dipetakan langsung dari kolom Scanner . |
tingkat keseriusan, | event1.idm.read_only_udm.security_result.severity | Dipetakan dari kolom severity berdasarkan kondisi berikut: - INFO , Informational , DEBUG , info : INFORMATIONAL - ERROR , error : ERROR - WARNING , Warning : LOW |
source_address | event1.idm.read_only_udm.principal.ip | Dipetakan langsung dari kolom source_address . |
source_address | event1.idm.read_only_udm.principal.asset.ip | Dipetakan langsung dari kolom source_address . |
source_port | event1.idm.read_only_udm.principal.port | Dipetakan langsung dari kolom source_port setelah mengonversinya menjadi bilangan bulat. |
source_uuid | event1.idm.read_only_udm.metadata.product_log_id | Dipetakan langsung dari kolom source_uuid . |
src | event2.idm.read_only_udm.principal.ip | Dipetakan langsung dari kolom src . |
src | event2.idm.read_only_udm.principal.asset.ip | Dipetakan langsung dari kolom src . |
srcPort | event2.idm.read_only_udm.principal.port | Dipetakan langsung dari kolom srcPort setelah mengonversinya menjadi bilangan bulat. |
target_address | event1.idm.read_only_udm.target.ip | Dipetakan langsung dari kolom target_address . |
target_address | event1.idm.read_only_udm.target.asset.ip | Dipetakan langsung dari kolom target_address . |
target_port | event1.idm.read_only_udm.target.port | Dipetakan langsung dari kolom target_port setelah mengonversinya menjadi bilangan bulat. |
threatName | event2.idm.read_only_udm.security_result.threat_name | Dipetakan langsung dari kolom threatName . |
threatName | event.alert.alert_short_name | Dipetakan langsung dari kolom threatName . |
Time_of_occurrence | event3.idm.read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom Time_of_occurrence . Kunci disetel ke Time_of_occurrence . |
jenis | event2.idm.read_only_udm.security_result.category_details | Dipetakan langsung dari kolom type . |
jenis | event2.idm.read_only_udm.metadata.event_type | Disetel secara bersyarat ke GENERIC_EVENT jika tidak ada jenis acara spesifik lainnya yang cocok. |
user_id | event2.idm.read_only_udm.principal.user.userid | Dipetakan langsung dari kolom user_id . |
event1.idm.read_only_udm.metadata.event_type | Disetel secara bersyarat ke FILE_UNCATEGORIZED jika nilai event_type adalah Threat_Event . |
|
event1.idm.read_only_udm.metadata.log_type | Tetapkan ke ESET_EDR . |
|
event1.idm.read_only_udm.metadata.product_name | Disetel secara bersyarat ke ESET jika nilai event_type adalah FirewallAggregated_Event . |
|
event2.idm.read_only_udm.metadata.log_type | Tetapkan ke ESET_EDR . |
|
event2.idm.read_only_udm.metadata.product_name | Tetapkan ke EDR . |
|
event2.idm.read_only_udm.metadata.vendor_name | Tetapkan ke ESET . |
|
event3.idm.read_only_udm.metadata.event_type | Disetel secara kondisional berdasarkan aturan berikut: - USER_UNCATEGORIZED jika principal_user_present adalah true . - STATUS_UPDATE jika principal_machine_id_present adalah true . - GENERIC_EVENT jika tidak. |
|
event3.idm.read_only_udm.metadata.log_type | Tetapkan ke ESET_EDR . |
|
event3.idm.read_only_udm.metadata.product_name | Tetapkan ke EDR . |
|
event3.idm.read_only_udm.metadata.vendor_name | Tetapkan ke ESET . |
|
event.alert.is_significant | Ditetapkan ke true , lalu dikonversi menjadi boolean. |
|
event3.idm.read_only_udm.security_result.description | Ditetapkan secara bersyarat ke nilai kv_data jika Scanner kosong. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.