Mengumpulkan log McAfee Web Gateway

Didukung di:

Dokumen ini menjelaskan cara menyerap log McAfee Web Gateway ke Google Security Operations menggunakan agen Bindplane. Parser mengekstrak kolom dari log dalam format SYSLOG + KV (CEF), JSON, dan mentah. Prosesor ini menggunakan filter grok dan csv untuk mengurai struktur log yang berbeda, dan menormalisasi nama kolom. Kemudian, kolom yang diekstrak dipetakan ke skema Model Data Terpadu (UDM), menangani berbagai kasus ekstrem dan inkonsistensi data untuk membuat output terpadu.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows 2016 atau yang lebih baru atau host Linux dengan systemd
  • Jika dijalankan di belakang proxy, port firewall terbuka
  • Akses istimewa ke McAfee Web Gateway

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

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: '/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
            ingestion_labels:
                log_type: MCAFEE_WEBPROXY
                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 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 di McAfee Web Gateway

  1. Login ke UI web McAfee Web Gateway Anda.
  2. Buka Policy > Rule Sets.
  3. Klik Log Handler, lalu luaskan set aturan Default, dan pilih set aturan CEF Syslog bertingkat.
  4. Aktifkan aturan Send to Syslog.
  5. Klik Simpan Perubahan.
  6. Buka Configuration > Appliances > Log File Manager > Settings.
  7. Pilih Tulis log audit ke syslog.
  8. Buka Configuration > File Editor.
  9. Pilih rsyslog.conf di struktur file.
  10. Edit file sebagai berikut:
    • Temukan baris (atau yang serupa): *.info;mail.none;authpriv.none;cron.none /var/log/messages.
    • Tambahkan daemon di baris ini dan sisipkan - (tanda hubung) sebelum informasi jalur: *.info;daemon.!=info;mail.none;authpriv.none;cron.none -/var/log/messages
  11. Tambahkan baris baru di bagian bawah file untuk mengirim pesan info ke alamat IP agen Bindplane.

    • Untuk syslog melalui UDP:

      daemon.info;auth.=info @<bindplane-server-ip>:<bindplane-port>
      
    • Untuk syslog melalui TCP:

      daemon.info;auth.=info @@<bindplane-server-ip>:<bindplane-port>
      

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
application_name principal.application Dipetakan langsung dari kolom application_name dalam format KV atau user_agent_product dalam format JSON.
auth_user principal.user.userid Dipetakan langsung dari kolom auth_user dalam format KV.
block_reason security_result.summary Dipetakan langsung dari kolom block_reason dalam format JSON dan CSV JSON, atau _block_reason dalam format mentah, atau block_reason dalam format KV.
block_res security_result.action Dipetakan dari kolom block_res dalam format KV. Jika block_res adalah DENIED atau berisi Block, tindakannya adalah BLOCK. Jika block_res adalah 0 atau berisi Allow, tindakannya adalah ALLOW. Nilai khusus seperti 50, 51, 52, 53, 58, 59, 81, 80, 82, 83, 84, 110, 111 digunakan untuk menentukan security_result.category.
bytes_from_client network.sent_bytes Dipetakan langsung dari kolom bytes_from_client dalam format KV, atau sr_bytes dalam format mentah, atau client_to_server_bytes dalam format JSON dan CSV JSON.
bytes_to_client network.received_bytes Dipetakan langsung dari kolom bytes_to_client dalam format KV, atau rs_bytes dalam format mentah, atau server_to_client_bytes dalam format JSON dan CSV JSON.
categories security_result.category_details Dipetakan langsung dari kolom categories dalam format KV, atau _category dalam format mentah, atau category dalam format JSON dan CSV JSON.
client_ip principal.ip, intermediary.ip Dipetakan langsung dari kolom client_ip dalam format JSON.
clientIP principal.ip Dipetakan langsung dari kolom clientIP dalam format CEF.
csmethod network.http.method Dipetakan langsung dari kolom csmethod dalam format mentah.
day metadata.event_timestamp Bagian stempel waktu, diekstrak dari kolom time_stamp dalam format KV.
destination_ip target.ip Dipetakan langsung dari kolom destination_ip dalam format JSON.
destination_port target.port Dipetakan langsung dari kolom destination_port dalam format JSON.
domain target.hostname, target.url Dipetakan langsung dari kolom domain dalam format mentah. Digunakan untuk membuat target.url jika uri ada.
header intermediary.hostname Diekstrak dari awal pesan log. Digunakan untuk mengekstrak intermediary.hostname.
host target.hostname Dipetakan langsung dari kolom host dalam format KV.
hostname principal.hostname Dipetakan langsung dari kolom hostname dalam format JSON.
hour metadata.event_timestamp Bagian stempel waktu, diekstrak dari kolom time_stamp dalam format KV.
http_action network.http.method Dipetakan langsung dari kolom http_action dalam format JSON.
http_status_code network.http.response_code Dipetakan langsung dari kolom http_status_code dalam format JSON dan CSV JSON, atau status_code dalam format mentah dan KV.
kv_entry.application_name principal.application Dipetakan langsung dari kolom application_name dalam entri KV.
kv_entry.auth_user principal.user.userid Dipetakan langsung dari kolom auth_user dalam entri KV.
kv_entry.block_reason security_result.summary Dipetakan langsung dari kolom block_reason dalam entri KV.
kv_entry.block_res security_result.action, security_result.category Dipetakan dari kolom block_res dalam entri KV. Logika untuk menentukan tindakan dan kategori sama dengan logika untuk kolom block_res tingkat teratas.
kv_entry.bytes_from_client network.sent_bytes Dipetakan langsung dari kolom bytes_from_client dalam entri KV.
kv_entry.bytes_to_client network.received_bytes Dipetakan langsung dari kolom bytes_to_client dalam entri KV.
kv_entry.categories security_result.category_details Dipetakan langsung dari kolom categories dalam entri KV.
kv_entry.host target.hostname Dipetakan langsung dari kolom host dalam entri KV.
kv_entry.method network.http.method Dipetakan langsung dari kolom method dalam entri KV.
kv_entry.rep_level security_result.severity_details Dipetakan langsung dari kolom rep_level dalam entri KV.
kv_entry.server_ip target.ip Dipetakan langsung dari kolom server_ip dalam entri KV.
kv_entry.status_code network.http.response_code Dipetakan langsung dari kolom status_code dalam entri KV.
kv_entry.time_stamp metadata.event_timestamp Dipetakan langsung dari kolom time_stamp dalam entri KV.
kv_entry.url target.url Dipetakan langsung dari kolom url dalam entri KV.
kv_entry.url_port target.port Dipetakan langsung dari kolom url_port dalam entri KV.
kv_entry.user_agent network.http.parsed_user_agent Dipetakan langsung dari kolom user_agent dalam entri KV, lalu diurai menjadi objek terstruktur.
last_rule security_result.rule_name Dipetakan langsung dari kolom last_rule dalam format JSON.
loc principal.location.country_or_region Dipetakan langsung dari kolom loc yang diekstrak dari tgt_ip_or_location.
location principal.location.country_or_region Dipetakan langsung dari kolom location dalam format JSON.
log.file.path principal.process.file.full_path Dipetakan langsung dari kolom log.file.path dalam format JSON.
message Bervariasi Pesan log mentah. Diparsing secara berbeda bergantung pada formatnya (raw, JSON, KV, CEF).
method network.http.method Dipetakan langsung dari kolom method dalam format KV dan mentah, atau http_action dalam format JSON, atau berasal dari data CEF. Jika nilainya adalah salah satu dari GET, POST, HEAD, OPTIONS, PUT, CONNECT, metadata.event_type akan ditetapkan ke NETWORK_HTTP. Jika nilainya adalah - atau CERTVERIFY, metadata.event_type akan ditetapkan ke NETWORK_CONNECTION.
mins metadata.event_timestamp Bagian stempel waktu, diekstrak dari kolom time_stamp dalam format KV.
month metadata.event_timestamp Bagian stempel waktu, diekstrak dari kolom time_stamp dalam format KV, atau kolom rt dalam format CEF.
monthday metadata.event_timestamp Bagian stempel waktu, diekstrak dari awal pesan log.
protocol network.application_protocol Dipetakan langsung dari kolom protocol dalam format mentah, atau uri_scheme dalam format JSON, atau berasal dari kolom url dalam format KV.
query target.url Dipetakan langsung dari kolom query dalam format mentah. Ditambahkan ke kolom url.
rep_level security_result.severity_details Dipetakan langsung dari kolom rep_level dalam format KV, atau reputation dalam format JSON, atau _risk dalam format mentah. Digunakan untuk menentukan security_result.severity.
request target.url Dipetakan langsung dari kolom request dalam format CEF.
requestClientApplication network.http.user_agent Dipetakan langsung dari kolom requestClientApplication dalam format CEF.
requestContext network.http.referral_url Dipetakan langsung dari kolom requestContext dalam format CEF.
requestMethod network.http.method Dipetakan langsung dari kolom requestMethod dalam format CEF.
requested_host target.url Dipetakan langsung dari kolom requested_host dalam format JSON. Digunakan untuk membuat target.url jika requested_path juga ada.
requested_path target.url Dipetakan langsung dari kolom requested_path dalam format JSON. Ditambahkan ke requested_host untuk membentuk target.url.
request_timestamp metadata.event_timestamp Dipetakan langsung dari kolom request_timestamp dalam format JSON.
result security_result.action, security_result.category Dipetakan langsung dari kolom result dalam format JSON dan CSV JSON, atau block_res dalam format KV. Digunakan untuk menentukan security_result.action dan security_result.category.
rt metadata.event_timestamp Dipetakan langsung dari kolom rt dalam format CEF.
secs metadata.event_timestamp Bagian stempel waktu, diekstrak dari kolom time_stamp dalam format KV.
server_ip target.ip Dipetakan langsung dari kolom server_ip dalam format KV.
source_ip principal.ip Dipetakan langsung dari kolom source_ip dalam format JSON, CSV JSON, mentah, dan KV, atau src dalam format CEF, atau src_ip dalam format mentah.
src principal.ip Dipetakan langsung dari kolom src dalam format CEF.
status_code network.http.response_code Dipetakan langsung dari kolom status_code dalam format mentah.
summary security_result.summary Dipetakan langsung dari kolom summary dalam format CSV, atau block_reason dalam format JSON.
system principal.platform Dipetakan langsung dari kolom system dalam format JSON. Dikonversi menjadi huruf besar.
target_ip target.ip Dipetakan langsung dari kolom target_ip dalam format mentah, atau dst dalam format CEF.
tgtport target.port Dipetakan langsung dari kolom tgtport dalam format mentah.
time metadata.event_timestamp Bagian stempel waktu, diekstrak dari awal pesan log, atau kolom rt dalam format CEF, atau kolom time_stamp dalam format KV.
timestamp metadata.event_timestamp Dipetakan langsung dari kolom @timestamp dalam format JSON.
timezone metadata.event_timestamp Bagian stempel waktu, diekstrak dari kolom time_stamp dalam format KV.
uri target.url Dipetakan langsung dari kolom uri dalam format mentah. Digunakan untuk membuat target.url.
uri_scheme network.application_protocol Dipetakan langsung dari kolom uri_scheme dalam format JSON. Dikonversi menjadi huruf besar.
url target.url Dipetakan langsung dari kolom url dalam format mentah, KV, dan JSON, atau dibuat dari domain, uri, dan query dalam format mentah, atau requested_host dan requested_path dalam format JSON, atau request dalam format CEF.
url_port target.port Dipetakan langsung dari kolom url_port dalam format KV.
user principal.user.userid Dipetakan langsung dari kolom user dalam format JSON, atau username dalam format JSON, atau auth_user dalam format KV, atau suser dalam format mentah.
user_agent network.http.parsed_user_agent Dipetakan langsung dari kolom user_agent dalam format mentah dan KV, atau user_agent_comment dalam format JSON, atau requestClientApplication dalam format CEF, atau dibuat dari agent.type dan agent.version dalam format JSON. Diuraikan menjadi objek terstruktur.
user_agent_comment network.http.parsed_user_agent Dipetakan langsung dari kolom user_agent_comment dalam format JSON.
user_agent_product principal.application Dipetakan langsung dari kolom user_agent_product dalam format JSON.
username principal.user.userid Dipetakan langsung dari kolom username dalam format JSON.
year metadata.event_timestamp Bagian stempel waktu, diekstrak dari kolom time_stamp dalam format KV, atau kolom rt dalam format CEF.
T/A metadata.event_type Ditentukan oleh parser berdasarkan kolom method. Dapat berupa NETWORK_HTTP, NETWORK_CONNECTION, GENERIC_EVENT, atau STATUS_UPDATE.
T/A metadata.log_type Hardcode ke MCAFEE_WEBPROXY.
T/A metadata.product_name Hardcode ke MCAFEE_WEBPROXY.
T/A metadata.vendor_name Hardcode ke MCAFEE.
T/A network.direction Hardcode ke OUTBOUND.
T/A security_result.action Ditentukan oleh parser berdasarkan kolom block_reason atau result. Dapat berupa ALLOW atau BLOCK.
T/A security_result.category Ditentukan oleh parser berdasarkan kolom result. Dapat berupa NETWORK_CATEGORIZED_CONTENT, NETWORK_DENIAL_OF_SERVICE, MAIL_SPAM, AUTH_VIOLATION, SOFTWARE_MALICIOUS, NETWORK_SUSPICIOUS, atau NETWORK_MALICIOUS.
T/A security_result.severity Ditentukan oleh parser berdasarkan kolom risk. Dapat berupa LOW, MEDIUM, atau HIGH.

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