Mengumpulkan log Check Point Harmony

Didukung di:

Dokumen ini menjelaskan cara menyerap log Check Point Harmony Email and Collaboration (HEC) ke Google Security Operations menggunakan BindPlane. Kode parser ini mengekstraksi pasangan nilai kunci dari pesan syslog Check Point Harmony dan memetakannya ke Model Data Terpadu (UDM). Pertama-tama, format pesan dinormalisasi, lalu kolom diuraikan dan dipetakan secara iteratif ke kategori UDM seperti principal, target, network, dan security_result, sehingga memperkaya data untuk analisis keamanan.

Sebelum memulai

Pastikan Anda memenuhi 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 Check Point Harmony HEC (Infinity Portal)

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: 'CHECKPOINT_HARMONY'
            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 Check Point Harmony HEC

  1. Login ke UI web Infinity Portal > Harmony Email & Collaboration.
  2. Buka Settings > Monitoring > SIEM.
  3. Klik Tambahkan Server SIEM.
  4. Berikan detail konfigurasi berikut:
    • Host: Masukkan alamat IP agen BindPlane.
    • Port: Masukkan nomor port agen Bindplane.
    • Protokol: Pilih UDP.
    • (Opsional) Token: Masukkan tag opsional ke log.
  5. Klik Simpan.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
