Mengumpulkan log Forcepoint Proxy

Didukung di:

Dokumen ini menjelaskan cara menyerap log Forcepoint Proxy ke Google Security Operations menggunakan BindPlane. Parser pertama-tama membersihkan pesan log input dan mengekstrak key-value pair menggunakan pola grok dan ekspresi reguler. Kemudian, kolom yang diekstrak dipetakan ke Model Data Terpadu (UDM) berdasarkan kondisi dan nilai kolom tertentu, menangani berbagai format log dan kasus ekstrem untuk memastikan representasi data yang konsisten.

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 belakang proxy, pastikan port firewall terbuka.
  • Pastikan Anda memiliki akses istimewa ke Forcepoint Proxy.

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

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:

    1. Cari file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    2. 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: FORCEPOINT_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 Forcepoint Web Security Suite

  1. Login ke konsol Forcepoint.
  2. Buka Web > Setelan > Umum.
  3. Klik Integrasi SIEM.
  4. Centang kotak Aktifkan integrasi SIEM untuk server kebijakan ini.
  5. Berikan detail konfigurasi berikut:
    • Alamat IP atau nama host: masukkan alamat IP agen Bindplane.
    • Nomor port: masukkan nomor port yang dikonfigurasi di agen BindPlane; misalnya, 514.
    • Protokol transport: pilih protokol UDP.
    • Format SIEM: pilih Syslog/CEF (Arcsight).
  6. Klik Ok.
  7. Klik Save and deploy.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
