Mengumpulkan log HP ProCurve

Didukung di:

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

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Proses Transfer. Simpan file dengan aman di sistem tempat Bindplane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.

Menginstal agen Bindplane

Penginstalan Windows

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. 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

  1. 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).
  2. 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
    
  3. Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.

  4. Ganti <customer_id> dengan ID pelanggan yang sebenarnya.

  5. 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

  1. Login ke switch HP Procurve dengan SSH.
  2. Verifikasi antarmuka tombol menggunakan perintah berikut:

    show ip int br
    
  3. Aktifkan mode konfigurasi di tombol menggunakan perintah berikut:

    console# conf t
    
  4. 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>
    
  5. Ganti <bindplae-server-ip> dan <port-number> dengan alamat IP Bindplane dan nomor port.

  6. Ganti <udp/tcp> dengan hanya memilih UDP atau TCP sebagai protokol komunikasi (bergantung pada konfigurasi agen Bindplane Anda).

  7. Ganti <interface> dengan ID antarmuka yang Anda terima sebelumnya dari tombol (misalnya, Ethernet1/1).

  8. 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 dengan DHCP, petakan DHCP ke network.application_protocol.
  • Memetakan severity ke security_result.severity_details.
  • Memetakan prin_port ke principal.port.
  • Memetakan pid ke principal.process.pid.
  • Memetakan descript ke metadata.description.
  • Memetakan inter_ip ke intermediary.ip.
  • Memetakan remote_ip_address ke principal.ip.
  • Memetakan username ke principal.user.userid.
  • Memetakan status, config_method, event_id, dan notice_type ke additional.fields.

2023-09-24

Peningkatan:

  • Menambahkan pola Grok untuk mengurai log yang tidak diuraikan.
  • Memetakan target_mac ke target.mac.
  • Memetakan msg ke metadata.description.
  • Memetakan src_mac ke principal.mac.
  • Memetakan severity ke security_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.