Mengumpulkan log Sophos AV
Dokumen ini menjelaskan cara mengumpulkan log Sophos AV menggunakan BindPlane. Parser mengubah log JSON menjadi model data terpadu (UDM). Fitur ini mengekstrak kolom dari struktur JSON bertingkat, memetakannya ke kolom UDM, dan melakukan kategorisasi peristiwa berdasarkan kolom jenis, yang memperkaya data dengan detail dan tindakan spesifik untuk berbagai jenis peristiwa Sophos AV.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
- Komputer Windows atau Linux tambahan, yang dapat menjalankan Python secara terus-menerus
- Jika berjalan di belakang proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses istimewa ke konsol Admin Sophos Central
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.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: 'SOPHOS_AV' 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 akses Sophos Central API
- Login ke Sophos Central Admin.
- Pilih Setelan Global > Pengelolaan Token API.
- Klik Tambahkan Token untuk membuat token baru.
- Masukkan nama token, lalu klik Simpan. Ringkasan Token API untuk token yang diberikan akan ditampilkan.
- Di bagian API Token Summary, klik Copy untuk menyalin URL dan header akses API.
Menginstal Python di komputer tambahan
- Buka browser web, lalu buka situs Python.
- Klik Download Python untuk sistem operasi Anda.
Instal Python:
- Di Windows:
- Jalankan penginstal.
- Centang kotak yang bertuliskan Add Python to PATH.
- Klik Instal Sekarang.
Di Mac:
- Python mungkin sudah diinstal, jika belum, Anda dapat menginstal versi terbaru menggunakan terminal.
Buka Terminal dan ketik perintah berikut:
python --version
- Di Windows:
Download skrip integrasi Sophos
- Buka halaman GitHub untuk Sophos Central SIEM Integration GitHub Repository.
- Klik tombol Code berwarna hijau > Download ZIP.
- Ekstrak file ZIP.
Menyiapkan konfigurasi skrip
- Buka file
config.ini
di direktori tempat Anda mengekstrak arsip ZIP. - Edit file konfigurasi:
- Token API: Masukkan Kunci API yang disalin sebelumnya dari Sophos Central.
- Detail Server Syslog: Masukkan detail server syslog Anda.
- Host: Masukkan alamat IP Agen BindPlane.
- Port: Masukkan nomor port Agen BindPlane.
- Protocol: Masukkan UDP (Anda juga dapat menggunakan TCP atau TLS, bergantung pada penyiapan Anda).
- Simpan file dengan mengklik tombol Save.
Jalankan skrip:
Buka folder skrip.
Di Windows:
- Tekan tombol Windows, lalu ketik
cmd
. - Klik Command Prompt.
- Buka folder skrip:
cd C:/Users/YourName/Downloads/Sophos-Central-SIEM-Integration
- Tekan tombol Windows, lalu ketik
Di macOS:
- Buka Applications > Utilities.
- Buka Terminal.
- Buka folder skrip:
cd /Users/YourName/Downloads/Sophos-Central-SIEM-Integration
Jalankan skrip:
Ketik perintah berikut untuk memulai skrip:
python siem.py
Mengotomatiskan skrip agar berjalan terus-menerus di Windows (menggunakan Task Scheduler):
- Buka Task Scheduler dengan mengetik Task Scheduler di menu Start.
- Klik Buat Tugas.
- Di tab General:
- Beri nama tugas Anda; (misalnya,
Sophos AV Log Export
).
- Beri nama tugas Anda; (misalnya,
- Di tab Triggers:
- Klik Baru dan tetapkan tugas untuk dijalankan Setiap hari atau Saat startup (bergantung pada preferensi Anda).
- Di tab Tindakan:
- Klik Baru, lalu pilih Mulai program.
- Jelajahi file yang dapat dieksekusi
python.exe
(biasanya ditemukan diC:/Python/XX/python.exe
). - Di kolom Add arguments, ketik jalur ke skrip; (misalnya,
C:/Users/YourName/Downloads/Sophos-Central-SIEM-Integrationsiem.py
).
- Klik OK untuk menyimpan tugas.
Mengotomatiskan skrip agar berjalan terus-menerus di Mac (menggunakan Cron Jobs):
- Buka Terminal.
- Ketik
crontab -e
dan tekan Enter. Tambahkan baris baru di akhir file:
* * * * * /usr/bin/python /Users/YourName/Downloads/Sophos-Central-SIEM-Integration/siem.py
Klik Simpan, lalu keluar dari editor.
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
customer_id | target.resource.id | Pemetaan langsung |
data.customer_id | target.resource.id | Pemetaan langsung |
data.dhost | principal.hostname | Pemetaan langsung |
data.end | timestamp | Pemetaan langsung |
data.endpoint_id | principal.resource.id | Pemetaan langsung |
data.group | security_result.category_details | Pemetaan langsung |
data.id | principal.resource.id | Pemetaan langsung |
data.location | principal.hostname | Pemetaan langsung |
data.name | metadata.description | Pemetaan langsung |
data.rt | timestamp | Pemetaan langsung |
data.severity | security_result.severity | Pemetaan langsung |
data.source | principal.user.user_display_name | Pemetaan langsung |
data.source_info.ip | principal.ip | Pemetaan langsung |
data.suser | principal.user.userid | Pemetaan langsung |
data.threat | security_result.rule_name | Pemetaan langsung saat data.group adalah "POLICY" |
data.type | metadata.product_event_type | Pemetaan langsung |
data.user_id | principal.user.userid | Pemetaan langsung |
data.when | timestamp | Pemetaan langsung |
dhost | principal.hostname | Pemetaan langsung |
selesai | timestamp | Pemetaan langsung |
endpoint_id | principal.resource.id | Pemetaan langsung |
grup | security_result.category_details | Pemetaan langsung |
id | principal.resource.id | Pemetaan langsung |
location | principal.hostname | Pemetaan langsung |
nama | metadata.description | Pemetaan langsung |
rt | timestamp | Pemetaan langsung |
tingkat keseriusan, | security_result.severity | Pemetaan langsung |
sumber | principal.user.user_display_name | Pemetaan langsung |
source_info.ip | principal.ip | Pemetaan langsung |
suser | principal.user.userid | Pemetaan langsung |
jenis | metadata.product_event_type | Pemetaan langsung |
user_id | principal.user.userid | Pemetaan langsung |
kapan | timestamp | Pemetaan langsung |
- | is_alert | Kolom is_alert disetel ke benar (true) untuk peristiwa dengan "severity" "medium" atau "high", atau saat kolom "type" menunjukkan peristiwa yang memerlukan pemberitahuan seperti "Event::Endpoint::UpdateRebootRequired". |
- | is_significant | Kolom is_significant disetel ke benar (true) untuk peristiwa dengan "severity" "medium" atau "high". |
- | metadata.description | Kolom deskripsi diisi dengan nilai kolom "name" dari log mentah. |
- | metadata.event_timestamp | Kolom event_timestamp diisi dengan nilai kolom "end", "rt", atau "when" dari log mentah. |
- | metadata.event_type | Kolom event_type berasal dari kolom "type" dalam log mentah, yang memetakan jenis peristiwa Sophos tertentu ke jenis peristiwa UDM Chronicle. |
- | metadata.log_type | Kolom log_type disetel ke "SOPHOS_AV" untuk semua peristiwa. |
- | metadata.product_event_type | Kolom product_event_type diisi dengan nilai kolom "type" dari log mentah. |
- | metadata.product_name | Kolom product_name ditetapkan ke "Sophos Anti-Virus" untuk semua peristiwa. |
- | metadata.vendor_name | Kolom vendor_name ditetapkan ke "Sophos" untuk semua peristiwa. |
- | network.direction | Kolom arah disetel ke "KELUAR" untuk semua peristiwa "NETWORK_CONNECTION". |
- | network.ip_protocol | Kolom ip_protocol disetel ke "TCP" untuk peristiwa "NETWORK_CONNECTION" jika ada kolom "target.url". |
- | principal.hostname | Kolom nama host diisi dengan nilai kolom "dhost" atau "location" dari log mentah. |
- | principal.ip | Kolom ip diisi dengan nilai kolom "source_info.ip" dari log mentah. |
- | principal.resource.id | Kolom id diisi dengan nilai kolom "id" atau "endpoint_id" dari log mentah. |
- | principal.user.user_display_name | Kolom user_display_name diisi dengan nilai kolom "suser" atau "source" dari log mentah. |
- | principal.user.userid | Kolom userid diisi dengan nilai kolom "suser", "user_id", atau "data.suser" dari log mentah. |
- | security_result.action | Kolom tindakan berasal dari kolom "data.name" dalam log mentah, yang memetakan tindakan Sophos tertentu ke tindakan UDM Chronicle. |
- | security_result.category_details | Kolom category_details diisi dengan nilai kolom "group" dari log mentah. |
- | security_result.rule_name | Kolom rule_name diekstrak dari kolom "data.name" dalam log mentah, khususnya mencari pola seperti "Policy non-compliance: [rule_name]" atau "Rule names: [rule_name]". |
- | security_result.severity | Kolom severity diisi dengan nilai kolom "severity" dari log mentah, yang dikonversi ke tingkat keparahan UDM Chronicle yang sesuai. |
- | security_result.summary | Kolom ringkasan diisi dengan nilai kolom "name" dari log mentah saat jenis peristiwanya adalah "GENERIC_EVENT" atau "STATUS_HEARTBEAT". |
- | target.application | Kolom aplikasi diisi dengan nilai kolom "data.name" dari log mentah saat jenis peristiwa adalah "NETWORK_CONNECTION" dan deskripsi menyebutkan bahwa aplikasi diblokir. |
- | target.asset_id | Kolom asset_id diisi dengan nilai kolom "data.endpoint_id" dari log mentah saat jenis peristiwa adalah "NETWORK_CONNECTION" dan deskripsi menyebutkan ID aset. |
- | target.file.full_path | Kolom full_path diekstrak dari kolom "data.name" dalam log mentah, khususnya mencari pola seperti "Source path: [full_path]". |
- | target.file.size | Kolom ukuran diekstrak dari kolom "data.name" dalam log mentah, khususnya mencari pola seperti "Ukuran file: [ukuran]". |
- | target.hostname | Kolom nama host diisi dengan nilai kolom "data.dhost" dari log mentah saat jenis peristiwa adalah "NETWORK_CONNECTION" dan deskripsi menyebutkan nama host target. |
- | target.process.file.full_path | Kolom full_path diekstrak dari kolom "data.name" dalam log mentah, khususnya mencari pola seperti "Controlled application [action]: [full_path]". |
- | target.resource.id | Kolom id diisi dengan nilai kolom "customer_id" dari log mentah. |
- | target.resource.name | Kolom nama diisi dengan nilai tertentu berdasarkan jenis peristiwa. Untuk "SETTING_CREATION" dan "SETTING_MODIFICATION", masing-masing ditetapkan ke "Pendaftaran Perangkat" dan "Perlindungan real-time". Untuk "SCAN_UNCATEGORIZED", kolom ini diisi dengan nilai kolom "data.name" dari log mentah. |
- | target.resource.type | Kolom jenis diisi dengan nilai tertentu berdasarkan jenis peristiwa. Untuk "SETTING_CREATION" dan "SETTING_MODIFICATION", ditetapkan ke "SETTING". Untuk "SCAN_UNCATEGORIZED", opsi ini ditetapkan ke "Pindai". Untuk "SCAN_NETWORK", setel ke "Perangkat". |
- | target.url | Kolom URL diekstrak dari kolom "data.name" dalam log mentah, khususnya mencari pola seperti "'[url]' diblokir". |
- | target.user.userid | Kolom userid diisi dengan nilai kolom "data.user_id" dari log mentah saat jenis peristiwanya adalah "USER_CREATION". |
- | timestamp | Kolom stempel waktu diisi dengan nilai kolom "end", "rt", atau "when" dari log mentah. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.