Mengumpulkan log IBM Security Verify Access

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log IBM Security Verify Access. Parser mengekstrak kolom umum seperti stempel waktu, nama host, dan deskripsi menggunakan pola Grok. Kemudian, alat ini memanfaatkan penguraian XML untuk informasi peristiwa mendetail yang disematkan dalam kolom deskripsi, yang pada akhirnya memetakan data yang diekstrak ke model data terpadu (UDM) untuk representasi peristiwa keamanan standar.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Security Operations.
  • 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 administratif ke IBM Security Verify Access (ISVA).

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:

    • 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 below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: ibm_security_verify
            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

  • Di Linux, untuk memulai ulang Agen BindPlane, jalankan perintah berikut:

    sudo systemctl restart bindplane-agent
    
  • Di Windows, untuk memulai ulang Agen BindPlane, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Menyesuaikan Format Log

  1. Untuk mengedit file konfigurasi WebSEAL, gunakan Antarmuka Pengelolaan Lokal (LMI) perangkat.
  2. Di LMI, buka Reverse Proxy Management.
  3. Klik Kelola > Konfigurasi > Edit file konfigurasi (Anda dapat menggunakan editor untuk langsung mengedit file konfigurasi WebSEAL).
  4. Buka logging[stanza], cari syntax requests = {yes|no}, lalu klik Yes.
  5. Buka parameter gmt-time dan edit sebagai berikut: gmt-time = yes.
  6. Ganti request-log-format dengan yang berikut ini:

    request-log-format = ibmsva: %h %l "%u" %t "%r" %s %b %T %j %{X-Forwarded-For}i %a %A %H %p %m %U %v %d %q
    
  7. Lihat penjelasan setiap perintah berikut:

    • ibmsva: Mengidentifikasi log dari perangkat SVA
    • %h: Host jarak jauh
    • %l: Nama log jarak jauh
    • %u: Pengguna jarak jauh
    • %t: Waktu dan tanggal dalam format CLF
    • %r: Baris pertama permintaan
    • %s: Status respons
    • %b: Byte dalam respons (tidak termasuk header HTTP)
    • %T: Waktu untuk menayangkan permintaan (detik)
    • %j: Nama persimpangan
    • %X-Forwarded-For: Alamat IP yang diteruskan
    • %a: Alamat IP jarak jauh
    • %A: Alamat IP lokal
    • %H: Protokol permintaan
    • %p: Port
    • %m: Metode permintaan (GET, POST, HEAD)
    • %U: URL yang diminta
    • %v: Nama server
    • %d: ID transaksi
    • %q: String kueri

Mengonfigurasi Penerusan Syslog di ISVA

  1. Login ke Antarmuka Pengelolaan Lokal ISVA.
  2. Buka Monitor > Logs > Remote Syslog Forwarding.
  3. Klik Tambahkan.
  4. Tentukan detail untuk server syslog jarak jauh.
    • Server: alamat IP atau nama host server syslog (Bindplane).
    • Port: port tempat server syslog memproses permintaan (Bindplane).
    • Protocol: pilih UDP atau TCP (bergantung pada konfigurasi syslog/Bindplane Anda).
    • Format: pilih Syslog.
  5. Klik Save.

Mengonfigurasi sumber log untuk server log jarak jauh

  1. Pilih server syslog jarak jauh untuk mengirim log.
  2. Klik Sumber.
  3. Klik Tambahkan.
  4. Tentukan detail untuk sumber log, lalu klik Oke.

    • Nama: pilih WebSEAL.
    • Nama Instance: pilih instance WebSEAL.
    • File log: nama file log sumber.
    • Opsional: Tag: tag yang akan ditambahkan ke entri log yang dikirim.
    • Fasilitas: semua pesan akan dikirim dengan kode fasilitas yang ditentukan (daftar kode yang tersedia).
    • Keparahan: tingkat keparahan entri log yang dikirim.
      • Semua pesan akan dikirim dengan tingkat keparahan yang ditentukan.
  5. Klik Save.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
