Mengumpulkan log Pengelola VMware Networking and Security Virtualization (NSX)

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log VMware Networking and Security Virtualization (NSX) Manager. Parser mengekstrak kolom menggunakan berbagai pola grok berdasarkan format pesan. Kemudian, proses ini akan melakukan penguraian nilai kunci, penguraian JSON, dan logika kondisional untuk memetakan kolom yang diekstrak ke UDM, menangani berbagai format log, dan memperkaya data dengan konteks tambahan.

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 VMWare NSX.

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: vmware_nsx
            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
    

Konfigurasi Syslog untuk NSX Edge

  1. Login ke vSphere Web Client.
  2. Buka Networking & Security > NSX Edges.
  3. Pilih instance NSX Edge tertentu yang ingin Anda konfigurasi.
  4. Buka Setelan Syslog:
    1. Untuk NSX 6.4.4 dan yang lebih baru:
      • Buka Kelola > Setelan > Setelan Perangkat.
      • Klik Setelan > Ubah Konfigurasi Syslog.
    2. Untuk NSX 6.4.3 dan yang lebih lama:
      • Buka Kelola > Setelan > Konfigurasi.
      • Pada dialog Details, klik Change.
  5. Konfigurasikan detail server Syslog:
    • Server: masukkan alamat IP atau nama host server Syslog (Bindplane).
    • Protokol: pilih UDP atau TCP (bergantung pada konfigurasi server syslog/Bindplane Anda).
    • Port: masukkan nomor port (bergantung pada konfigurasi server syslog/Bindplane Anda).
  6. Klik OK untuk menyimpan setelan.

Konfigurasi Syslog untuk NSX Manager

  1. Login ke antarmuka web NSX Manager dengan kredensial administrator sebagai berikut:
    • https://<NSX-Manager-IP> atau https://<NSX-Manager-Hostname>.
  2. Buka Kelola Setelan Appliance > Umum.
  3. Klik Edit untuk mengonfigurasi setelan server Syslog.
  4. Masukkan detail server Syslog:
    • Server: masukkan alamat IP atau nama host server Syslog (Bindplane).
    • Protokol: pilih UDP atau TCP (bergantung pada konfigurasi server syslog/Bindplane Anda).
    • Port: masukkan nomor port (bergantung pada konfigurasi server syslog/Bindplane Anda).
  5. Klik OK untuk menyimpan setelan.

Konfigurasi Syslog untuk NSX Controller

  1. Login ke vSphere Web Client.
  2. Buka Networking & Security > Installation and Upgrade > Management > NSX Controller Nodes.
  3. Pilih NSX Manager yang mengelola node pengontrol.
  4. Klik Common Controller Attributes Edit.
  5. Pada dialog Server Syslog, klik Tambahkan:
    1. Masukkan nama server atau alamat IP Syslog.
    2. Pilih protokol UDP (bergantung pada konfigurasi server syslog/Bindplane Anda).
    3. Tetapkan Log Level (misalnya, INFO).
  6. Klik OK untuk menyimpan setelan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
