Mengumpulkan log CEF Imperva

Didukung di:

Dokumen ini menjelaskan cara menyerap log CEF Imperva ke Google Security Operations menggunakan Bindplane. Parser mengekstrak log dalam format CEF dari pesan syslog, lalu mengonversinya ke dalam format UDM. Log ini menangani berbagai format log, mengekstrak pasangan nilai kunci dari payload, melakukan transformasi dan pengayaan data, serta memetakan kolom yang diekstrak ke kolom UDM yang sesuai, termasuk informasi jaringan, detail pengguna, geolokasi, dan hasil keamanan.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Host Windows 2016 atau yang lebih baru atau Linux dengan systemd
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses istimewa ke konsol atau appliance pengelolaan Imperva

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:

    1. Cari 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_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: 'IMPERVA_CEF'
        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

  • 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 Gateway WAF Imperva (SecureSphere) untuk mengirim CEF melalui syslog

  1. Di konsol MX, buat Kumpulan Tindakan:

    • Buka Kebijakan > Kumpulan Tindakan.
    • Klik Baru dan beri nama (misalnya, Google SecOps CEF).
  2. Tambahkan Antarmuka Tindakan syslog CEF:

    • Di Available Action Interfaces, buka System Log dan tambahkan satu atau beberapa hal berikut (sebagaimana diperlukan):
      • Mencatat Peristiwa Keamanan ke Log Sistem (syslog) menggunakan standar CEF
      • Mencatat Peristiwa Keamanan Jaringan ke Log Sistem (syslog) menggunakan standar CEF
      • Mencatat Peristiwa Sistem ke Log Sistem (syslog) menggunakan standar CEF
      • Mencatat Peristiwa Keamanan Kustom ke Log Sistem (syslog) menggunakan standar CEF
  3. Mengonfigurasi parameter Antarmuka Tindakan:

    • Host Syslog: Masukkan alamat IP agen Bindplane Anda. Untuk menggunakan port non-default, tambahkan :PORT (defaultnya adalah 514 jika Anda tidak menentukannya). Contoh: 10.0.0.10:514.
    • Fasilitas / Tingkat Log: Tetapkan sesuai persyaratan kebijakan Anda.
    • Pesan: Biarkan default vendor untuk CEF, kecuali jika Anda memiliki pemetaan kustom.
  4. Melampirkan Set Tindakan ke kebijakan:

    • Untuk peristiwa Security / Network Security: Buka kebijakan yang relevan dan tetapkan Followed Action ke Set Tindakan Anda.
    • Untuk Peristiwa Sistem: Buat atau verifikasi kebijakan Peristiwa Sistem dan tetapkan Tindakan yang Diikuti ke Kumpulan Tindakan Anda agar peristiwa tersebut juga dikirim melalui CEF.
  5. Opsional: Konfigurasi target khusus gateway:

    • Jika grup gateway yang berbeda harus mengirim ke server syslog yang berbeda, konfigurasi setiap Grup Gateway > Logger Eksternal dan aktifkan "Gunakan konfigurasi gateway jika ada" dalam kebijakan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
