Mengumpulkan log McAfee Firewall Enterprise

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log McAfee Firewall Enterprise. Kode parser pertama-tama mengekstrak kolom menggunakan serangkaian pola Grok, yang menangani format SYSLOG dan JSON. Kemudian, bergantung pada kategori log yang diidentifikasi, skema ini akan menerapkan pola Grok dan ekstraksi nilai kunci tertentu untuk memetakan data ke dalam skema UDM Google Security Operations.

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 dengan hak istimewa ke McAfee ESM.

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 with your specific IP and port
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Path to the ingestion authentication file
        creds: '/path/to/your/ingestion-auth.json'
        # Your Chronicle customer ID
        customer_id: 'your_customer_id'
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
          log_type: SYSLOG
          namespace: mcafee_esm
          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
    

Mengonfigurasi McAfee ESM untuk Meneruskan Syslog

  1. Login ke konsol McAfee ESM.
  2. Buka System Properties > Event Forwarding.
  3. Klik Tambahkan untuk membuat aturan penerusan syslog baru.
  4. Konfigurasikan setelan berikut:
    • Nama: masukkan nama deskriptif (misalnya, Google SecOps Forwarding).
    • Alamat IP Tujuan: masukkan IP server Syslog (atau agen BindPlane) Anda.
    • Destination Port: gunakan 514 untuk UDP (Anda dapat menentukan port lain, bergantung pada konfigurasi server Syslog/Bindplane).
    • Protokol: pilih UDP (pilihan lainnya adalah TCP atau TLS, bergantung pada konfigurasi server Syslog/Bindplane Anda).
    • Format: pilih CEF (Common Event Format) atau ASCII (format yang direkomendasikan untuk log McAfee).
    • Filter: menentukan jenis peristiwa yang ingin diteruskan, misalnya log firewall, peristiwa autentikasi, atau deteksi ancaman.
  5. Klik Save.
  6. Mulai ulang layanan McAfee ESM agar perubahan dapat diterapkan.

Tabel Pemetaan UDM

