Mengumpulkan log ExtraHop Reveal(x)
Versi Parser: 12.0
Dokumen ini menjelaskan cara menyerap log ExtraHop Reveal(x) ke Google Security Operations menggunakan Bindplane. ExtraHop Reveal(x) adalah platform deteksi dan respons jaringan (NDR) yang memberikan visibilitas real-time ke traffic jaringan, sehingga organisasi dapat mendeteksi ancaman, menyelidiki insiden, dan merespons peristiwa keamanan di seluruh lingkungan cloud dan lokal.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps.
- Windows Server 2016 atau yang lebih baru, atau host Linux dengan
systemd. - Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane.
- Akses istimewa ke setelan Administrasi ExtraHop Reveal(x).
Mendapatkan kredensial Google SecOps untuk agen Bindplane
Untuk mengautentikasi agen Bindplane ke Google SecOps, pilih salah satu metode berikut:
- Deployment baru: Gunakan Chronicle API (Opsi 1).
- Deployment lama: Terus gunakan file autentikasi penyerapan (Opsi 2) hingga Ingestion API dihentikan pada 20 Juli 2027.
Opsi 1: Buat akun layanan untuk Chronicle API (direkomendasikan)
- Login ke Google Cloud konsol dan pilih project Google Cloud yang ditautkan ke instance Google SecOps Anda.
- Buka IAM & Admin > Service Accounts.
- Klik Create service account.
- Berikan detail konfigurasi berikut:
- Service account name: Masukkan nama akun (misalnya,
bindplane-ingest). - Deskripsi akun layanan: Masukkan deskripsi (misalnya,
Bindplane agent log ingestion).
- Service account name: Masukkan nama akun (misalnya,
- Klik Create and continue.
- Di bagian Grant this service account access to project, klik Select a role, lalu pilih Chronicle Editor.
- Klik Continue lalu klik Done.
- Klik akun layanan yang Anda buat, lalu buka tab Keys.
- Klik Add key > Create new key.
- Pilih JSON, lalu klik Create. File kunci didownload ke komputer Anda.
- Simpan file kunci sebagai
ingestion-auth.jsondi direktori Bindplane collector (/opt/observiq-otel-collector/ingestion-auth.jsondi Linux atauC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsondi Windows), atau perbaruicreds_file_pathdiconfig.yamlagar sesuai dengan jalur tempat Anda menyimpannya. - Buka IAM & Admin > Settings dan salin Project number. Anda akan memerlukannya untuk konfigurasi pengekspor.
Opsi 2: Mendownload file autentikasi penyerapan (lama)
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download file autentikasi penyerapan.
- Simpan file dengan aman di sistem tempat agen BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka SIEM Settings > Profile.
- 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](https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi)" /quietVerifikasi penginstalan dengan menjalankan:
sc query observiq-otel-collector
Layanan akan ditampilkan sebagai RUNNING.
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](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.shVerifikasi penginstalan dengan menjalankan:
sudo systemctl status observiq-otel-collector
Layanan akan ditampilkan sebagai aktif (berjalan).
Referensi penginstalan tambahan
Untuk opsi pemasangan tambahan, lihat Panduan pemasangan agen BindPlane.
Mengonfigurasi agen Bindplane untuk menyerap syslog dan mengirimkannya ke Google SecOps
Menemukan file konfigurasi
- Linux:
/opt/observiq-otel-collector/config.yaml - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
Mengedit file konfigurasi
Ganti seluruh konten
config.yamldengan konfigurasi berikut:receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/extrahop: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<CUSTOMER_ID>' endpoint: chronicle.googleapis.com log_type: EXTRAHOP raw_log_field: body ingestion_labels: service: pipelines: logs/extrahop_to_chronicle: receivers: - tcplog exporters: - chronicle/extrahop
Parameter konfigurasi
Ganti placeholder berikut:
<CUSTOMER_ID>: ID pelanggan Google SecOps Anda.- Perbarui
creds_file_pathke jalur tempat file kunci akun layanan (Opsi 1) disimpan:- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
- Ganti
<LOCATION>dengan region instance Google SecOps Anda (misalnya,us,europe, atauasia-southeast1). Pengekspor akan menambahkan awalanchronicle.googleapis.comdengan nilai ini. Lihat Endpoint Regional untuk mengetahui daftar lengkapnya. - Ganti
<PROJECT_NUMBER>dengan nomor project dari IAM & Admin > Settings.
Pengekspor API penyerapan lama
Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok
exportersdengan kode berikut. Tetapkancreds_file_pathke jalur ke file autentikasi penyerapan, dan jika instance Anda berada di luar AS, gantimalachiteingestion-pa.googleapis.comdengan endpoint regional Anda (misalnya,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/extrahop: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<CUSTOMER_ID>' endpoint: malachiteingestion-pa.googleapis.com log_type: EXTRAHOP raw_log_field: body ingestion_labels:
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux:
Jalankan perintah berikut:
sudo systemctl restart observiq-otel-collectorPastikan layanan sedang berjalan:
sudo systemctl status observiq-otel-collectorPeriksa log untuk mengetahui error:
sudo journalctl -u observiq-otel-collector -f
Untuk memulai ulang agen Bindplane di Windows:
Pilih salah satu opsi berikut:
- Command Prompt atau PowerShell sebagai administrator:
net stop observiq-otel-collector && net start observiq-otel-collector- Konsol layanan:
- Tekan
Win+R, ketikservices.msc, lalu tekan Enter. - Cari observIQ OpenTelemetry Collector.
- Klik kanan, lalu pilih Restart.
- Tekan
Pastikan layanan sedang berjalan:
sc query observiq-otel-collectorPeriksa log untuk mengetahui error:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Mengonfigurasi penerusan syslog ExtraHop Reveal(x)
Mengonfigurasi syslog notifikasi sistem
- Login ke setelan Administration ExtraHop (
https://<extrahop-hostname-or-IP-address>/admin). - Di bagian Setelan Jaringan, klik Notifikasi.
- Klik Syslog.
- Berikan detail konfigurasi berikut:
- Destination: Masukkan alamat IP host Bindplane agent.
- Protocol: Pilih TCP.
- Port: Masukkan nomor port yang dikonfigurasi di agen Bindplane (misalnya,
514).
- Klik Uji Setelan, lalu klik Simpan.
Mengonfigurasi penerusan syslog log audit
- Di setelan Administrasi ExtraHop, buka bagian Status dan Diagnostik.
- Klik Log Audit > Configure Syslog Settings.
- Berikan detail konfigurasi berikut:
- Destination: Masukkan alamat IP host Bindplane agent.
- Protocol: Pilih TCP.
- Port: Masukkan
514.
- Klik Test Settings, lalu Save.
Opsional: Mengonfigurasi format syslog yang sesuai dengan RFC
- Di setelan Administration ExtraHop, klik Running Config > Edit Config.
Tambahkan entri berikut di bagian
syslog_notification:"rfc_compliant_format": "rfc5424"Klik Simpan, lalu Terapkan Perubahan.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
act |
security_result.action_details |
Pemetaan nilai log mentah. |
cat |
metadata.product_event_type |
Pemetaan nilai log mentah. |
deviceExternalId |
metadata.product_log_id |
Pemetaan nilai log mentah. |
dhost |
target.hostname |
Pemetaan nilai log mentah. |
dpt |
target.port |
Pemetaan nilai log mentah. |
dst |
target.ip |
Pemetaan nilai log mentah. |
duser |
target.user.userid |
Pemetaan nilai log mentah. |
msg |
metadata.description |
Pemetaan nilai log mentah. |
proto |
network.ip_protocol |
Pemetaan nilai log mentah. |
severity |
security_result.severity |
Dipetakan berdasarkan nilai tingkat keparahan CEF. |
shost |
principal.hostname |
Pemetaan nilai log mentah. |
spt |
principal.port |
Pemetaan nilai log mentah. |
src |
principal.ip |
Pemetaan nilai log mentah. |
suser |
principal.user.userid |
Pemetaan nilai log mentah. |
| T/A | metadata.log_type |
Tetapkan ke EXTRAHOP. |
| T/A | metadata.product_name |
Tetapkan ke Reveal(x). |
| T/A | metadata.vendor_name |
Tetapkan ke ExtraHop. |
tar_ip |
event.idm.read_only_udm.target.ip dan event.idm.read_only_udm.target.asset.ip |
Dipetakan dari log perubahan |
tar_port |
event.idm.read_only_udm.target.port |
Dipetakan dari log perubahan |
extrahop_detail |
event.idm.read_only_udm.additional.fields |
Dipetakan dari log perubahan |
alert_value |
event.idm.read_only_udm.security_result.detection_fields |
Dipetakan dari log perubahan |
jsonPayload.target.ip |
event.idm.read_only_udm.target.ip dan event.idm.read_only_udm.target.asset.ip |
Dipetakan dari log perubahan |
jsonPayload.principal.mac |
event.idm.read_only_udm.principal.mac dan event.idm.read_only_udm.principal.asset.mac |
Dipetakan dari log perubahan |
jsonPayload.target.mac |
event.idm.read_only_udm.target.mac dan event.idm.read_only_udm.target.asset.mac |
Dipetakan dari log perubahan |
jsonPayload.principal.hostname |
event.idm.read_only_udm.principal.hostname dan event.idm.read_only_udm.principal.asset.hostname |
Dipetakan dari log perubahan |
jsonPayload.target.hostname |
event.idm.read_only_udm.target.hostname dan event.idm.read_only_udm.target.asset.hostname |
Dipetakan dari log perubahan |
jsonPayload.vulnerability.cvss_vector |
event.idm.read_only_udm.security_result.about.asset.vulnerabilities.cvss_vector |
Dipetakan dari log perubahan |
suspicious_domain |
event.idm.read_only_udm.target.hostname dan event.idm.read_only_udm.target.asset.hostname |
Dipetakan dari log perubahan |
reference |
event.idm.read_only_udm.security_result.about.url |
Dipetakan dari log perubahan |
sid |
event.idm.read_only_udm.security_result.rule_id |
Dipetakan dari log perubahan |
id |
event.idm.read_only_udm.metadata.product_log_id |
Dipetakan dari log perubahan |
description |
event.idm.read_only_udm.metadata.description |
Dipetakan dari log perubahan |
type |
event.idm.read_only_udm.metadata.product_event_type |
Dipetakan dari log perubahan |
start_time |
event.idm.read_only_udm.metadata.event_timestamp dan event.idm.read_only_udm.security_result.first_discovered_time |
Dipetakan dari log perubahan |
update_time |
event.idm.read_only_udm.security_result.last_updated_time |
Dipetakan dari log perubahan |
end_time |
event.idm.read_only_udm.security_result.last_discovered_time |
Dipetakan dari log perubahan |
title |
event.idm.read_only_udm.security_result.summary |
Dipetakan dari log perubahan |
risk_score |
event.idm.read_only_udm.security_result.risk_score |
Dipetakan dari log perubahan |
categories |
event.idm.read_only_udm.security_result.category_details |
Dipetakan dari log perubahan |
participant.endpoint |
event.idm.read_only_udm.principal.asset.category |
Dipetakan dari log perubahan |
participant.object_id |
event.idm.read_only_udm.principal.asset.product_object_id |
Dipetakan dari log perubahan |
participant.object_value |
event.idm.read_only_udm.principal.ip dan event.idm.read_only_udm.principal.asset.ip |
Dipetakan dari log perubahan |
participant.hostname |
event.idm.read_only_udm.principal.hostname dan event.idm.read_only_udm.principal.asset.hostname |
Dipetakan dari log perubahan |
participant.username |
event.idm.read_only_udm.principal.user.userid |
Dipetakan dari log perubahan |
participant.endpoint |
event.idm.read_only_udm.target.asset.category |
Dipetakan dari log perubahan |
participant.object_id |
event.idm.read_only_udm.target.asset.product_object_id |
Dipetakan dari log perubahan |
participant.object_value |
event.idm.read_only_udm.target.ip dan event.idm.read_only_udm.target.asset.ip |
Dipetakan dari log perubahan |
participant.hostname |
event.idm.read_only_udm.target.hostname dan event.idm.read_only_udm.target.asset.hostname |
Dipetakan dari log perubahan |
participant.username |
event.idm.read_only_udm.target.user.userid |
Dipetakan dari log perubahan |
mitre_tactics.id |
event.idm.read_only_udm.security_result.attack_details.tactics.id |
Dipetakan dari log perubahan |
mitre_tactics.name |
event.idm.read_only_udm.security_result.attack_details.tactics.name |
Dipetakan dari log perubahan |
mitre_techniques.id |
event.idm.read_only_udm.security_result.attack_details.techniques.id |
Dipetakan dari log perubahan |
mitre_techniques.name |
event.idm.read_only_udm.security_result.attack_details.techniques.name |
Dipetakan dari log perubahan |
create_time |
event.idm.read_only_udm.additional.fields |
Dipetakan dari log perubahan |
url |
event.idm.read_only_udm.url_back_to_product |
Dipetakan dari log perubahan |
time |
event.idm.read_only_udm.metadata.event_timestamp |
Dipetakan dari log perubahan |
security_result.severity |
CRITICAL |
Dipetakan dari log perubahan |
security_result.severity |
ERROR |
Dipetakan dari log perubahan |
security_result.severity |
HIGH |
Dipetakan dari log perubahan |
security_result.severity |
MEDIUM |
Dipetakan dari log perubahan |
security_result.severity |
LOW |
Dipetakan dari log perubahan |
security_result.severity |
INFORMATIONAL |
Dipetakan dari log perubahan |
jsonPayload.msg |
metadata.description |
Dipetakan dari log perubahan |
jsonPayload.srcdata |
principal.ip |
Dipetakan dari log perubahan |
jsonPayload.dstdata |
target.ip |
Dipetakan dari log perubahan |
jsonPayload.dhost |
target.hostname |
Dipetakan dari log perubahan |
jsonPayload.shost |
principal.hostname |
Dipetakan dari log perubahan |
insertId |
additional.fields |
Dipetakan dari log perubahan |
jsonPayload.cn2 |
security_result.risk_score |
Dipetakan dari log perubahan |
jsonPayload.name |
security_result.summary |
Dipetakan dari log perubahan |
jsonPayload.rt |
metadata.event_timestamp |
Dipetakan dari log perubahan |
jsonPayload.start", "jsonPayload.end" and "logName |
additional.fields |
Dipetakan dari log perubahan |
resource.labels.method" and "resource.labels.service |
target.resource.attribute.labels |
Dipetakan dari log perubahan |
jsonPayload.cat" and "jsonPayload.cs5 |
security_result.detection_fields |
Dipetakan dari log perubahan |
dst |
target.asset.ip |
Dipetakan dari log perubahan |
url |
principal.url |
Dipetakan dari log perubahan |
title", "id", "description_format", "victims.name", "victims.external", "offenders.name", "offenders.externaal", "victim_primary.name", victim_primary.external", "offender_primary.name", and "offender_primary.external |
additional.fields |
Dipetakan dari log perubahan |
dst.type |
target.resource_type |
Dipetakan dari log perubahan |
dst.hostname |
target.hostname |
Dipetakan dari log perubahan |
dst.ipaddr |
target.ip |
Dipetakan dari log perubahan |
dst.role |
target_resource.attribute.roles |
Dipetakan dari log perubahan |
dst.device.macaddr |
target.mac |
Dipetakan dari log perubahan |
src.type |
principal.resource_type |
Dipetakan dari log perubahan |
src.hostname |
principal.hostname |
Dipetakan dari log perubahan |
src.ipaddr |
principal.ip |
Dipetakan dari log perubahan |
src.role |
principal_resource.attribute.roles |
Dipetakan dari log perubahan |
src.device.macaddr |
principal.mac |
Dipetakan dari log perubahan |
api.ip", "api.status", "api.id", "api.start_time", "api.mod_time", "api.categories", "api.update_time", and "api.ticket_id |
security_result.detection_fields |
Dipetakan dari log perubahan |
victims.ipaddr |
principal.ip |
Dipetakan dari log perubahan |
offenders.ipaddr |
target.ip |
Dipetakan dari log perubahan |
victim_primary.ipaddr |
principal.ip |
Dipetakan dari log perubahan |
offender_primary.ipaddr |
target.ip |
Dipetakan dari log perubahan |
api.participants.role", "api.participants.object_id", "api.participants.object_type", and "api.participants.external |
section_details.fields |
Dipetakan dari log perubahan |
risk_score" and "api.risk_score |
security_result.risk_score |
Dipetakan dari log perubahan |
src.endpoint" and "src.device.oid |
principal.resource.attribute.labels |
Dipetakan dari log perubahan |
dst.endpoint" and "dst.device.oid |
target.resource.attribute.labels |
Dipetakan dari log perubahan |
dst.device.ipaddr |
target.ip |
Dipetakan dari log perubahan |
src.device.ipaddr |
principal.ip |
Dipetakan dari log perubahan |
categories_array" and "categories_id |
additional.fields |
Dipetakan dari log perubahan |
src |
principal.asset.ip |
Dipetakan dari log perubahan |
device_version |
metadata.product_version |
Dipetakan dari log perubahan |
signature |
security_result.summary |
Dipetakan dari log perubahan |
events.vulnerability.description |
metadata.description |
Dipetakan dari log perubahan |
detectionID |
security_result.rule_labels |
Dipetakan dari log perubahan |
event_type |
STATUS_UPDATE |
Dipetakan dari log perubahan |
prin_url |
principal.url |
Dipetakan dari log perubahan |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.