DST event.idm.read_only_udm.target.ip Alamat IP tujuan diekstrak dari kolom DST dalam log mentah.
ID event.idm.read_only_udm.metadata.product_log_id ID log produk diekstrak dari kolom ID dalam log mentah.
MAC event.idm.read_only_udm.principal.mac Alamat MAC diekstrak dari kolom MAC dalam log mentah.
ModuleName event.idm.read_only_udm.metadata.product_event_type Jenis peristiwa produk diekstrak dari kolom ModuleName dalam log mentah.
Operation event.idm.read_only_udm.principal.resource.attribute.labels.value Operasi diekstrak dari kolom Operation dalam log mentah dan ditambahkan sebagai label dengan kunci "Operasi".
PROTO event.idm.read_only_udm.network.ip_protocol Protokol IP diekstrak dari kolom PROTO dalam log mentah.
RES event.idm.read_only_udm.target.resource.name Nama resource target diekstrak dari kolom RES dalam log mentah.
SRC event.idm.read_only_udm.principal.ip Alamat IP sumber diekstrak dari kolom SRC dalam log mentah.
SPT event.idm.read_only_udm.principal.port Port sumber diekstrak dari kolom SPT dalam log mentah.
UserName event.idm.read_only_udm.principal.user.userid ID pengguna diekstrak dari kolom UserName dalam log mentah.
app_type event.idm.read_only_udm.principal.application Aplikasi utama diekstrak dari kolom app_type dalam log mentah.
application event.idm.read_only_udm.target.application Aplikasi target diekstrak dari kolom application dalam log mentah.
audit event.idm.read_only_udm.principal.resource.attribute.labels.value Nilai audit diekstrak dari kolom audit dalam log mentah dan ditambahkan sebagai label dengan kunci "audit".
cancelTimeUTC event.idm.read_only_udm.principal.resource.attribute.last_update_time Waktu pembaruan terakhir berasal dari kolom cancelTimeUTC dalam log mentah.
client event.idm.read_only_udm.principal.ip atau event.idm.read_only_udm.principal.administrative_domain Jika kolom client adalah alamat IP, kolom tersebut akan dipetakan ke IP utama. Jika tidak, domain akan dipetakan ke domain administratif utama.
comp event.idm.read_only_udm.principal.resource.attribute.labels.value Nilai komponen diekstrak dari kolom comp dalam log mentah dan ditambahkan sebagai label dengan kunci "Comp".
datetime event.idm.read_only_udm.metadata.event_timestamp Stempel waktu peristiwa diekstrak dari kolom datetime dalam log mentah.
description event.idm.read_only_udm.metadata.description Deskripsi diekstrak dari kolom description dalam log mentah.
details event.idm.read_only_udm.principal.resource.attribute.labels Detail diekstrak dari kolom details dalam log mentah dan ditambahkan sebagai label.
direction event.idm.read_only_udm.network.direction Jika kolom direction adalah "OUT", kolom tersebut akan dipetakan ke "OUTBOUND".
dst_ip event.idm.read_only_udm.target.ip Alamat IP tujuan diekstrak dari kolom dst_ip dalam log mentah.
DPT event.idm.read_only_udm.target.port Port tujuan diekstrak dari kolom DPT dalam log mentah.
errorCode event.idm.read_only_udm.security_result.detection_fields Kode error diekstrak dari kolom errorCode dalam log mentah dan ditambahkan sebagai kolom deteksi.
eventType event.idm.read_only_udm.metadata.product_event_type Jenis peristiwa produk diekstrak dari kolom eventType dalam log mentah.
filepath event.idm.read_only_udm.principal.process.file.full_path Jalur file diekstrak dari kolom filepath dalam log mentah.
hostname event.idm.read_only_udm.principal.ip Nama host diekstrak dari kolom hostname dalam log mentah dan, jika berupa alamat IP, dipetakan ke IP utama.
kv_data Berbagai kolom UDM Pasangan nilai kunci di kv_data dipetakan ke berbagai kolom UDM berdasarkan kuncinya.
kv_data1 Berbagai kolom UDM Pasangan nilai kunci di kv_data1 dipetakan ke berbagai kolom UDM berdasarkan kuncinya.
kv_data2 Berbagai kolom UDM Pasangan nilai kunci di kv_data2 dipetakan ke berbagai kolom UDM berdasarkan kuncinya.
kv_data3 Berbagai kolom UDM Pasangan nilai kunci di kv_data3 dipetakan ke berbagai kolom UDM berdasarkan kuncinya.
kv_data4 Berbagai kolom UDM Pasangan nilai kunci di kv_data4 dipetakan ke berbagai kolom UDM berdasarkan kuncinya.
level event.idm.read_only_udm.security_result.severity Jika kolom level adalah "INFO", kolom tersebut akan dipetakan ke "INFORMATIONAL". Jika "ERROR", nilai akan dipetakan ke "ERROR".
managedExternally event.idm.read_only_udm.principal.resource.attribute.labels.value Nilai managedExternally diekstrak dari kolom managedExternally dalam log mentah dan ditambahkan sebagai label dengan kunci "managedExternally".
message Berbagai kolom UDM Kolom pesan diuraikan untuk mengekstrak berbagai kolom UDM.
message_data event.idm.read_only_udm.principal.resource.attribute.labels.value Data pesan diekstrak dari kolom message_data dalam log mentah dan ditambahkan sebagai label dengan kunci "message".
network_status event.idm.read_only_udm.additional.fields Status jaringan diekstrak dari kolom network_status dalam log mentah dan ditambahkan sebagai kolom tambahan dengan kunci "Network_Connection_Status".
new_value Berbagai kolom event.idm.read_only_udm.target Nilai baru diekstrak dari kolom new_value dalam log mentah dan digunakan untuk mengisi berbagai kolom target.
node event.idm.read_only_udm.principal.resource.attribute.labels.value Nilai node diekstrak dari kolom node dalam log mentah dan ditambahkan sebagai label dengan kunci "node".
old_value Berbagai kolom UDM Nilai lama diekstrak dari kolom old_value dalam log mentah dan digunakan untuk mengisi berbagai kolom UDM.
payload Berbagai kolom UDM Payload diekstrak dari kolom payload dalam log mentah dan digunakan untuk mengisi berbagai kolom UDM.
pid event.idm.read_only_udm.target.process.pid ID proses diekstrak dari kolom pid dalam log mentah.
reqId event.idm.read_only_udm.metadata.product_log_id ID log produk diekstrak dari kolom reqId dalam log mentah.
resourceId event.idm.read_only_udm.principal.resource.product_object_id ID objek produk diekstrak dari kolom resourceId dalam log mentah.
s2comp event.idm.read_only_udm.principal.resource.attribute.labels.value Nilai s2comp diekstrak dari kolom s2comp dalam log mentah dan ditambahkan sebagai label dengan kunci "s2comp".
ses event.idm.read_only_udm.network.session_id ID sesi diekstrak dari kolom ses dalam log mentah.
src_host event.idm.read_only_udm.principal.hostname Nama host utama diekstrak dari kolom src_host dalam log mentah.
src_ip event.idm.read_only_udm.principal.ip Alamat IP sumber diekstrak dari kolom src_ip dalam log mentah.
src_ip1 event.idm.read_only_udm.principal.ip Alamat IP sumber diekstrak dari kolom src_ip1 dalam log mentah.
src_port event.idm.read_only_udm.principal.port Port sumber diekstrak dari kolom src_port dalam log mentah.
startTimeUTC event.idm.read_only_udm.principal.resource.attribute.creation_time Waktu pembuatan berasal dari kolom startTimeUTC dalam log mentah.
subcomp event.idm.read_only_udm.network.application_protocol atau event.idm.read_only_udm.principal.resource.attribute.labels.value Jika kolom subcomp adalah "http", kolom tersebut akan dipetakan ke "HTTP". Jika tidak, sub-komponen akan ditambahkan sebagai label dengan kunci "Sub Comp".
tname event.idm.read_only_udm.principal.resource.attribute.labels.value Nilai tname diekstrak dari kolom tname dalam log mentah dan ditambahkan sebagai label dengan kunci "tname".
type event.idm.read_only_udm.metadata.product_event_type Jenis peristiwa produk diekstrak dari kolom type dalam log mentah.
uid event.idm.read_only_udm.principal.user.userid ID pengguna diekstrak dari kolom uid dalam log mentah.
update event.idm.read_only_udm.principal.resource.attribute.labels.value Nilai update diekstrak dari kolom update dalam log mentah dan ditambahkan sebagai label dengan kunci "update".
user event.idm.read_only_udm.principal.user.user_display_name Nama tampilan pengguna diekstrak dari kolom user dalam log mentah.
vmw_cluster event.idm.read_only_udm.target.resource.name Nama resource target diekstrak dari kolom vmw_cluster dalam log mentah.
vmw_datacenter event.idm.read_only_udm.target.resource.attribute.labels.value Nilai vmw_datacenter diekstrak dari kolom vmw_datacenter dalam log mentah dan ditambahkan sebagai label dengan kunci "vmw_datacenter".
vmw_host event.idm.read_only_udm.target.hostname atau event.idm.read_only_udm.target.ip Jika kolom vmw_host adalah nama host, kolom tersebut akan dipetakan ke nama host target. Jika bukan alamat IP, alamat tersebut akan dipetakan ke IP target.
vmw_object_id event.idm.read_only_udm.target.resource.product_object_id ID objek produk diekstrak dari kolom vmw_object_id dalam log mentah.
vmw_product event.idm.read_only_udm.target.application Aplikasi target diekstrak dari kolom vmw_product dalam log mentah.
vmw_vcenter event.idm.read_only_udm.target.cloud.availability_zone Zona ketersediaan diekstrak dari kolom vmw_vcenter dalam log mentah.
vmw_vcenter_id event.idm.read_only_udm.target.resource.attribute.labels.value Nilai vmw_vcenter_id diekstrak dari kolom vmw_vcenter_id dalam log mentah dan ditambahkan sebagai label dengan kunci "vmw_vcenter_id".
vmw_vr_ops_appname event.idm.read_only_udm.intermediary.application Aplikasi perantara diekstrak dari kolom vmw_vr_ops_appname dalam log mentah.
vmw_vr_ops_clustername event.idm.read_only_udm.intermediary.resource.name Nama resource perantara diekstrak dari kolom vmw_vr_ops_clustername dalam log mentah.
vmw_vr_ops_clusterrole event.idm.read_only_udm.intermediary.resource.attribute.roles.name Nama peran resource perantara diekstrak dari kolom vmw_vr_ops_clusterrole dalam log mentah.
vmw_vr_ops_hostname event.idm.read_only_udm.intermediary.hostname Nama host perantara diekstrak dari kolom vmw_vr_ops_hostname dalam log mentah.
vmw_vr_ops_id event.idm.read_only_udm.intermediary.resource.product_object_id ID objek produk perantara diekstrak dari kolom vmw_vr_ops_id dalam log mentah.
vmw_vr_ops_logtype event.idm.read_only_udm.intermediary.resource.attribute.labels.value Nilai vmw_vr_ops_logtype diekstrak dari kolom vmw_vr_ops_logtype dalam log mentah dan ditambahkan sebagai label dengan kunci "vmw_vr_ops_logtype".
vmw_vr_ops_nodename event.idm.read_only_udm.intermediary.resource.attribute.labels.value Nilai vmw_vr_ops_nodename diekstrak dari kolom vmw_vr_ops_nodename dalam log mentah dan ditambahkan sebagai label dengan kunci "vmw_vr_ops_nodename". Ditentukan oleh serangkaian pernyataan bersyarat berdasarkan nilai kolom lain. Nilai yang mungkin adalah USER_LOGIN, NETWORK_CONNECTION, STATUS_UPDATE, dan GENERIC_EVENT. Di-hardcode ke "VMWARE_NSX". Di-hardcode ke "VMWARE_NSX". Di-hardcode ke "VMWARE_NSX". Tetapkan ke "AUTHTYPE_UNSPECIFIED" jika Operation adalah "LOGIN" dan target_details tidak kosong, atau jika message berisi "authentication failure" dan application tidak kosong. Tetapkan ke "SSH" jika PROTO adalah "ssh2", atau tetapkan ke "HTTP" jika subcomp adalah "http". Ditentukan oleh serangkaian pernyataan bersyarat berdasarkan nilai kolom lain. Kemungkinan nilainya adalah ALLOW dan BLOCK. Tetapkan ke "VIRTUAL_MACHINE" jika vmw_cluster tidak kosong.