tindakan security_result.summary Jika action_msg tidak kosong, pesan ini dipetakan ke security_result.summary. Jika tidak, jika tindakan tidak kosong, tindakan akan dipetakan ke security_result.summary. Jika tidak, jika act tidak kosong, act akan dipetakan ke security_result.summary.
action_msg security_result.summary Jika action_msg tidak kosong, pesan ini dipetakan ke security_result.summary. Jika tidak, jika tindakan tidak kosong, tindakan akan dipetakan ke security_result.summary. Jika tidak, jika act tidak kosong, act akan dipetakan ke security_result.summary.
aplikasi target.application Jika destinationServiceName tidak kosong, kolom ini dipetakan ke app_name. Jika tidak, jika aplikasi tidak kosong dan tidak berisi http atau HTTP, aplikasi akan dipetakan ke app_name. Terakhir, app_name dipetakan ke target.application.
bytes_in network.received_bytes Jika in tidak kosong, maka akan dipetakan ke bytes_in. Terakhir, bytes_in dipetakan ke network.received_bytes.
bytes_out network.sent_bytes Jika out tidak kosong, out dipetakan ke bytes_out. Terakhir, bytes_out dipetakan ke network.sent_bytes.
kucing security_result.category_details Jika cat tidak kosong, cat dipetakan ke kategori. Terakhir, kategori dipetakan ke security_result.category_details.
cn1 security_result.detection_fields.value Jika cn1 tidak kosong, cn1 dipetakan ke security_result.detection_fields.value dengan kunci Disposition Number.
ContentType target.file.mime_type Jika contentType tidak kosong, contentType akan dipetakan ke ContentType. Terakhir, ContentType dipetakan ke target.file.mime_type.
cs1 target_role.description cs1 dipetakan ke target_role.description.
cs2 security_result.category_details Jika cs2 tidak kosong dan bukan 0, cs2 dipetakan ke security_result.category_details dengan awalan Dynamic Category:.
cs3 target.file.mime_type cs3 dipetakan ke target.file.mime_type.
deskripsi metadata.description Jika deskripsi tidak kosong, deskripsi akan dipetakan ke metadata.description.
destinationServiceName target.application Jika destinationServiceName tidak kosong, kolom ini dipetakan ke app_name. Terakhir, app_name dipetakan ke target.application.
deviceFacility metadata.product_event_type Jika product_event dan deviceFacility tidak kosong, keduanya digabungkan dengan - dan dipetakan ke metadata.product_event_type. Jika tidak, product_event dipetakan ke metadata.product_event_type.
disposisi security_result.detection_fields.value Jika disposisi tidak kosong, disposisi dipetakan ke security_result.detection_fields.value dengan kunci Disposition Number.
dst target.ip Jika dst tidak kosong dan dvchost kosong, maka akan dipetakan ke dst_ip. Terakhir, dst_ip dipetakan ke target.ip.
dst_host target.hostname Jika dst tidak kosong dan dvchost kosong, maka akan dipetakan ke dst_host. Terakhir, dst_host dipetakan ke target.hostname.
dst_ip target.ip Jika dst tidak kosong dan dvchost kosong, maka akan dipetakan ke dst_ip. Terakhir, dst_ip dipetakan ke target.ip.
dst_port target.port Jika dst tidak kosong dan dvchost kosong, maka akan dipetakan ke dst_port. Terakhir, dst_port dipetakan ke target.port.
durasi network.session_duration.seconds Jika durasi tidak kosong dan bukan 0, durasi dipetakan ke network.session_duration.seconds.
dvchost intermediary.ip Jika dvchost tidak kosong, dvchost dipetakan ke int_ip. Terakhir, int_ip dipetakan ke intermediary.ip jika merupakan alamat IP yang valid, atau dipetakan ke intermediary.hostname.
file_path target.file.full_path Jika file_path tidak kosong, file_path dipetakan ke target.file.full_path.
host principal.ip Jika host tidak kosong, host akan dipetakan ke src. Terakhir, src dipetakan ke principal.ip.
http_method network.http.method Jika requestMethod tidak kosong, requestMethod akan dipetakan ke http_method. Jika tidak, jika metode tidak kosong, metode akan dipetakan ke http_method. Terakhir, http_method dipetakan ke network.http.method.
http_proxy_status_code network.http.response_code Jika http_response kosong atau 0 atau -, dan http_proxy_status_code tidak kosong, maka akan dipetakan ke network.http.response_code.
http_response network.http.response_code Jika http_response tidak kosong dan bukan 0 dan bukan -, maka akan dipetakan ke network.http.response_code.
http_user_agent network.http.user_agent Jika http_user_agent tidak kosong dan bukan -, http_user_agent dipetakan ke network.http.user_agent.
in network.received_bytes Jika in tidak kosong, maka akan dipetakan ke bytes_in. Terakhir, bytes_in dipetakan ke network.received_bytes.
int_host intermediary.hostname Jika int_ip tidak kosong dan int_host tidak kosong serta berbeda dari int_ip, maka akan dipetakan ke intermediary.hostname.
int_ip intermediary.ip Jika dvchost tidak kosong, dvchost dipetakan ke int_ip. Terakhir, int_ip dipetakan ke intermediary.ip jika merupakan alamat IP yang valid, atau dipetakan ke intermediary.hostname.
level target_role.name Jika level tidak kosong dan peran kosong, level akan dipetakan ke peran. Terakhir, peran dipetakan ke target_role.name.
log_level security_result.severity Jika tingkat keparahan adalah 1 atau log_level berisi info atau message berisi notice, security_result.severity disetel ke INFORMATIONAL. Jika tingkat keparahan adalah 7, security_result.severity ditetapkan ke HIGH.
loginID principal.user.userid Jika loginID tidak kosong, loginID akan dipetakan ke pengguna. Terakhir, jika pengguna tidak kosong dan bukan -, serta tidak berisi LDAP, maka akan dipetakan ke principal.user.userid.
metode network.http.method Jika requestMethod tidak kosong, requestMethod akan dipetakan ke http_method. Jika tidak, jika metode tidak kosong, metode akan dipetakan ke http_method. Terakhir, http_method dipetakan ke network.http.method.
NatRuleId security_result.detection_fields.value Jika NatRuleId tidak kosong, NatRuleId dipetakan ke security_result.detection_fields.value dengan kunci NatRuleId.
keluar network.sent_bytes Jika out tidak kosong, out dipetakan ke bytes_out. Terakhir, bytes_out dipetakan ke network.sent_bytes.
pid target.process.pid Jika pid tidak kosong, pid akan dipetakan ke target.process.pid.
kebijakan target_role.description Jika Kebijakan tidak kosong, kebijakan akan dipetakan ke kebijakan. Jika kebijakan tidak kosong dan bukan -, kebijakan akan dipetakan ke target_role.description.
Kebijakan target_role.description Jika Kebijakan tidak kosong, kebijakan akan dipetakan ke kebijakan. Jika kebijakan tidak kosong dan bukan -, kebijakan akan dipetakan ke target_role.description.
product_event metadata.product_event_type Jika produk tidak kosong, produk dipetakan ke product_event. Jika product_event dan deviceFacility tidak kosong, keduanya digabungkan dengan - dan dipetakan ke metadata.product_event_type. Jika tidak, product_event dipetakan ke metadata.product_event_type.
proxyStatus-code network.http.response_code Jika http_response kosong atau 0 atau -, dan http_proxy_status_code kosong serta proxyStatus-code tidak kosong, maka akan dipetakan ke network.http.response_code.
refererUrl network.http.referral_url Jika refererUrl tidak kosong dan bukan -, maka akan dipetakan ke network.http.referral_url.
requestClientApplication network.http.user_agent Jika requestMethod tidak kosong, maka akan dipetakan ke http_user_agent. Terakhir, http_user_agent dipetakan ke network.http.user_agent.
requestMethod network.http.method Jika requestMethod tidak kosong, requestMethod akan dipetakan ke http_method. Terakhir, http_method dipetakan ke network.http.method.
peran target_role.name Jika level tidak kosong dan peran kosong, level akan dipetakan ke peran. Terakhir, peran dipetakan ke target_role.name.
RuleID security_result.rule_id Jika RuleID tidak kosong, RuleID dipetakan ke security_result.rule_id.
serverStatus-code network.http.response_code Jika http_response kosong atau 0 atau -, dan http_proxy_status_code kosong serta proxyStatus-code tidak kosong, maka akan dipetakan ke network.http.response_code.
tingkat keseriusan, security_result.severity Jika tingkat keparahan adalah 1 atau log_level berisi info atau message berisi notice, security_result.severity disetel ke INFORMATIONAL. Jika tingkat keparahan adalah 7, security_result.severity ditetapkan ke HIGH.
spt principal.port Jika spt tidak kosong, spt dipetakan ke src_port. Terakhir, src_port dipetakan ke principal.port.
src principal.ip Jika src_host tidak kosong, src_host akan dipetakan ke source_ip_temp. Jika source_ip_temp adalah alamat IP yang valid dan src kosong, alamat IP tersebut dipetakan ke src. Jika host tidak kosong, host akan dipetakan ke src. Terakhir, src dipetakan ke principal.ip.
src_host principal.hostname Jika src_host tidak kosong, src_host akan dipetakan ke source_ip_temp. Jika source_ip_temp bukan alamat IP yang valid, alamat IP tersebut dipetakan ke principal.hostname. Jika source_ip_temp adalah alamat IP yang valid dan src kosong, alamat IP tersebut dipetakan ke src. Terakhir, src dipetakan ke principal.ip.
src_port principal.port Jika src_port tidak kosong, src_port dipetakan ke principal.port.
suser principal.user.userid Jika loginID tidak kosong, loginID akan dipetakan ke pengguna. Jika suser tidak kosong, suser akan dipetakan ke user. Terakhir, jika pengguna tidak kosong dan bukan -, serta tidak berisi LDAP, maka akan dipetakan ke principal.user.userid.
url target.url Jika url tidak kosong, url akan dipetakan ke target.url.
pengguna principal.user.userid Jika loginID tidak kosong, loginID akan dipetakan ke pengguna. Jika suser tidak kosong, suser akan dipetakan ke user. Jika tidak, jika usrName tidak kosong, maka akan dipetakan ke user. Terakhir, jika pengguna tidak kosong dan bukan -, serta tidak berisi LDAP, maka akan dipetakan ke principal.user.userid.
usrName principal.user.userid Jika loginID tidak kosong, loginID akan dipetakan ke pengguna. Jika suser tidak kosong, suser akan dipetakan ke user. Jika tidak, jika usrName tidak kosong, maka akan dipetakan ke user. Terakhir, jika pengguna tidak kosong dan bukan -, serta tidak berisi LDAP, maka akan dipetakan ke principal.user.userid.
kapan metadata.event_timestamp Jika when tidak kosong, parameter ini akan diuraikan dan dipetakan ke metadata.event_timestamp.
metadata.log_type Nilai FORCEPOINT_WEBPROXY di-hardcode ke metadata.log_type.
metadata.product_name Nilai Forcepoint Webproxy di-hard code ke metadata.product_name.
metadata.vendor_name Nilai Forcepoint di-hardcode ke metadata.vendor_name.
network.application_protocol Jika dst_port adalah 80, network.application_protocol disetel ke HTTP. Jika dst_port adalah 443, network.application_protocol disetel ke HTTPS.
principal.user.group_identifiers Jika pengguna tidak kosong dan bukan - serta berisi LDAP, bagian OU dari string pengguna akan diekstrak dan dipetakan ke principal.user.group_identifiers.
principal.user.user_display_name Jika pengguna tidak kosong dan bukan - serta berisi LDAP, bagian nama pengguna dari string pengguna akan diekstrak dan dipetakan ke principal.user.user_display_name.
security_result.action Jika action_msg, action, atau act tidak kosong, sec_action akan disetel ke ALLOW atau BLOCK berdasarkan nilainya. Terakhir, sec_action dipetakan ke security_result.action.
security_result.category_details Jika cat tidak kosong, cat dipetakan ke kategori. Terakhir, kategori dipetakan ke security_result.category_details. Jika cs2 tidak kosong dan bukan 0, cs2 dipetakan ke security_result.category_details dengan awalan Dynamic Category:.
security_result.detection_fields.key Nilai Disposition Number di-hardcode ke security_result.detection_fields.key saat memetakan disposisi atau cn1. Nilai NatRuleId dikodekan secara permanen ke dalam security_result.detection_fields.key saat memetakan NatRuleId. Nilai Category Number dikodekan secara permanen ke dalam security_result.detection_fields.key saat memetakan category_no.
security_result.severity Jika tingkat keparahan adalah 1 atau log_level berisi info atau message berisi notice, security_result.severity disetel ke INFORMATIONAL. Jika tingkat keparahan adalah 7, security_result.severity ditetapkan ke HIGH.
target_role.description Jika Kebijakan tidak kosong, kebijakan akan dipetakan ke kebijakan. Jika kebijakan tidak kosong dan bukan -, kebijakan akan dipetakan ke target_role.description.
target_role.name Jika level tidak kosong dan peran kosong, level akan dipetakan ke peran. Terakhir, peran dipetakan ke target_role.name.
category_no security_result.detection_fields.value Jika category_no tidak kosong, category_no dipetakan ke security_result.detection_fields.value dengan kunci Category Number.

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