Mengumpulkan log ID Veridium

Didukung di:

Dokumen ini menjelaskan cara menyerap log Veridium ID ke Google Security Operations menggunakan Bindplane. Parser pertama-tama mengekstrak kolom dari pesan syslog dan mengategorikannya berdasarkan "log_identifier". Kemudian, model ini menggunakan logika bersyarat dan penguraian key-value untuk memetakan kolom yang diekstrak ke dalam struktur model data terpadu (UDM), yang menangani format ActionLog dan EventLog.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google SecOps
  • Windows 2016 atau yang lebih baru atau host Linux dengan systemd
  • Jika berjalan di belakang proxy, pastikan port firewall terbuka
  • Akses istimewa ke Veridium ID

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

Untuk opsi penginstalan tambahan, lihat panduan penginstalan.

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: 'VERIDIUM_ID'
            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.
    • Perbarui /path/to/ingestion-authentication-file.json ke jalur tempat file autentikasi disimpan di bagian Dapatkan 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 untuk Veridium ID

  1. Login ke host Veridium ID menggunakan SSH atau CLI.
  2. Edit file /etc/rsyslog.conf atau /etc/rsyslog.d/events.conf menggunakan VI.

    vi /etc/rsyslog.conf
    
  3. Masukkan detail berikut, ganti <bindplane-ip> dan <bindplane-port> dengan detail agen Bindplane yang sebenarnya.

    module(load="imfile" PollingInterval="10")
    input(type="imfile" File="/var/log/veridiumid/websecadmin/events.log" Tag="ver-adminevents" reopenOnTruncate="on")
    input(type="imfile" File="/var/log/veridiumid/tomcat/events.log" Tag="ver-events" reopenOnTruncate="on")
    
    if $programname == 'ver-events' then @@<bindplane-ip>:<bindplane-port>
    if $programname == 'ver-adminevents' then @@<bindplane-ip>:<bindplane-port>
    
  4. Simpan file dan keluar dari VI.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
