Mengumpulkan log A10 Network Load Balancer

Didukung di:

Dokumen ini menjelaskan cara mengekspor log Load Balancer Jaringan A10 ke Google Security Operations menggunakan Agen Bindplane. Parser pertama-tama menggunakan pola grok untuk mengekstrak kolom yang relevan. Kemudian, parser memanfaatkan pernyataan kondisional (if) untuk memetakan kolom yang diekstrak ke model data terpadu (UDM) berdasarkan keberadaan dan kontennya, yang pada akhirnya mengategorikan jenis peristiwa.

Sebelum memulai

  • Pastikan Anda memiliki instance Google SecOps.
  • Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan systemd.
  • Jika berjalan di balik proxy, pastikan port firewall terbuka.
  • Pastikan Anda memiliki akses dengan hak istimewa ke A10 Load Balancer.

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

Mengonfigurasi agen Bindplane untuk menyerap Syslog dan mengirim ke Google SecOps

  1. Akses file konfigurasi:

    1. Temukan file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    2. 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: A10_LOAD_BALANCER
                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 Server Syslog di Load Balancer A10

  1. Buat koneksi SSH ke A10 Load Balancer menggunakan klien SSH.
  2. Masuk ke mode konfigurasi dengan menjalankan perintah berikut:

    config
    
  3. Konfigurasikan server syslog jarak jauh, menggunakan perintah berikut:

    logging host <bindplane-server-ip> <port-number>
    
    • Ganti <bindplane-server-ip> dengan alamat IP Bindplane dan <port-number> dengan yang dikonfigurasi di Bindplane; misalnya, 514.
  4. Tetapkan Tingkat keparahan, gunakan perintah berikut:

    logging level information
    
    • Tindakan ini akan mengirim pesan informasi (seperti peringatan dan error) ke agen Bindplane.
  5. Pastikan logging syslog diaktifkan dengan menjalankan:

    logging enable
    
  6. Simpan konfigurasi untuk memastikan konfigurasi tetap ada setelah dimulai ulang:

    write memory
    
  • Contoh konfigurasi CLI lengkap:

    config
    logging host 192.168.1.100 514
    logging level info
    logging enable
    write memory
    

Tabel Pemetaan UDM

Kolom log Pemetaan UDM Logika
dns additional.fields.dns.value.string_value Nilai diambil dari kolom dns yang diekstrak oleh pola grok.
dns_server additional.fields.dns_server.value.string_value Nilai diambil dari kolom dns_server yang diekstrak oleh pola grok.
gslb additional.fields.gslb.value.string_value Nilai diambil dari kolom gslb yang diekstrak oleh pola grok.
host_name principal.hostname
principal.asset.hostname
Nilai diambil dari kolom host_name yang diekstrak oleh pola grok.
httpmethod network.http.method Nilai diambil dari kolom httpmethod yang diekstrak oleh pola grok.
partion_id additional.fields.partion_id.value.string_value Nilai diambil dari kolom partion_id yang diekstrak oleh pola grok.
prin_ip principal.ip
principal.asset.ip
Nilai diambil dari kolom prin_ip yang diekstrak oleh pola grok.
prin_mac principal.mac Nilai diambil dari kolom prin_mac yang diekstrak oleh pola grok, dengan titik dihapus dan titik dua disisipkan setiap dua karakter.
prin_port principal.port Nilai diambil dari kolom prin_port yang diekstrak oleh pola grok dan dikonversi menjadi bilangan bulat.
proto network.ip_protocol Nilai diambil dari kolom proto yang diekstrak oleh pola grok. Jika kolom message berisi UDP, nilainya akan ditetapkan ke UDP.
sessionid network.session_id Nilai diambil dari kolom sessionid yang diekstrak oleh pola grok.
status_code network.http.response_code Nilai diambil dari kolom status_code yang diekstrak oleh pola grok dan dikonversi menjadi bilangan bulat.
tar_ip target.ip
target.asset.ip
Nilai diambil dari kolom tar_ip yang diekstrak oleh pola grok.
tar_mac target.mac Nilai diambil dari kolom tar_mac yang diekstrak oleh pola grok, dengan titik dihapus dan titik dua disisipkan setiap dua karakter.
tar_port target.port Nilai diambil dari kolom tar_port yang diekstrak oleh pola grok dan dikonversi menjadi bilangan bulat.
waktu metadata.event_timestamp.seconds Nilai diuraikan dari kolom time yang diekstrak oleh pola grok, menggunakan beberapa kemungkinan format tanggal.
url target.url Nilai diambil dari kolom url yang diekstrak oleh pola grok.
pengguna principal.user.userid Nilai diambil dari kolom user yang diekstrak oleh pola grok.
T/A metadata.event_type Ditentukan oleh logika parser berdasarkan keberadaan informasi utama dan target:
- NETWORK_CONNECTION: jika informasi utama dan target ada.
- STATUS_UPDATE: jika hanya ada informasi akun utama.
- GENERIC_EVENT: jika tidak.
T/A metadata.log_type Di-hardcode ke A10_LOAD_BALANCER.
T/A network.application_protocol Tetapkan ke HTTP jika kolom proto adalah HTTP.

Perubahan

2024-12-27

Peningkatan:

  • Menambahkan pola Grok untuk mengurai log yang tidak diuraikan.
  • Menambahkan blok KV untuk mengurai log.
  • Memetakan prin_host ke principal.hostname dan principal.asset.hostname.
  • Memetakan app ke target.application.
  • Memetakan device_version ke metadata.product_version.
  • Memetakan device_vendor ke metadata.vendor_name.
  • Memetakan device_product ke metadata.product_name.
  • Memetakan event_name dan device_event_class_id ke madeta.product_event_type.
  • Memetakan severity ke security_result.severity.
  • Memetakan src ke principal.ip dan principal.asset.ip.
  • Memetakan spt ke principal.port.
  • Memetakan dst ke target.ip dan target.asset.ip.
  • Memetakan dpt ke target.port.
  • Memetakan msg ke metadata.description.
  • Memetakan suser ke principal.user.user_display_name.
  • Memetakan act dan cn1 ke additional.fields.
  • Memetakan method ke network.http.method.
  • Memetakan app_proto ke network.application_protocol.
  • Memetakan tls_version ke network.tls.version.

2024-01-28

  • Parser yang baru dibuat.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.