act security_result.action Diturunkan. Jika act adalah "allowed", "alert", diawali dengan "REQ_PASSED", atau diawali dengan "REQ_CACHED", maka action adalah "ALLOW". Jika act adalah "deny", "blocked", diawali dengan "REQ_BLOCKED", atau diawali dengan "REQ_CHALLENGE", maka action adalah "BLOCK". Jika act cocok dengan ekspresi reguler (?i)REQ_BAD, maka action adalah "FAIL". Jika tidak, action adalah "UNKNOWN_ACTION". security_result.action kemudian ditetapkan ke nilai action.
act security_result.action_details Diturunkan. Berdasarkan nilai act, deskripsi mendetail akan dibuat. Contoh: "REQ_CACHED_FRESH: respons ditampilkan dari cache pusat data", "REQ_BLOCKED: permintaan diblokir".
app network.application_protocol Dipetakan secara langsung setelah dikonversi menjadi huruf besar.
cs1 security_result.detection_fields.value Dipetakan secara kondisional jika cs1 tidak kosong atau "NA". security_result.detection_fields.key disetel ke nilai cs1Label.
cs1Label security_result.detection_fields.key Dipetakan secara kondisional jika cs1 tidak kosong atau "NA". security_result.detection_fields.value disetel ke nilai cs1.
cs2 security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong. security_result.detection_fields.key disetel ke nilai cs2Label.
cs2Label security_result.detection_fields.key Dipetakan secara kondisional jika cs2 tidak kosong. security_result.detection_fields.value disetel ke nilai cs2.
cs3 security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong atau "-". security_result.detection_fields.key disetel ke nilai cs3Label.
cs3Label security_result.detection_fields.key Dipetakan secara bersyarat jika cs3 tidak kosong atau "-". security_result.detection_fields.value disetel ke nilai cs3.
cs4 security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong. security_result.detection_fields.key disetel ke nilai cs4Label.
cs4Label security_result.detection_fields.key Dipetakan secara kondisional jika cs4 tidak kosong. security_result.detection_fields.value disetel ke nilai cs4.
cs5 security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong. security_result.detection_fields.key disetel ke nilai cs5Label.
cs5Label security_result.detection_fields.key Dipetakan secara kondisional jika cs5 tidak kosong. security_result.detection_fields.value disetel ke nilai cs5.
cs6 security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong. security_result.detection_fields.key disetel ke nilai cs6Label.
cs6Label security_result.detection_fields.key Dipetakan secara kondisional jika cs6 tidak kosong. security_result.detection_fields.value disetel ke nilai cs6.
cs7 principal.location.region_latitude Dipetakan secara kondisional jika cs7Label adalah "latitude".
cs8 principal.location.region_longitude Dipetakan secara kondisional jika cs8Label adalah "longitude".
cn1 security_result.detection_fields.value Dipetakan secara bersyarat jika tidak kosong dan cn1Label tidak kosong. security_result.detection_fields.key disetel ke nilai cn1Label.
cn1Label security_result.detection_fields.key Dipetakan secara kondisional jika cn1 dan cn1Label tidak kosong. security_result.detection_fields.value disetel ke nilai cn1.
fileType security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong. security_result.detection_fields.key ditetapkan ke "fileType".
filePermission security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong. security_result.detection_fields.key ditetapkan ke "filePermission".
request target.url Dipetakan secara langsung.
requestClientApplication network.http.user_agent Dipetakan secara kondisional jika tidak kosong. Menimpa nilai yang dipetakan dari kolom user_agent yang diekstrak dari pasangan nilai kunci requestContext atau requestClientApplication dalam payload CEF.
requestMethod network.http.method Dipetakan secara langsung.
siteid security_result.detection_fields.value Dipetakan secara kondisional jika tidak kosong. security_result.detection_fields.key ditetapkan ke "siteid".
sourceServiceName target.hostname Dipetakan secara langsung. Menimpa nilai dhost jika ada.
src principal.ip Dipetakan secara langsung.
start metadata.event_timestamp.seconds Diekstrak menggunakan pola grok dan dikonversi menjadi stempel waktu. Digunakan sebagai penggantian untuk deviceReceiptTime jika tidak ada. Jika deviceReceiptTime dan start kosong, stempel waktu log akan digunakan.
suid principal.user.userid Dipetakan secara kondisional jika tidak kosong.
T/A metadata.event_type Dikodekan secara permanen ke "NETWORK_HTTP".
T/A metadata.log_type Dipetakan langsung dari kolom log_type tingkat teratas.
T/A metadata.product_event_type Dipetakan dari csv.event_id jika tidak kosong.
T/A metadata.product_name Dikodekan secara permanen ke "Web Application Firewall".
T/A metadata.vendor_name Dikodekan secara permanen ke "Imperva".

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