Mengumpulkan log Check Point Harmony
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
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- 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
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
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
- 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).
- Cari file
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
- Login ke UI web Infinity Portal > Harmony Email & Collaboration.
- Buka Settings > Monitoring > SIEM.
- Klik Tambahkan Server SIEM.
- 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.
- 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.