action read_only_udm.security_result.action_details Diekstrak dari kolom XML "/event/originator/action" saat kolom "description" berisi "event".
aplikasi read_only_udm.target.application Diekstrak menggunakan pola grok dari kolom "message".
auth_details read_only_udm.security_result.detection_fields.value Diekstrak dari kolom XML "/event/accessor/principal/@auth" saat kolom "description" berisi "event". Kunci ditetapkan ke "Auth".
authntype read_only_udm.security_result.detection_fields.value Diekstrak dari kolom XML "/event/authntype" saat kolom "description" berisi "event". Kunci ditetapkan ke "Authntype".
data read_only_udm.metadata.description Jika kolom "data" tidak kosong, nilainya akan menggantikan nilai "read_only_udm.metadata.description" yang ada.
deskripsi read_only_udm.metadata.description Diekstrak menggunakan pola grok dari kolom "message". Jika kolom "description" berisi "event", kolom tersebut akan diuraikan sebagai XML untuk mengekstrak kolom lain.
event_id read_only_udm.metadata.product_log_id Diekstrak dari kolom XML "/event/originator/event_id" saat kolom "description" berisi "event".
hostname read_only_udm.principal.hostname, read_only_udm.principal.asset.hostname Diekstrak menggunakan pola grok dari kolom "message".
id read_only_udm.metadata.product_log_id Diekstrak menggunakan pola grok dari kolom "message".
location read_only_udm.principal.location.name Diekstrak dari kolom XML "/event/originator/location" saat kolom "description" berisi "event".
hasil read_only_udm.security_result.detection_fields.value Diekstrak dari kolom XML "/event/outcome" saat kolom "description" berisi "event". Kunci ditetapkan ke "Hasil".
outcome_reason read_only_udm.security_result.summary Diekstrak dari kolom XML "/event/outcome/@reason" saat kolom "description" berisi "event". Juga digunakan untuk menentukan nilai "read_only_udm.security_result.action" - ditetapkan ke "BLOCK" jika "outcome_reason" berisi "fail" (tidak peka huruf besar/kecil), jika tidak, tetapkan ke "ALLOW".
outcome_status read_only_udm.security_result.detection_fields.value Diekstrak dari kolom XML "/event/outcome/@status" saat kolom "description" berisi "event". Kunci ditetapkan ke "Status Hasil".
originator_blade read_only_udm.security_result.detection_fields.value Diekstrak dari kolom XML "/event/originator/@blade" saat kolom "description" berisi "event". Kunci ditetapkan ke "Originator Blade".
originator_component read_only_udm.security_result.detection_fields.value Diekstrak dari kolom XML "/event/originator/component" saat kolom "description" berisi "event". Kunci ditetapkan ke "Originator Component".
originator_instance read_only_udm.security_result.detection_fields.value Diekstrak dari kolom XML "/event/originator/@instance" saat kolom "description" berisi "event". Kunci ditetapkan ke "Instance Originator".
session_id read_only_udm.network.session_id Diekstrak dari kolom XML "/event/accessor/session_id" saat kolom "description" berisi "event".
target_url read_only_udm.target.url Diekstrak dari kolom XML "/event/target/url" saat kolom "description" berisi "event".
thread_id read_only_udm.security_result.detection_fields.value Diekstrak menggunakan pola grok dari kolom "message". Kunci ditetapkan ke "ID thread".
timestamp read_only_udm.metadata.event_timestamp Diekstrak menggunakan pola grok dari kolom "message". Diformat menggunakan filter "date" berdasarkan keberadaan dan format kolom "timezone".
time_stamp read_only_udm.metadata.event_timestamp Diekstrak dari kolom XML "/event/date" saat kolom "description" berisi "event". Diformat menggunakan filter "date".
zona waktu Digunakan bersama dengan kolom "stempel waktu" untuk memformat kolom "read_only_udm.metadata.event_timestamp" menggunakan filter "tanggal".
url read_only_udm.target.url Diekstrak menggunakan pola grok dari kolom "message".
pengguna read_only_udm.principal.user.userid Diekstrak dari kolom XML "/event/accessor/principal" saat kolom "description" berisi "event".
user_location read_only_udm.principal.ip, read_only_udm.principal.asset.ip Diekstrak dari kolom XML "/event/accessor/user_location" saat kolom "description" berisi "event". Jika "user_location_type" berisi "ip" (tidak peka huruf besar/kecil), nilai tersebut akan diuraikan sebagai alamat IP dan dipetakan ke "read_only_udm.principal.ip" dan "read_only_udm.principal.asset.ip".
user_location_type Digunakan untuk menentukan apakah "user_location" harus diuraikan sebagai alamat IP.
T/A read_only_udm.metadata.vendor_name Tetapkan ke "IBM_SECURITY_VERIFY".
T/A read_only_udm.metadata.product_name Tetapkan ke "IBM_SECURITY_VERIFY".
T/A read_only_udm.metadata.event_type Awalnya ditetapkan ke "STATUS_UPDATE". Diubah menjadi "USER_LOGIN" jika kolom "user" dan "hostname" diekstrak.
T/A read_only_udm.extensions.auth.type Tetapkan ke "SSO" jika kolom "user" dan "hostname" diekstrak.
T/A read_only_udm.network.application_protocol Tetapkan ke "HTTP" jika kolom "message" berisi "HttpServletRequest".
T/A read_only_udm.metadata.log_type Tetapkan ke "IBM_SECURITY_VERIFY" - diambil dari metadata log.

Perubahan

2024-05-13

  • Parser diperbarui untuk mendukung log format XML.

2023-01-25

  • Parser yang baru dibuat.