Perubahan

2023-11-15

  • Peningkatan: Dari kolom "Nilai Lama":
  • Memetakan "unique_id" ke "principal.resource.product_object_id".
  • Memetakan "resource_type" ke "principal.resource.sub_type".
  • Memetakan "_create_user","_last_modified_user" ke "principal.user.email_addresses".
  • Memetakan "action" ke "security_result.action".
  • Memetakan "rule_id" ke "security_result.rule_id".
  • Memetakan "display_name" ke "principal.resource.name".
  • Memetakan "_last_modified_time" ke "principal.resource.attribute.last_update_time".
  • Memetakan "_create_time" ke "principal.resource.attribute.creation_time".
  • Memetakan "parent_path" ke "principal.resource.parent".
  • Memetakan "path" ke "principal.process.file.full_path".
  • Memetakan "id" ke "principal.resource.id".
  • Dari kolom Nilai Baru:
  • Memetakan "resource_type" ke "target.resource.sub_type".
  • Memetakan "unique_id" ke "target.resource.product_object_id".
  • Memetakan "path" ke "target.process.file.full_path".
  • Memetakan "display_name" ke "target.resource.name".
  • Memetakan "id" ke "target.resource.id".
  • Memetakan "vmw_host" ke "target_details.hostname atau target_details.ip" berdasarkan nilai di vmw_host.
  • Memetakan "vmw_product" ke "target.application".
  • Memetakan "vmw_vcenter" ke "target.cloud.availability_zone".
  • Memetakan "vmw_cluster" ke "target.resource.name".
  • Memetakan "vmw_object_id" ke "target.resource.product_object_id".
  • Memetakan "vmw_datacenter" ke "target.resource.attribute.labels".
  • Memetakan "vmw_vcenter_id" ke "target.resource.attribute.labels".
  • Memetakan "vmw_vr_ops_logtype" ke "intermediary.resource.attribute.labels".
  • Memetakan "vmw_vr_ops_appname" ke "intermediary.application".
  • Memetakan "vmw_vr_ops_hostname" ke "intermediary.hostname".
  • Memetakan "vmw_vr_ops_nodename" ke "intermediary.resource.attribute.labels".
  • Memetakan "vmw_vr_ops_clustername" ke "intermediary.resource.name".
  • Memetakan "vmw_vr_ops_clusterrole" ke "intermediary.resource.attribute.labels.roles.name".
  • Memetakan "vmw_vr_ops_id" ke "intermediary.resource.product_object_id".