tindakan security_result.action_details Dipetakan secara langsung.
security_result.action Dipetakan ke ALLOW, BLOCK, ALLOW_WITH_MODIFICATION, atau QUARANTINE berdasarkan nilai kolom tindakan.
additional_info additional.fields.value.string_value Dipetakan langsung dengan kunci = additional_info.
analyzed_on security_result.detection_fields.value Dipetakan langsung dengan kunci = analyzed_on.
client_name additional.fields.value.string_value Dipetakan langsung dengan kunci = client_name.
client_version intermediary.platform_version Dipetakan secara langsung.
confidence_level security_result.detection_fields.value Dipetakan langsung dengan kunci = confidence_level.
security_result.confidence Dipetakan ke UNKNOWN_CONFIDENCE, LOW_CONFIDENCE, MEDIUM_CONFIDENCE, atau HIGH_CONFIDENCE berdasarkan nilai kolom confidence_level.
deskripsi security_result.description Dipetakan secara langsung.
dst target.ip Dipetakan secara langsung.
dst_dns_name security_result.detection_fields.value Dipetakan langsung dengan kunci = dst_dns_name.
dst_machine_name security_result.detection_fields.value Dipetakan langsung dengan kunci = dst_machine_name.
target.asset.hostname Dipetakan secara langsung.
target.hostname Dipetakan secara langsung.
dst_user_dn security_result.detection_fields.value Dipetakan langsung dengan kunci = dst_user_dn.
dst_user_name target.user.userid Dipetakan secara langsung.
ep_rule_id security_result.rule_id Dipetakan secara langsung jika rule_uid kosong.
error security_result.summary Dipetakan secara langsung.
event_type metadata.product_event_type Dipetakan secara langsung.
file_md5 target.process.file.md5 Dipetakan secara langsung jika nilainya adalah hash MD5 yang valid dan bukan semua nol.
target.file.md5 Dipetakan secara langsung jika nilainya adalah hash MD5 yang valid dan bukan semua nol.
file_name target.process.file.full_path Dipetakan secara langsung.
file_sha1 target.process.file.sha1 Dipetakan secara langsung jika nilainya adalah hash SHA-1 yang valid dan bukan semua nol.
target.file.sha1 Dipetakan secara langsung jika nilainya adalah hash SHA-1 yang valid dan bukan semua nol.
file_sha256 target.process.file.sha256 Dipetakan secara langsung jika nilainya adalah hash SHA256 yang valid dan bukan nol semua.
target.file.sha256 Dipetakan secara langsung jika nilainya adalah hash SHA256 yang valid dan bukan nol semua.
file_size target.file.size Dipetakan secara langsung.
file_type target.file.file_type Dipetakan ke FILE_TYPE_ZIP, FILE_TYPE_DOS_EXE, FILE_TYPE_PDF, atau FILE_TYPE_XLSX berdasarkan nilai kolom file_type.
flag additional.fields.value.string_value Dipetakan langsung dengan kunci = flags.
fw_subproduct additional.fields.value.string_value Dipetakan langsung dengan kunci = fw_subproduct jika produk kosong.
metadata.product_name Dipetakan secara langsung jika produk kosong.
host_type security_result.detection_fields.value Dipetakan langsung dengan kunci = host_type.
ifdir network.direction Dipetakan secara langsung setelah dikonversi menjadi huruf besar.
ifname security_result.detection_fields.value Dipetakan langsung dengan kunci = ifname.
installed_products security_result.detection_fields.value Dipetakan langsung dengan kunci = installed_products.
is_scanned security_result.detection_fields.value Dipetakan langsung dengan kunci = is_scanned.
layer_name security_result.detection_fields.value Dipetakan langsung dengan kunci = layer_name.
security_result.rule_set_display_name Dipetakan secara langsung.
layer_uuid security_result.detection_fields.value Dipetakan langsung dengan kunci = layer_uuid.
security_result.rule_set Dipetakan secara langsung.
loguid metadata.product_log_id Dipetakan secara langsung.
machine_guid principal.asset.attribute.labels.value Dipetakan langsung dengan kunci = machine_guid.
malware_action security_result.detection_fields.value Dipetakan langsung dengan kunci = malware_action.
malware_family security_result.detection_fields.value Dipetakan langsung dengan kunci = malware_family.
media_authorized security_result.detection_fields.value Dipetakan langsung dengan kunci = media_authorized.
media_class_id security_result.detection_fields.value Dipetakan langsung dengan kunci = media_class_id.
media_description security_result.detection_fields.value Dipetakan langsung dengan kunci = media_description.
media_encrypted security_result.detection_fields.value Dipetakan langsung dengan kunci = media_encrypted.
media_manufacturer security_result.detection_fields.value Dipetakan langsung dengan kunci = media_manufacturer.
media_type security_result.detection_fields.value Dipetakan langsung dengan kunci = media_type.
metode security_result.detection_fields.value Dipetakan langsung dengan kunci = methods.
originsicname security_result.detection_fields.value Dipetakan langsung dengan kunci = originsicname.
asal intermediary.ip Dipetakan secara langsung.
os_version principal.asset.platform_software.platform_patch_level Dipetakan secara langsung.
outzone security_result.detection_fields.value Dipetakan langsung dengan kunci = outzone.
parent_rule security_result.detection_fields.value Dipetakan langsung dengan kunci = parent_rule.
peer_gateway intermediary.ip Dipetakan secara langsung.
policy_guid security_result.detection_fields.value Dipetakan langsung dengan kunci = policy_guid.
policy_name security_result.detection_fields.value Dipetakan langsung dengan kunci = policy_name.
policy_number security_result.detection_fields.value Dipetakan langsung dengan kunci = policy_number.
policy_type security_result.detection_fields.value Dipetakan langsung dengan kunci = policy_type.
produk additional.fields.value.string_value Dipetakan langsung dengan kunci = product.
metadata.product_name Dipetakan secara langsung.
product_family additional.fields.value.string_value Dipetakan langsung dengan kunci = product_family.
program_name additional.fields.value.string_value Dipetakan langsung dengan kunci = program_name.
protection_name security_result.detection_fields.value Dipetakan langsung dengan kunci = protection_name.
protection_type security_result.detection_fields.value Dipetakan langsung dengan kunci = protection_type.
reading_data_access security_result.detection_fields.value Dipetakan langsung dengan kunci = reading_data_access.
rule_action security_result.detection_fields.value Dipetakan langsung dengan kunci = rule_action.
rule_name security_result.rule_name Dipetakan secara langsung.
rule_uid security_result.rule_id Dipetakan secara langsung jika ep_rule_id kosong.
s_port principal.port Dipetakan secara langsung.
skema security_result.detection_fields.value Dipetakan langsung dengan kunci = scheme.
sequencenum additional.fields.value.string_value Dipetakan langsung dengan kunci = sequencenum.
pelanggan target.port Dipetakan secara langsung.
service_id security_result.detection_fields.value Dipetakan langsung dengan kunci = service_id.
session_uid network.session_id Dipetakan secara langsung.
src principal.ip Dipetakan secara langsung.
src_dns_name security_result.detection_fields.value Dipetakan langsung dengan kunci = src_dns_name.
src_machine_name security_result.detection_fields.value Dipetakan langsung dengan kunci = src_machine_name.
principal.asset.hostname Dipetakan secara langsung.
principal.hostname Dipetakan secara langsung.
src_user_dn security_result.detection_fields.value Dipetakan langsung dengan kunci = src_user_dn.
src_user_name principal.user.userid Dipetakan secara langsung.
principal.user.email_addresses Alamat email diekstrak dari kolom src_user_name jika ada dan dalam format userid (email).
te_verdict_determined_by security_result.detection_fields.value Dipetakan langsung dengan kunci = te_verdict_determined_by.
timestamp metadata.event_timestamp Dipetakan secara langsung.
trusted_domain security_result.detection_fields.value Dipetakan langsung dengan kunci = trusted_domain.
pengguna principal.user.userid Dipetakan secara langsung jika src_user_name kosong.
principal.user.email_addresses Alamat email diekstrak dari kolom pengguna jika ada dan dalam format userid (email).
user_name principal.user.email_addresses Dipetakan secara langsung jika nilainya adalah alamat email yang valid.
user_sid principal.user.windows_sid Dipetakan secara langsung.
putusan security_result.detection_fields.value Dipetakan langsung dengan kunci = verdict.
versi additional.fields.value.string_value Dipetakan langsung dengan kunci = version.
vpn_feature_name security_result.detection_fields.value Dipetakan langsung dengan kunci = vpn_feature_name.
web_client_type security_result.detection_fields.value Dipetakan langsung dengan kunci = web_client_type.
metadata.log_type Kolom ini di-hardcode menjadi CHECKPOINT_HARMONY.
metadata.vendor_name Kolom ini di-hardcode menjadi CHECKPOINT_HARMONY.
principal.asset.platform_software.platform Dipetakan ke WINDOWS, MAC, atau LINUX berdasarkan nilai kolom os_name.
network.ip_protocol Dipetakan ke TCP, UDP, ICMP, IP6IN4, atau GRE berdasarkan nilai kolom proto dan kolom lainnya seperti service dan service_id.
security_result.severity Dipetakan ke LOW, MEDIUM, HIGH, atau CRITICAL berdasarkan nilai kolom severity.
metadata.event_type Kolom ini ditetapkan ke NETWORK_CONNECTION jika pokok dan target ada, STATUS_UNCATEGORIZED jika hanya pokok yang ada, dan GENERIC_EVENT jika tidak ada.

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