_caller.accountId principal.user.userid Dipetakan langsung dari kolom _caller.accountId.
_caller.accountEmailAddressInfo principal.user.email_addresses Dipetakan langsung dari kolom _caller.accountEmailAddressInfo.
_caller.accountExternalId principal.user.email_addresses Dipetakan langsung dari kolom _caller.accountExternalId.
_caller.accountStatus principal.user.attribute.labels[account_status].value Dipetakan langsung dari kolom _caller.accountStatus.
_caller.deviceId principal.asset.asset_id Diawali dengan "VERIDIUM_ID:" dan dipetakan dari kolom _caller.deviceId.
_caller.deviceDescription principal.asset.attribute.labels[device_description].value Dipetakan langsung dari kolom _caller.deviceDescription.
_caller.deviceManufacturer principal.asset.attribute.labels[device_manufacturer].value Dipetakan langsung dari kolom _caller.deviceManufacturer.
_caller.deviceName principal.asset.attribute.labels[device_name].value Dipetakan langsung dari kolom _caller.deviceName.
_caller.deviceOs principal.asset.platform_software.platform Dipetakan dari kolom _caller.deviceOs. Jika nilainya "iOS", nilai tersebut dipetakan ke "IOS". Jika nilainya adalah "Android", nilai tersebut dipetakan ke "ANDROID". Jika nilainya adalah "WIN" atau "Windows", nilai tersebut dipetakan ke "WINDOWS".
_caller.deviceStatus principal.asset.attribute.labels[device_status].value Dipetakan langsung dari kolom _caller.deviceStatus.
_caller.deviceType principal.asset.attribute.labels[device_type].value Dipetakan langsung dari kolom _caller.deviceType.
actionDate additional.fields[action_date].value.string_value Dipetakan langsung dari kolom actionDate.
actionName metadata.product_event_type Dipetakan langsung dari kolom actionName.
accountEmail principal.user.email_addresses Dipetakan langsung dari kolom accountEmail.
accountExternalId principal.user.email_addresses Dipetakan langsung dari kolom accountExternalId.
accountId principal.user.userid Dipetakan langsung dari kolom accountId.
authenticatorDeviceContext.deviceMake intermediary.asset.hardware.manufacturer Dipetakan langsung dari kolom authenticatorDeviceContext.deviceMake.
authenticatorDeviceContext.ip intermediary.ip Dipetakan langsung dari kolom authenticatorDeviceContext.ip.
authenticatorDeviceContext.location.city intermediary.asset.location.city Dipetakan langsung dari kolom authenticatorDeviceContext.location.coordinates.latitude.
authenticatorDeviceContext.location.coordinates.latitude intermediary.asset.location.region_latitude Dipetakan langsung dari kolom authenticatorDeviceContext.location.coordinates.latitude.
authenticatorDeviceContext.location.coordinates.longitude intermediary.asset.location.region_longitude Dipetakan langsung dari kolom authenticatorDeviceContext.location.coordinates.longitude.
authenticatorDeviceContext.location.countryName intermediary.asset.location.country_or_region Dipetakan langsung dari kolom authenticatorDeviceContext.location.countryName.
authenticatorDeviceContext.location.ip intermediary.ip Dipetakan langsung dari kolom authenticatorDeviceContext.location.ip.
authenticationDeviceDescription intermediary.asset.attribute.labels[authentication_device_description].value Dipetakan langsung dari kolom authenticationDeviceDescription.
authenticationDeviceName intermediary.asset.asset_id Diawali dengan "VERIDIUM_ID:" dan dipetakan dari kolom authenticationDeviceName.
authenticationDeviceOs intermediary.asset.platform_software.platform Dipetakan dari kolom authenticationDeviceOs. Jika nilainya "iOS", nilai tersebut dipetakan ke "IOS". Jika nilainya adalah "Android", nilai tersebut dipetakan ke "ANDROID". Jika nilainya adalah "WIN" atau "Windows", nilai tersebut dipetakan ke "WINDOWS".
authenticationDeviceOsVersion intermediary.asset.platform_software.platform_version Dipetakan langsung dari kolom authenticationDeviceOsVersion.
authenticationDevicePhone intermediary.asset.attribute.labels[authentication_device_phone].value Dipetakan langsung dari kolom authenticationDevicePhone.
authenticationDevicePhoneModel intermediary.asset.attribute.labels[authentication_device_phone_model].value Dipetakan langsung dari kolom authenticationDevicePhoneModel.
authenticationDeviceRegistrationTime intermediary.asset.attribute.labels[authentication_device_registeration_time].value Dipetakan langsung dari kolom authenticationDeviceRegistrationTime.
authenticationDeviceType intermediary.asset.attribute.labels[authentication_device_type].value Dipetakan langsung dari kolom authenticationDeviceType.
authenticationResult extensions.auth.auth_details Dipetakan langsung dari kolom authenticationResult.
context.deviceMake principal.asset.hardware.manufacturer Dipetakan langsung dari kolom context.deviceMake.
context.ip principal.ip Dipetakan langsung dari kolom context.ip.
context.location.countryName principal.location.country_or_region Dipetakan langsung dari kolom context.location.countryName.
context.location.ip principal.ip Dipetakan langsung dari kolom context.location.ip.
context.osVersion principal.asset.platform_software.platform_version Dipetakan langsung dari kolom context.osVersion.
context.userAgentRaw network.http.user_agent Dipetakan langsung dari kolom context.userAgentRaw.
exploiterDeviceContext.deviceMake src.asset.hardware.manufacturer Dipetakan langsung dari kolom exploiterDeviceContext.deviceMake.
exploiterDeviceContext.ip src.ip Dipetakan langsung dari kolom exploiterDeviceContext.ip.
exploiterDeviceContext.location.city src.asset.location.city Dipetakan langsung dari kolom exploiterDeviceContext.location.city.
exploiterDeviceContext.location.coordinates.latitude src.asset.location.region_latitude Dipetakan langsung dari kolom exploiterDeviceContext.location.coordinates.latitude.
exploiterDeviceContext.location.coordinates.longitude src.asset.location.region_longitude Dipetakan langsung dari kolom exploiterDeviceContext.location.coordinates.longitude.
exploiterDeviceContext.location.countryName src.asset.location.country_or_region Dipetakan langsung dari kolom exploiterDeviceContext.location.countryName.
exploiterDeviceContext.location.ip src.ip Dipetakan langsung dari kolom exploiterDeviceContext.location.ip.
exploiterDeviceContext.osName src.asset.platform_software.platform Dipetakan dari kolom exploiterDeviceContext.osName. Jika nilainya adalah "WIN" atau "Windows", nilai tersebut dipetakan ke "WINDOWS". Jika nilainya "iOS", nilai tersebut dipetakan ke "IOS". Jika nilainya adalah "Android", nilai tersebut dipetakan ke "ANDROID".
exploiterDeviceContext.osVersion src.asset.platform_software.platform_version Dipetakan langsung dari kolom exploiterDeviceContext.osVersion.
exploiterDeviceName src.asset.attribute.labels[exploiter_device_name].value Dipetakan langsung dari kolom exploiterDeviceName.
hostname principal.hostname Dipetakan langsung dari kolom hostname.
ipAddress principal.ip Dipetakan langsung dari kolom ipAddress.
location principal.location.city Dipetakan langsung dari kolom location.
location.city about.location.city Dipetakan langsung dari kolom location.city.
location.coordinates.latitude about.location.region_latitude Dipetakan langsung dari kolom location.coordinates.latitude.
location.coordinates.longitude about.location.region_longitude Dipetakan langsung dari kolom location.coordinates.longitude.
location.countryName about.location.country_or_region Dipetakan langsung dari kolom location.countryName.
location.ip about.ip Dipetakan langsung dari kolom location.ip.
metadata.collected_timestamp metadata.collected_timestamp Dipetakan langsung dari kolom collected_time.
metadata.event_timestamp metadata.event_timestamp Dipetakan langsung dari kolom event_time.
metadata.event_type metadata.event_type Tetapkan ke "USER_UNCATEGORIZED".
metadata.product_event_type metadata.product_event_type Dipetakan langsung dari kolom actionName.
metadata.product_name metadata.product_name Disetel ke "VERIDIUM_ID".
namespace principal.namespace Dipetakan langsung dari kolom namespace.
pid principal.process.pid Dipetakan langsung dari kolom pid.
request.context.userAgentRaw network.http.user_agent Dipetakan langsung dari kolom request.context.userAgentRaw.
request.sessionId network.session_id Dipetakan langsung dari kolom request.sessionId.
requestMethod network.http.method Dipetakan langsung dari kolom requestMethod.
requestURI network.http.referral_url Dipetakan langsung dari kolom requestURI.
security_result.severity security_result.severity Dipetakan dari kolom severity. Jika nilainya adalah "INFO", nilai tersebut dipetakan ke "INFORMATIONAL".
principal.application Dipetakan langsung dari kolom application.
principal.asset.hostname Dipetakan langsung dari kolom hostname.

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