Mengumpulkan log BOTsink Attivo Networks
Dokumen ini menjelaskan cara menyerap log BOTsink Attivo Networks ke Google Security Operations menggunakan Bindplane. Pengurai pertama-tama mencoba mengurai pesan log masuk sebagai JSON. Jika gagal, ia akan menggunakan serangkaian pola Grok untuk mengekstrak kolom dari pesan berformat Common Event Format (CEF), menangani berbagai format dan potensi error. Terakhir, kolom yang diekstrak dipetakan ke skema Model Data Terpadu (UDM), sehingga memperkaya data dengan konteks tambahan dan menstandardisasi output.
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 Attivo Networks
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: '/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: 'ATTIVO' 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 di BOTsink Attivo Networks
- Login ke UI web Attiva Networks Anda.
- Buka Administrasi > Pengelolaan > Syslog.
- Klik Tambahkan untuk membuat profil Syslog baru.
- Berikan nama deskriptif untuk profil.
- Di Penerusan Peristiwa, pilih Aktifkan.
- Berikan konfigurasi Standar BOTsink:
- Sangat Rendah: Pilih Informasional.
- Rendah: Pilih Peringatan.
- Media: Pilih Pemberitahuan.
- Tinggi: Pilih Kritis.
- Sangat Tinggi: Pilih Darurat.
- Untuk Message Format: Pilih CEF.
- Pilih Tambahkan Koneksi Baru di bagian profil.
- Berikan detail konfigurasi berikut:
- Nama Server: Masukkan nama deskriptif yang memudahkan Anda mengidentifikasi Google SecOps.
- Nama Profil: Pilih profil syslog CEF yang Anda buat sebelumnya.
- Alamat IP: Masukkan alamat IP agen Bindplane.
- Port: Masukkan nomor port agen Bindplane (misalnya, masukkan
514
untuk UDP). - Protocol: Pilih UDP.
- Klik Uji Koneksi dan verifikasi bahwa Anda menerima data pengujian di agen Bindplane dan Google SecOps.
- Klik Oke.
Tabel pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
alertID | read_only_udm.metadata.product_log_id | Nilai diambil dari kolom alertID . |
kucing | read_only_udm.security_result.action_details | Nilai diambil dari kolom cat . |
CEFDeviceProduct | read_only_udm.metadata.product_name | Nilai diambil dari kolom CEFDeviceProduct . |
CEFDeviceVendor | read_only_udm.metadata.vendor_name | Nilai diambil dari kolom CEFDeviceVendor . |
CEFDeviceVersion | read_only_udm.metadata.product_version | Nilai diambil dari kolom CEFDeviceVersion . |
CEFName | Digunakan untuk mengekstrak kolom operation , result , module , dan descrip . |
|
CEFSeverity | read_only_udm.security_result.severity | Dipetakan dari kolom CEFSeverity berdasarkan aturan berikut:- error atau warning : HIGH - (?i)critical : CRITICAL - (?i)notice atau (?i)MEDIUM : MEDIUM - information , info , Very-Low , atau Low : LOW |
CEFSignatureID | read_only_udm.security_result.rule_id | Nilai diambil dari kolom CEFSignatureID . |
cef_version | read_only_udm.additional.fields.value.string_value | Nilai diambil dari kolom cef_version . |
read_only_udm.additional.fields.key | Nilai statis: CEFVersion |
|
descrip | read_only_udm.metadata.description | Nilai diambil dari kolom descrip . |
dest_domain | read_only_udm.target.domain.name | Nilai diambil dari kolom dest_domain . |
dhost | read_only_udm.target.hostname | Nilai diambil dari kolom dhost jika service adalah NETBIOS . |
dIPDomain | read_only_udm.target.domain.name | Nilai diambil dari kolom dIPDomain jika dest_domain kosong. |
dst | read_only_udm.target.ip | Nilai diambil dari kolom dst . |
dst_os | read_only_udm.target.asset.platform_software.platform_version | Nilai diambil dari kolom dst_os . |
dpt | read_only_udm.target.port | Nilai diambil dari kolom dpt dan dikonversi menjadi bilangan bulat. |
dvc | read_only_udm.principal.hostname, read_only_udm.target.ip, read_only_udm.intermediary.hostname | Logika bergantung pada nilai kolom dvc , src , dan sip . Kolom ini dapat dipetakan ke nama host utama, IP target, atau nama host perantara berdasarkan ketersediaan dan format kolom ini. |
intf | read_only_udm.additional.fields.value.string_value | Nilai diambil dari kolom intf dan dikonversi menjadi string. |
read_only_udm.additional.fields.key | Nilai statis: intf |
|
mitreTacticName | read_only_udm.security_result.rule_name | Nilai diambil dari kolom mitreTacticName . |
mitreTechniqueId | read_only_udm.security_result.detection_fields.value | Nilai diambil dari kolom mitreTechniqueId . |
read_only_udm.security_result.detection_fields.key | Nilai statis: Technique name |
|
mitreTechniqueName | read_only_udm.security_result.detection_fields.value | Nilai diambil dari kolom mitreTechniqueName . |
read_only_udm.security_result.detection_fields.key | Nilai statis: Technique name |
|
modul | read_only_udm.additional.fields.value.string_value | Nilai diambil dari kolom module . |
read_only_udm.additional.fields.key | Nilai statis: module |
|
msg | read_only_udm.metadata.description | Nilai diambil dari kolom msg setelah mengekstrak kolom protocol . |
operasi | read_only_udm.additional.fields.value.string_value | Nilai diambil dari kolom operation . |
read_only_udm.additional.fields.key | Nilai statis: operation |
|
protokol | read_only_udm.network.ip_protocol | Nilai diambil dari kolom protocol jika nilainya TCP atau UDP . |
hasil | read_only_udm.security_result.action | Dipetakan dari kolom result berdasarkan aturan berikut:- (?i)SUCCESS atau (?i)ALLOW : ALLOW - CHALLENGE : CHALLENGE - FAILURE , DENY , SKIPPED , atau RATE_LIMIT : BLOCK |
rt | read_only_udm.metadata.event_timestamp | Nilai diambil dari kolom rt dan diuraikan sebagai stempel waktu UNIX dalam milidetik. |
shost | read_only_udm.principal.hostname | Nilai diambil dari kolom shost . |
sip | read_only_udm.principal.hostname, read_only_udm.principal.ip | Logika bergantung pada nilai kolom dvc dan sip . Kolom ini dapat dipetakan ke nama host atau IP utama berdasarkan ketersediaan dan format kolom ini. |
smac | read_only_udm.principal.mac | Nilai diambil dari kolom smac . |
sumber | read_only_udm.principal.hostname | Nilai diambil dari kolom source . |
source_domain | read_only_udm.principal.domain.name | Nilai diambil dari kolom source_domain . |
src | read_only_udm.principal.ip | Nilai diambil dari kolom src . |
subscriberName | read_only_udm.additional.fields.value.string_value | Nilai diambil dari kolom subscriberName . |
read_only_udm.additional.fields.key | Nilai statis: Subscriber Name |
|
suser | read_only_udm.principal.user.userid, read_only_udm.principal.user.user_display_name | Nilai diambil dari kolom suser setelah mengekstrak nama pengguna. |
nilai minimum | read_only_udm.additional.fields.value.string_value | Nilai diambil dari kolom threshold . |
read_only_udm.additional.fields.key | Nilai statis: arp-scan-threshold |
|
usrname | read_only_udm.principal.user.email_addresses | Nilai diambil dari kolom usrname jika tidak kosong atau N/A . |
VLAN | read_only_udm.principal.labels.value | Nilai diambil dari kolom vlan . |
read_only_udm.principal.labels.key | Nilai statis: vlan |
|
read_only_udm.metadata.event_type | Ditentukan berdasarkan nilai kolom src , smac , shost , dst , protocol , dvc , dan service . Nilainya dapat berupa salah satu dari berikut: SCAN_NETWORK , NETWORK_CONNECTION , NETWORK_UNCATEGORIZED , STATUS_UPDATE , atau GENERIC_EVENT . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.