Mengumpulkan log VPN F5

Didukung di:

Dokumen ini menjelaskan cara menyerap log F5 VPN ke Google Security Operations menggunakan Bindplane. Parser mengekstrak informasi yang relevan dengan keamanan dari log. Alat ini menggunakan ekspresi reguler untuk mengidentifikasi dan mengurai kolom utama seperti stempel waktu, alamat IP, dan nama host, lalu menyusun data ini ke dalam format Model Data Terpadu (UDM) Google SecOps untuk dianalisis.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika beroperasi dari balik proxy, port firewall terbuka
  • Akses istimewa ke F5 BIG-IP APM (Access Policy Manager)

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan. 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

Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.

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 mengirimkannya ke Google SecOps

  1. 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).
  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_file_path: '/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
            log_type: 'F5_VPN'
            raw_log_field: body
            ingestion_labels:
    
    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.
    • Ganti /path/to/ingestion-authentication-file.json dengan jalur tempat file autentikasi disimpan di bagian Mendapatkan file autentikasi penyerapan Google SecOps.

Mulai ulang agen Bindplane untuk menerapkan perubahan

  1. Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:

    sudo systemctl restart bindplane-agent
    
  2. Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Mengonfigurasi Syslog untuk F5 BIG-IP APM v11.x dan yang lebih baru

  1. Login ke F5 BIG-IP APM menggunakan CLI atau SSH.
  2. Masukkan perintah berikut untuk menambahkan server syslog:

    tmsh syslog remote server {<Name> {host <bindplane-ip> remote-port <bindplane-port>}}
    

    Pastikan untuk mengganti parameter berikut:

    • <Name>: Masukkan nama sumber F5 BIG-IP APM (misalnya, BIGIP_APM).
    • <bindplane-ip>: Masukkan alamat IP agen Bindplane.
    • <bindplane-port>: Masukkan nomor port agen Bindplane.
  3. Masukkan perintah berikut untuk menyimpan perubahan:

    tmsh save sys config partitions all
    

Tabel pemetaan UDM