Kolom log Pemetaan UDM Logika
tindakan security_result.action_details Nilai diambil dari kolom "act" dalam payload JSON yang diuraikan.
kucing security_result.category_details Nilai diambil dari kolom "cat" dalam payload JSON yang diuraikan.
data.AppID target.application Nilai diambil dari kolom "AppID" dalam payload JSON yang diuraikan.
data.Destination_Hostname target.hostname Nilai diambil dari kolom "Destination_Hostname" dalam payload JSON yang diuraikan.
data.Destination_UserID target.user.windows_sid Nilai diambil dari kolom "Destination_UserID" dalam payload JSON yang diuraikan.
data.DomainID target.administrative_domain Nilai diambil dari kolom "DomainID" dalam payload JSON yang diuraikan.
data.dst_ip target.ip Nilai diambil dari kolom "dst_ip" dalam payload JSON yang diuraikan.
data.dst_mac target.mac Nilai diambil dari kolom "dst_mac" dalam payload JSON yang diuraikan.
data.dst_port target.port Nilai diambil dari kolom "dst_port" dalam payload JSON yang diuraikan dan dikonversi menjadi bilangan bulat.
data.HostID target.hostname Nilai diambil dari kolom "HostID" dalam payload JSON yang diuraikan.
data.norm_sig.name Kolom ini menentukan jenis peristiwa berdasarkan nilainya.
data.PID target.process.pid Nilai diambil dari kolom "PID" dalam payload JSON yang diuraikan.
data.Process_Name target.process.command_line Nilai diambil dari kolom "Process_Name" dalam payload JSON yang diuraikan.
data.severity security_result.severity Nilai diambil dari kolom "severity" dalam payload JSON yang diuraikan, dikonversi menjadi bilangan bulat, dan dipetakan ke tingkat keparahan UDM berdasarkan nilainya: RENDAH (1-32), SEDANG (33-65), TINGGI (66-100).
data.sig.name security_result.description Nilai diambil dari kolom "sig.name" dalam payload JSON yang diuraikan.
data.Source_Logon_ID about.labels.value Nilai diambil dari kolom "Source_Logon_ID" dalam payload JSON yang diuraikan.
data.Source_UserID principal.user.windows_sid Nilai diambil dari kolom "Source_UserID" dalam payload JSON yang diuraikan.
data.src_ip principal.ip Nilai diambil dari kolom "src_ip" dalam payload JSON yang diuraikan.
data.src_mac principal.mac Nilai diambil dari kolom "src_mac" dalam payload JSON yang diuraikan.
data.src_port principal.port Nilai diambil dari kolom "src_port" dalam payload JSON yang diuraikan dan dikonversi menjadi bilangan bulat.
data.UserIDDst target.user.userid Nilai diambil dari kolom "UserIDDst" dalam payload JSON yang diuraikan.
data.UserIDSrc principal.user.userid Nilai diambil dari kolom "UserIDSrc" dalam payload JSON yang diuraikan.
deviceExternalId about.asset.asset_id Nilai diambil dari kolom "deviceExternalId" dalam payload JSON yang diuraikan dan digabungkan dengan nama produk untuk membuat ID aset unik.
deviceTranslatedAddress about.nat_ip Nilai diambil dari kolom "deviceTranslatedAddress" dalam payload JSON yang diuraikan.
dst target.ip Nilai diambil dari kolom "dst" dalam payload JSON yang diuraikan.
dpt target.port Nilai diambil dari kolom "dpt" dalam payload JSON yang diuraikan dan dikonversi menjadi bilangan bulat.
eventId additional.fields.value.string_value Nilai diambil dari kolom "eventId" dalam payload JSON yang diuraikan.
externalId metadata.product_log_id Nilai diambil dari kolom "externalId" dalam payload JSON yang diuraikan.
hostname principal.hostname Nilai diambil dari kolom "hostname" yang diekstrak oleh pola grok.
log_category metadata.log_type Nilai diambil dari kolom "log_category" yang diekstrak oleh pola grok.
log_type metadata.product_event_type Nilai diambil dari kolom "log_type" yang diekstrak oleh pola grok.
message Kolom ini diuraikan untuk mengekstrak berbagai kolom bergantung pada kategori log.
nitroURL Kolom ini tidak dipetakan ke objek IDM di UDM.
pid principal.process.pid Nilai diambil dari kolom "pid" yang diekstrak oleh pola grok.
process_id about.process.pid Nilai diambil dari kolom "process_id" yang diekstrak oleh pola grok.
proto network.ip_protocol Nilai diambil dari kolom "proto" dalam payload JSON yang diuraikan dan dipetakan ke protokol IP yang sesuai.
rhost principal.ip Nilai diambil dari kolom "rhost" yang diekstrak oleh pola grok dan diuraikan sebagai alamat IP.
shost principal.hostname Nilai diambil dari kolom "shost" dalam payload JSON yang diuraikan.
sntdom principal.administrative_domain Nilai diambil dari kolom "sntdom" dalam payload JSON yang diuraikan.
spt principal.port Nilai diambil dari kolom "spt" dalam payload JSON yang diuraikan dan dikonversi menjadi bilangan bulat.
src principal.ip Nilai diambil dari kolom "src" dalam payload JSON yang diuraikan.
waktu timestamp Nilai diambil dari kolom "time" yang diekstrak oleh pola grok dan diuraikan sebagai stempel waktu.
jenis metadata.product_event_type Nilai diambil dari kolom "type" yang diekstrak oleh filter kv.
uid principal.user.userid Nilai diambil dari kolom "uid" yang diekstrak oleh filter kv.
metadata.event_type metadata.event_type Nilai ditetapkan berdasarkan nama peristiwa dan kolom lain dalam log. Logika untuk menentukan jenis peristiwa adalah sebagai berikut: - Jika nama peristiwa berisi "TCP", jenis peristiwa ditetapkan ke "NETWORK_CONNECTION". - Jika nama peristiwa berisi "Mail", jenis peristiwa ditetapkan ke "EMAIL_TRANSACTION". - Jika nama peristiwa berisi "HTTP" atau "http", jenis peristiwa ditetapkan ke "NETWORK_HTTP". - Jika nama peristiwa berisi "User Accessed" atau "denied by access-list", jenis peristiwa ditetapkan ke "USER_RESOURCE_ACCESS". - Jika nama peristiwa berisi "Data Source Idle", jenis peristiwa ditetapkan ke "STATUS_UPDATE". - Jika nama peristiwa berisi "Comm with snowflex", jenis peristiwa ditetapkan ke "SERVICE_UNSPECIFIED". - Jika nama peristiwa berisi "Akun berhasil login", jenis peristiwa ditetapkan ke "USER_LOGIN". - Jika nama peristiwa berisi "Status inisialisasi untuk objek layanan", jenis peristiwa ditetapkan ke "GENERIC_EVENT". - Jika tidak ada kondisi di atas yang terpenuhi, jenis peristiwa akan ditetapkan ke "GENERIC_EVENT".
metadata.vendor_name metadata.vendor_name Nilai ditetapkan ke "MCAFEE".
network.direction network.direction Nilai ditetapkan ke "INBOUND" jika kolom "deviceDirection" dalam payload JSON yang diuraikan adalah 0. Jika tidak, nilai ini akan ditetapkan ke "KELUAR".
security_result.severity security_result.severity Nilai ditetapkan ke "LOW" jika kolom "cef_event_severity" dalam payload JSON yang diuraikan adalah 1, "MEDIUM" jika 2, "HIGH" jika 3, dan "CRITICAL" jika 9.

Perubahan

2024-03-21

  • Parser yang baru dibuat.