Mengumpulkan log HP ProCurve
Dokumen ini menjelaskan cara menyerap log switch HP ProCurve ke Google Security Operations menggunakan Bindplane. Kode parser pertama-tama mencoba menguraikan pesan log mentah sebagai JSON. Jika gagal, kolom akan diekstrak dari pesan menggunakan ekspresi reguler (pola grok
) berdasarkan format log HP ProCurve umum.
Sebelum memulai
Pastikan Anda memiliki 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 switch HP ProCurve
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: HP_PROCURVE 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 Switch HP ProCurve
- Login ke switch HP Procurve dengan SSH.
Verifikasi antarmuka switch menggunakan perintah berikut:
show ip int br
Aktifkan mode konfigurasi di switch menggunakan perintah berikut:
console# conf t
Konfigurasi switch untuk mengirim log menggunakan perintah berikut:
logging host <bindplae-server-ip> transport <udp/tcp> port <port-number> logging facility syslog logging trap informational logging buffer 65536 logging origin-id hostname logging source-interface <interface>
Ganti
<bindplae-server-ip>
dan<port-number>
dengan alamat IP Bindplane dan nomor port.Ganti
<udp/tcp>
dengan hanya memilih UDP atau TCP sebagai protokol komunikasi (bergantung pada konfigurasi agen Bindplane Anda).Ganti
<interface>
dengan ID antarmuka yang Anda terima sebelumnya dari switch (misalnya,Ethernet1/1
).Keluar dari mode konfigurasi dan simpan menggunakan perintah berikut:
console# exit console# wr
Tabel pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
AAAScheme | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah AAAScheme |
AAAType | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah AAAType |
ID Sasis | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom description jika kuncinya adalah Chassis ID |
Perintahnya adalah | read_only_udm.security_result.detection_fields.value | Teks setelah Command is di kolom commandInfo |
CommandSource | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah CommandSource |
Config-Method | read_only_udm.additional.fields.value.string_value | Jika kolom ada dalam log, kolom tersebut ditempatkan di kolom tambahan sebagai config_method |
ConfigDestination | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah ConfigDestination |
ConfigSource | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah ConfigSource |
Device-Name | read_only_udm.principal.hostname | Jika kolom ada di log, kolom tersebut dipetakan ke nama host utama dan nama host aset |
ID Acara | read_only_udm.additional.fields.value.string_value | Jika kolom ada dalam log, kolom tersebut ditempatkan di kolom tambahan sebagai event_id |
EventIndex | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah EventIndex |
IfIndex | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom description jika kuncinya adalah IfIndex |
IP: %{IP:IPAddr} | read_only_udm.target.ip, read_only_udm.target.asset.ip | Alamat IP diekstrak dari kolom desc dan dipetakan ke IP target dan IP aset target |
IPAddr | read_only_udm.target.ip, read_only_udm.target.asset.ip | Jika kolom ada di log, kolom tersebut dipetakan ke IP target dan IP aset target |
Jenis-Pemberitahuan | read_only_udm.additional.fields.value.string_value | Jika kolom ada dalam log, kolom tersebut ditempatkan di kolom tambahan sebagai notice_type |
ID Port | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom description jika kuncinya adalah Port ID |
Remote-IP-Address | read_only_udm.additional.fields.value.string_value | Jika kolom ada dalam log, kolom tersebut ditempatkan di kolom tambahan sebagai remote_ip_address |
Layanan | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah Service |
Tugas | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom descrip jika kuncinya adalah Task |
Pengguna | read_only_udm.principal.user.userid | Jika kolom ada di log, kolom tersebut dipetakan ke ID pengguna utama |
User-Name | read_only_udm.principal.user.userid | Jika kolom ada di log, kolom tersebut dipetakan ke ID pengguna utama |
NamaPengguna | read_only_udm.principal.user.userid | Jika kolom ada di log, kolom tersebut dipetakan ke ID pengguna utama |
UserService | read_only_udm.security_result.detection_fields.value | Nilai yang diekstrak dari kolom desc jika kuncinya adalah UserService |
collection_time.seconds | read_only_udm.metadata.event_timestamp.seconds | Bagian detik stempel waktu peristiwa |
data | Kolom ini berisi pesan log mentah dan diuraikan untuk mengekstrak kolom lainnya. Tidak dipetakan ke UDM. | |
menurun | read_only_udm.security_result.description | Deskripsi yang diekstrak dari pesan log |
descrip | Deskripsi diekstrak dari kolom desc , lalu diuraikan untuk mendapatkan pasangan nilai kunci. Tidak dipetakan ke UDM. |
|
deskripsi | read_only_udm.security_result.description | Jika kolom ada dalam log, kolom tersebut dipetakan ke deskripsi hasil keamanan |
deskripsi | read_only_udm.metadata.description | Jika kolom ada di log, kolom tersebut dipetakan ke deskripsi metadata |
event_id | read_only_udm.additional.fields.value.string_value | Jika kolom ada dalam log, kolom tersebut ditempatkan di kolom tambahan sebagai event_id |
eventId | read_only_udm.metadata.product_event_type | ID acara yang diekstrak dari pesan log |
hostname | read_only_udm.principal.hostname, read_only_udm.principal.asset.hostname | Nama host diekstrak dari pesan log dan dipetakan ke nama host utama dan nama host aset |
inter_ip | read_only_udm.additional.fields.value.string_value, read_only_udm.intermediary.ip | Jika kolom ada di log dan merupakan IP yang valid, kolom tersebut dipetakan ke IP perantara. Jika tidak, akan ditempatkan di kolom tambahan sebagai inter_ip |
notice_type | read_only_udm.additional.fields.value.string_value | Jika kolom ada dalam log, kolom tersebut ditempatkan di kolom tambahan sebagai notice_type |
pid | read_only_udm.principal.process.pid | Jika kolom ada dalam log, kolom tersebut dipetakan ke PID proses utama |
program | Informasi program diekstrak dari pesan log, lalu diuraikan lebih lanjut untuk mengekstrak modul, tingkat keparahan, dan tindakan. Tidak dipetakan ke UDM. | |
proto | read_only_udm.network.application_protocol, read_only_udm.additional.fields.value.string_value | Protokol diekstrak dari pesan log. Jika cocok dengan protokol yang dikenal, protokol tersebut dipetakan ke protokol aplikasi. Jika tidak, akan ditempatkan di kolom tambahan sebagai Application Protocol |
remote_ip_address | read_only_udm.principal.ip, read_only_udm.principal.asset.ip, read_only_udm.additional.fields.value.string_value | Jika kolom ada di log dan merupakan IP yang valid, kolom tersebut dipetakan ke IP utama dan IP aset utama. Jika tidak, akan ditempatkan di kolom tambahan sebagai remote_ip_address |
tingkat keseriusan, | read_only_udm.security_result.severity, read_only_udm.security_result.severity_details | Tingkat keparahan diekstrak dari kolom program setelah dibagi berdasarkan / . Kolom ini dipetakan ke tingkat keparahan UDM dan juga disimpan sebagai detail keparahan mentah |
src_ip | read_only_udm.principal.ip, read_only_udm.principal.asset.ip | IP sumber diekstrak dari pesan log dan dipetakan ke IP utama dan IP aset utama |
status | read_only_udm.additional.fields.value.string_value | Jika kolom ada dalam log, kolom tersebut ditempatkan di kolom tambahan sebagai status |
targetHostname | read_only_udm.target.hostname, read_only_udm.target.asset.ip | Jika kolom ada di log, kolom tersebut dipetakan ke nama host target dan IP aset target |
target_ip | read_only_udm.target.ip, read_only_udm.target.asset.ip | IP target diekstrak dari pesan log dan dipetakan ke IP target dan IP aset target |
timestamp | read_only_udm.metadata.event_timestamp.seconds | Stempel waktu yang diekstrak dari pesan log dan dikonversi menjadi stempel waktu peristiwa |
timestamp.seconds | read_only_udm.metadata.event_timestamp.seconds | Bagian detik stempel waktu peristiwa |
nama pengguna | read_only_udm.principal.user.userid | Jika kolom ada di log, kolom tersebut dipetakan ke ID pengguna utama |
read_only_udm.metadata.event_type | Ditentukan berdasarkan kombinasi kolom dan logika: - NETWORK_CONNECTION : jika has_principal dan has_target benar. - USER_LOGOUT : jika action adalah WEBOPT_LOGOUT , LOGOUT , atau SHELL_LOGOUT . - USER_LOGIN : jika action adalah LOGIN atau WEBOPT_LOGIN_SUC . - STATUS_UPDATE : jika action tidak kosong atau src_ip /hostname tidak kosong. - USER_UNCATEGORIZED : jika has_user benar. - GENERIC_EVENT : jika tidak ada kondisi ini yang terpenuhi. |
|
read_only_udm.metadata.product_name | Hardcode ke Procurve |
|
read_only_udm.metadata.vendor_name | Hardcode ke HP |
|
read_only_udm.extensions.auth.type | Disetel ke MACHINE jika event_type adalah USER_LOGOUT atau USER_LOGIN |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.