2023-10-13

  • Peningkatan: Mengubah pola Grok untuk mengurai "sourceIp" dengan port.
  • Memetakan "vmw_host","vmw_product","vmw_vcenter","vmw_cluster","vmw_vr_ops_id","vmw_object_id","vmw_datacenter","vmw_vcenter_id","vmw_vr_ops_logtype","vmw_vr_ops_appname","vmw_vr_ops_hostname","vmw_vr_ops_nodename","vmw_vr_ops_clustername","vmw_vr_ops_clusterrole","managedExternally","update","filepath","eventType","resourceId" ke "principal.resource.attribute.labels".
  • Mempetakan kolom di "payload" ke "principal.resource.attribute.labels".
  • Memetakan "client" ke "principal.ip"
  • Kolom yang dipetakan di "new_value" ke "target.resource.attribute.labels".

2023-10-03

  • Peningkatan: Menambahkan pola Grok untuk memeriksa apakah "sourceIp" adalah alamat IP yang valid atau tidak sebelum memetakan ke kolom UDM.

2023-09-12

  • Peningkatan: Menambahkan dukungan untuk log syslog yang memiliki kolom "Nilai baru" dan "Nilai lama".

2023-06-26

  • Nilai yang dipetakan di "PASS", "DROP", "REJECT", "NAT", "NONAT", "RDR", "NORDR", "PUNT", "REDIRECT", dan "COPY" ke kunci "additional.fields" sebagai "Network_Status".

2023-03-07

  • Memetakan "errorCode" ke "security_result.detection_fields".
  • Memetakan "app_type" ke "principal.application".
  • Memetakan "tname", "s2comp", "node" ke "principal.resource.attribute.labels".
  • Memetakan "exe" ke "target.process.file.full_path".
  • Memetakan "dst_ip" ke "target.ip".
  • Memetakan "ses" ke "network.session_id".
  • Memetakan "hostname" ke "principal.ip".
  • Memetakan "direction" ke "network.direction".
  • Memetakan "reqId" ke "metadata.product_log_id".

2022-06-10

  • Parser yang baru dibuat