Mengumpulkan log HP ProCurve
Dokumen ini menjelaskan cara menyerap log tombol HP ProCurve ke Google Security Operations menggunakan Bindplane. Kode parser pertama-tama mencoba menguraikan pesan log mentah sebagai JSON. Jika gagal, ekspresi reguler (pola grok
) akan digunakan untuk mengekstrak kolom dari pesan 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 berjalan di belakang proxy, port firewall terbuka
- Akses dengan hak istimewa ke tombol HP ProCurve
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: 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 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 Switch HP ProCurve
- Login ke switch HP Procurve dengan SSH.
Verifikasi antarmuka tombol menggunakan perintah berikut:
show ip int br
Aktifkan mode konfigurasi di tombol menggunakan perintah berikut:
console# conf t
Konfigurasikan tombol 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 tombol (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 diekstrak dari kolom descrip jika kuncinya adalah AAAScheme |
AAAType | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom descrip jika kuncinya adalah AAAType |
ID Chassis | read_only_udm.security_result.detection_fields.value | Nilai 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 diekstrak dari kolom descrip jika kuncinya adalah CommandSource |
Config-Method | read_only_udm.additional.fields.value.string_value | Jika ada di log, kolom akan ditempatkan di kolom tambahan sebagai config_method |
ConfigDestination | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom descrip jika kuncinya adalah ConfigDestination |
ConfigSource | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom descrip jika kuncinya adalah ConfigSource |
Device-Name | read_only_udm.principal.hostname | Jika ada di log, kolom ini akan dipetakan ke nama host akun utama dan nama host aset |
ID Peristiwa | read_only_udm.additional.fields.value.string_value | Jika ada di log, kolom akan ditempatkan di kolom tambahan sebagai event_id |
EventIndex | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom descrip jika kuncinya adalah EventIndex |
IfIndex | read_only_udm.security_result.detection_fields.value | Nilai 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 ada di log, kolom akan dipetakan ke IP target dan IP aset target |
Notice-Type | read_only_udm.additional.fields.value.string_value | Jika ada di log, kolom akan ditempatkan di kolom tambahan sebagai notice_type |
ID Port | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom description jika kuncinya adalah Port ID |
Remote-IP-Address | read_only_udm.additional.fields.value.string_value | Jika ada di log, kolom akan ditempatkan di kolom tambahan sebagai remote_ip_address |
Layanan | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom descrip jika kuncinya adalah Service |
Tugas | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom descrip jika kuncinya adalah Task |
Pengguna | read_only_udm.principal.user.userid | Jika ada di log, kolom ini akan dipetakan ke User-ID akun utama |
User-Name | read_only_udm.principal.user.userid | Jika ada di log, kolom ini akan dipetakan ke User-ID akun utama |
NamaPengguna | read_only_udm.principal.user.userid | Jika ada di log, kolom ini akan dipetakan ke User-ID akun utama |
UserService | read_only_udm.security_result.detection_fields.value | Nilai diekstrak dari kolom desc jika kuncinya adalah UserService |
collection_time.seconds | read_only_udm.metadata.event_timestamp.seconds | Bagian detik dari stempel waktu peristiwa |
data | Kolom ini berisi pesan log mentah dan diuraikan untuk mengekstrak kolom lain. Tidak dipetakan ke UDM. | |
menurun | read_only_udm.security_result.description | Deskripsi yang diekstrak dari pesan log |
deskripsi | Deskripsi yang diekstrak dari kolom desc , yang selanjutnya diuraikan untuk pasangan nilai kunci. Tidak dipetakan ke UDM. |
|
deskripsi | read_only_udm.security_result.description | Jika ada di log, kolom akan dipetakan ke deskripsi hasil keamanan |
descript | read_only_udm.metadata.description | Jika ada di log, kolom akan dipetakan ke deskripsi metadata |
event_id | read_only_udm.additional.fields.value.string_value | Jika ada di log, kolom akan ditempatkan di kolom tambahan sebagai event_id |
eventId | read_only_udm.metadata.product_event_type | ID peristiwa 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 dalam log dan merupakan IP yang valid, kolom tersebut akan dipetakan ke IP perantara. Jika tidak, nilai ini akan ditempatkan di kolom tambahan sebagai inter_ip |
notice_type | read_only_udm.additional.fields.value.string_value | Jika ada di log, kolom akan ditempatkan di kolom tambahan sebagai notice_type |
pid | read_only_udm.principal.process.pid | Jika kolom ada dalam log, kolom tersebut akan dipetakan ke PID proses utama |
program | Informasi program yang diekstrak dari pesan log, yang selanjutnya diuraikan 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 yang diekstrak dari pesan log. Jika cocok dengan protokol yang diketahui, protokol akan dipetakan ke protokol aplikasi. Jika tidak, nilai ini 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 dalam log dan merupakan IP yang valid, kolom tersebut akan dipetakan ke IP utama dan IP aset utama. Jika tidak, nilai ini 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 dipisahkan menurut / . Data 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 ada di log, kolom akan ditempatkan di kolom tambahan sebagai status |
targetHostname | read_only_udm.target.hostname, read_only_udm.target.asset.ip | Jika ada di log, kolom akan 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 diekstrak dari pesan log dan dikonversi menjadi stempel waktu peristiwa |
timestamp.seconds | read_only_udm.metadata.event_timestamp.seconds | Bagian detik dari stempel waktu peristiwa |
nama pengguna | read_only_udm.principal.user.userid | Jika ada di log, kolom ini akan dipetakan ke User-ID akun utama |
read_only_udm.metadata.event_type | Ditentukan berdasarkan kombinasi kolom dan logika: - NETWORK_CONNECTION : jika has_principal dan has_target bernilai 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 bernilai benar. - GENERIC_EVENT : jika tidak ada satu pun kondisi ini yang terpenuhi. |
|
read_only_udm.metadata.product_name | Di-hardcode ke Procurve |
|
read_only_udm.metadata.vendor_name | Di-hardcode ke HP |
|
read_only_udm.extensions.auth.type | Tetapkan ke MACHINE jika event_type adalah USER_LOGOUT atau USER_LOGIN |
Perubahan
2024-03-04
Peningkatan:
- Menambahkan pola Grok untuk mengurai log yang tidak diuraikan.
- Jika
severity
sama denganDHCP
, petakanDHCP
kenetwork.application_protocol
. - Memetakan
severity
kesecurity_result.severity_details
. - Memetakan
prin_port
keprincipal.port
. - Memetakan
pid
keprincipal.process.pid
. - Memetakan
descript
kemetadata.description
. - Memetakan
inter_ip
keintermediary.ip
. - Memetakan
remote_ip_address
keprincipal.ip
. - Memetakan
username
keprincipal.user.userid
. - Memetakan
status
,config_method
,event_id
, dannotice_type
keadditional.fields
.
2023-09-24
Peningkatan:
- Menambahkan pola Grok untuk mengurai log yang tidak diuraikan.
- Memetakan
target_mac
ketarget.mac
. - Memetakan
msg
kemetadata.description
. - Memetakan
src_mac
keprincipal.mac
. - Memetakan
severity
kesecurity_result.severity
.
2023-07-24
Peningkatan:
- Menambahkan pola Grok untuk mengurai dan memetakan log yang tidak diuraikan.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.