Kolom log Pemetaan UDM Logika
cmd_data principal.process.command_line Nilai diekstrak dari kolom msg
errdefs_msgno additional.fields.errdefs_msgno.string_value Nilai diekstrak dari kolom msg
event_time metadata.event_timestamp Nilai diuraikan dan dikonversi menjadi stempel waktu
hostname principal.hostname, observer.hostname, principal.asset.hostname, observer.asset.hostname, hostip Nilai diekstrak dari kolom pesan dan digunakan untuk mengisi kolom nama host di UDM. Juga digunakan untuk mengisi kolom hostip
msg security_result.description Nilai diekstrak dari kolom pesan dan digunakan untuk mengisi kolom deskripsi dalam objek security_result
prin_ip principal.ip, principal.asset.ip Nilai diekstrak dari kolom pesan dan digunakan untuk mengisi kolom alamat IP di UDM
additional.fields.Canonical_Info.string_value Nilai ini berasal dari pesan log
additional.fields.IDP.string_value Nilai ini berasal dari pesan log
additional.fields.Plugin_Support.string_value Nilai ini berasal dari pesan log
additional.fields.SMB Stage.string_value Nilai ini berasal dari pesan log
additional.fields.SP.string_value Nilai ini berasal dari pesan log
additional.fields.Timezone.string_value Nilai ini berasal dari pesan log
additional.fields.Tunnel Type.string_value Nilai ini berasal dari pesan log
additional.fields.UI_Mode.string_value Nilai ini berasal dari pesan log
additional.fields.Version.string_value Nilai ini berasal dari pesan log
additional.fields.from_rule_item.string_value Nilai ini berasal dari pesan log
additional.fields.policy_result.string_value Nilai ini berasal dari pesan log
additional.fields.ppp_id.string_value Nilai ini berasal dari pesan log
additional.fields.resource.string_value Nilai ini berasal dari pesan log
additional.fields.rule.string_value Nilai ini berasal dari pesan log
additional.fields.server_vip_ip.string_value Nilai ini berasal dari pesan log
additional.fields.server_vip_name.string_value Nilai ini berasal dari pesan log
additional.fields.to_rule_item.string_value Nilai ini berasal dari pesan log
additional.fields.tunnel_resource.string_value Nilai ini berasal dari pesan log
metadata.description Nilai ini berasal dari pesan log
metadata.event_type Nilai di-hardcode dalam kode parser untuk beberapa peristiwa dan berasal dari pesan log untuk peristiwa lainnya
metadata.log_type Nilai ditetapkan ke jenis batch
metadata.product_event_type Nilai ini berasal dari pesan log
metadata.product_name Nilai di-hardcode dalam kode parser
metadata.vendor_name Nilai di-hardcode dalam kode parser
network.application_protocol Nilai ini berasal dari pesan log
network.direction Nilai ini berasal dari pesan log
network.http.method Nilai ini berasal dari pesan log
network.http.parsed_user_agent Nilai ini berasal dari kolom network.http.user_agent
network.http.referral_url Nilai ini berasal dari pesan log
network.http.response_code Nilai ini berasal dari pesan log
network.http.user_agent Nilai ini berasal dari pesan log
network.ip_protocol Nilai ini berasal dari pesan log
network.received_bytes Nilai ini berasal dari pesan log
network.sent_bytes Nilai ini berasal dari pesan log
network.session_id Nilai ini berasal dari pesan log
network.tls.cipher Nilai ini berasal dari pesan log
network.tls.version Nilai ini berasal dari pesan log
observer.asset.hostname Nilai ditetapkan ke kolom nama host
observer.asset.ip Nilai ditetapkan ke kolom hostip
observer.hostname Nilai ditetapkan ke kolom nama host
observer.ip Nilai ditetapkan ke kolom hostip
principal.application Nilai ini berasal dari pesan log
principal.asset.hostname Nilai ditetapkan ke kolom nama host
principal.asset.ip Nilai ditetapkan ke kolom hostip atau kolom prin_ip jika ada
principal.asset.product_object_id Nilai ini berasal dari pesan log
principal.hostname Nilai ditetapkan ke kolom nama host
principal.ip Nilai ditetapkan ke kolom hostip atau kolom prin_ip jika ada
principal.location.country_or_region Nilai ini berasal dari pesan log
principal.platform Nilai ini berasal dari pesan log
principal.port Nilai ini berasal dari pesan log
principal.process.command_line Nilai ini berasal dari pesan log
principal.process.pid Nilai ini berasal dari pesan log
principal.resource.name Nilai ini berasal dari pesan log
principal.resource.type Nilai di-hardcode dalam kode parser untuk beberapa peristiwa dan berasal dari pesan log untuk peristiwa lainnya
principal.user.email_addresses Nilai ini berasal dari pesan log
principal.user.userid Nilai ini berasal dari pesan log
security_result.action Nilai ini berasal dari pesan log
security_result.description Nilai ini berasal dari pesan log
security_result.rule_name Nilai ini berasal dari pesan log
security_result.severity Nilai ini berasal dari pesan log
security_result.severity_details Nilai ini berasal dari pesan log
security_result.summary Nilai ini berasal dari pesan log
src.ip Nilai ini berasal dari pesan log
src.location.country_or_region Nilai ini berasal dari pesan log
src.port Nilai ini berasal dari pesan log
target.asset.hostname Nilai ini berasal dari pesan log
target.asset.ip Nilai ini berasal dari pesan log
target.hostname Nilai ini berasal dari pesan log
target.ip Nilai ini berasal dari pesan log
target.port Nilai ini berasal dari pesan log
target.process.command_line Nilai ini berasal dari pesan log
target.process.pid Nilai ini berasal dari pesan log
target.resource.id Nilai ini berasal dari pesan log
target.url Nilai ini berasal dari pesan log
target.user.userid Nilai ini berasal dari pesan log

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