איסוף יומנים של ExtraHop Reveal(x)
גרסת המנתח: 12.0
במאמר הזה מוסבר איך להטמיע יומני ExtraHop Reveal(x) ב-Google Security Operations באמצעות Bindplane. ExtraHop Reveal(x) היא פלטפורמה לזיהוי ותגובה ברשת (NDR) שמספקת ניראות בזמן אמת של התנועה ברשת, ומאפשרת לארגונים לזהות איומים, לחקור תקריות ולהגיב לאירועי אבטחה בסביבות ענן ובסביבות מקומיות.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps.
- Windows Server 2016 ואילך או מארח Linux עם
systemd. - אם אתם מפעילים את הסוכן מאחורי שרת proxy, ודאו שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
- גישה מורחבת להגדרות הניהול של ExtraHop Reveal(x).
קבלת פרטי כניסה ל-Google SecOps עבור סוכן Bindplane
כדי לאמת את סוכן Bindplane ב-Google SecOps, בוחרים באחת מהשיטות הבאות:
- פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
- פריסות קודמות: ממשיכים להשתמש בקובץ האימות להטמעת נתונים (אפשרות 2) עד שה-Ingestion API יופסק ב-20 ביולי 2027.
אפשרות 1: יצירת חשבון שירות ל-Chronicle API (מומלץ)
- נכנסים אל Google Cloud המסוף ובוחרים את Google Cloud הפרויקט שמקושר למופע של Google SecOps.
- נכנסים אל IAM & Admin > Service Accounts (ניהול הרשאות גישה (IAM) & אדמין > חשבונות שירות).
- לוחצים על יצירת חשבון שירות.
- מספקים את פרטי ההגדרה הבאים:
- Service account name: מזינים שם לחשבון (לדוגמה,
bindplane-ingest). - תיאור חשבון השירות: מזינים תיאור (לדוגמה,
Bindplane agent log ingestion).
- Service account name: מזינים שם לחשבון (לדוגמה,
- לוחצים על Create and continue.
- בקטע Grant this service account access to project לוחצים על Select a role ובוחרים באפשרות Chronicle Editor.
- לוחצים על המשך ואז על סיום.
- לוחצים על חשבון השירות שיצרתם ועוברים לכרטיסייה Keys.
- לוחצים על Add key > Create new key.
- בוחרים באפשרות JSON ולוחצים על Create. קובץ המפתח יורד למחשב.
- שומרים את קובץ המפתח בתור
ingestion-auth.jsonבספריית ה-collector של Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonב-Linux אוC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonב-Windows), או מעדכנים אתcreds_file_pathב-config.yamlכך שיתאים לנתיב שבו שמרתם אותו. - עוברים אל IAM & Admin > Settings ומעתיקים את הערך של Project number. תצטרכו אותו כדי להגדיר את כלי הייצוא.
אפשרות 2: הורדה של קובץ האימות להטמעת נתונים (מדור קודם)
- נכנסים למסוף Google SecOps.
- עוברים אל הגדרות SIEM > סוכני איסוף.
- מורידים את קובץ האימות להטמעת נתונים.
- שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.
איך מוצאים את מספר הלקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings (הגדרות SIEM) > Profile (פרופיל).
- מעתיקים את מזהה הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת הסוכן של Bindplane
מתקינים את הסוכן של Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.
התקנה ב-Windows
- פותחים את שורת הפקודה או את PowerShell כאדמין.
מריצים את הפקודה הבאה:
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)" /quietמאמתים את ההתקנה על ידי הרצת:
sc query observiq-otel-collector
השירות צריך להופיע עם הערך RUNNING.
התקנה ב-Linux
- פותחים טרמינל עם הרשאות root או sudo.
מריצים את הפקודה הבאה:
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.shכדי לוודא שההתקנה בוצעה, מריצים את הפקודה:
sudo systemctl status observiq-otel-collector
השירות אמור להופיע כ-active (running).
מקורות מידע נוספים להתקנה
לאפשרויות התקנה נוספות, קראו את מדריך ההתקנה של סוכן Bindplane.
הגדרת סוכן Bindplane להטמעת syslog ושליחה אל Google SecOps
מאתרים את קובץ התצורה
- Linux:
/opt/observiq-otel-collector/config.yaml - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
עריכת קובץ תצורה
מחליפים את כל התוכן של
config.yamlבהגדרה הבאה: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
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
-
<CUSTOMER_ID>: מספר הלקוח ב-Google SecOps. - מעדכנים את
creds_file_pathלנתיב שבו נשמר קובץ המפתח של חשבון השירות (אפשרות 1):- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
- מחליפים את
<LOCATION>באזור של מכונת Google SecOps (לדוגמה,us,europeאוasia-southeast1). הערך הזה יתווסף לתחילת השם של קובץ הייצואchronicle.googleapis.com. רשימה מלאה של נקודות הקצה האזוריות מופיעה במאמר Regional Endpoints. - מחליפים את
<PROJECT_NUMBER>במספר הפרויקט שמופיע בקטע IAM & Admin > Settings.
כלי לייצוא נתונים מ-Legacy ingestion API
אם אתם משתמשים בקובץ האימות להטמעת נתונים מאפשרות 2, החליפו את הבלוק
exportersבקוד הבא. מגדירים אתcreds_file_pathלנתיב של קובץ האימות להטמעת נתונים. אם המכונה נמצאת מחוץ לארה"ב, מחליפים אתmalachiteingestion-pa.googleapis.comבנקודת הקצה האזורית (לדוגמה,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:
מפעילים מחדש את הסוכן של Bindplane כדי להחיל את השינויים.
כדי להפעיל מחדש את הסוכן של Bindplane ב-Linux:
מריצים את הפקודה הבאה:
sudo systemctl restart observiq-otel-collectorמוודאים שהשירות פועל:
sudo systemctl status observiq-otel-collectorבודקים אם יש שגיאות ביומנים:
sudo journalctl -u observiq-otel-collector -f
כדי להפעיל מחדש את הסוכן של Bindplane ב-Windows:
בוחרים אחת מהאפשרויות האלה:
- שורת הפקודה או PowerShell כאדמין:
net stop observiq-otel-collector && net start observiq-otel-collector- מסוף השירותים:
- מקישים על
Win+R, מקלידיםservices.mscומקישים על Enter. - מאתרים את observIQ OpenTelemetry Collector.
- לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
- מקישים על
מוודאים שהשירות פועל:
sc query observiq-otel-collectorבודקים אם יש שגיאות ביומנים:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
הגדרת העברת syslog ב-ExtraHop Reveal(x)
הגדרת יומן מערכת של התראות מערכת
- נכנסים להגדרות Administration (ניהול) (
https://<extrahop-hostname-or-IP-address>/admin) ב-ExtraHop. - בקטע הגדרות רשת, לוחצים על התראות.
- לוחצים על Syslog.
- מזינים את פרטי ההגדרה הבאים:
- Destination: מזינים את כתובת ה-IP של המארח של סוכן Bindplane.
- Protocol: בוחרים באפשרות TCP.
- יציאה: מזינים את מספר היציאה שהוגדר בסוכן Bindplane (לדוגמה,
514).
- לוחצים על בדיקת ההגדרות ואז על שמירה.
הגדרת העברה של יומן ביקורת ל-Syslog
- בהגדרות הניהול של ExtraHop, עוברים לקטע Status and Diagnostics (סטטוס ואבחון).
- לוחצים על יומן ביקורת > הגדרת הגדרות Syslog.
- מזינים את פרטי ההגדרה הבאים:
- Destination: מזינים את כתובת ה-IP של המארח של סוכן Bindplane.
- Protocol: בוחרים באפשרות TCP.
- יציאה: מזינים
514.
- לוחצים על בדיקת ההגדרות ואז על שמירה.
אופציונלי: הגדרת פורמט syslog שתואם ל-RFC
- בהגדרות הניהול של ExtraHop, לוחצים על Running Config > Edit Config (הגדרות פעילות > עריכת הגדרות).
מוסיפים את הרשומה הבאה בקטע
syslog_notification:"rfc_compliant_format": "rfc5424"לוחצים על שמירה ואז על החלת השינויים.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
act |
security_result.action_details |
מיפוי ערכי יומן גולמיים. |
cat |
metadata.product_event_type |
מיפוי ערכי יומן גולמיים. |
deviceExternalId |
metadata.product_log_id |
מיפוי ערכי יומן גולמיים. |
dhost |
target.hostname |
מיפוי ערכי יומן גולמיים. |
dpt |
target.port |
מיפוי ערכי יומן גולמיים. |
dst |
target.ip |
מיפוי ערכי יומן גולמיים. |
duser |
target.user.userid |
מיפוי ערכי יומן גולמיים. |
msg |
metadata.description |
מיפוי ערכי יומן גולמיים. |
proto |
network.ip_protocol |
מיפוי ערכי יומן גולמיים. |
severity |
security_result.severity |
ממופה על סמך ערך החומרה של CEF. |
shost |
principal.hostname |
מיפוי ערכי יומן גולמיים. |
spt |
principal.port |
מיפוי ערכי יומן גולמיים. |
src |
principal.ip |
מיפוי ערכי יומן גולמיים. |
suser |
principal.user.userid |
מיפוי של ערך יומן גולמי. |
| לא רלוונטי | metadata.log_type |
הערך שהוגדר הוא EXTRAHOP. |
| לא רלוונטי | metadata.product_name |
הגדרת הערך Reveal(x). |
| לא רלוונטי | metadata.vendor_name |
הערך שהוגדר הוא ExtraHop. |
tar_ip |
event.idm.read_only_udm.target.ip וגם event.idm.read_only_udm.target.asset.ip |
מופה מיומן השינויים |
tar_port |
event.idm.read_only_udm.target.port |
מופה מיומן השינויים |
extrahop_detail |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
alert_value |
event.idm.read_only_udm.security_result.detection_fields |
מופה מיומן השינויים |
jsonPayload.target.ip |
event.idm.read_only_udm.target.ip וגם event.idm.read_only_udm.target.asset.ip |
מופה מיומן השינויים |
jsonPayload.principal.mac |
event.idm.read_only_udm.principal.mac וגם event.idm.read_only_udm.principal.asset.mac |
מופה מיומן השינויים |
jsonPayload.target.mac |
event.idm.read_only_udm.target.mac וגם event.idm.read_only_udm.target.asset.mac |
מופה מיומן השינויים |
jsonPayload.principal.hostname |
event.idm.read_only_udm.principal.hostname וגם event.idm.read_only_udm.principal.asset.hostname |
מופה מיומן השינויים |
jsonPayload.target.hostname |
event.idm.read_only_udm.target.hostname וגם event.idm.read_only_udm.target.asset.hostname |
מופה מיומן השינויים |
jsonPayload.vulnerability.cvss_vector |
event.idm.read_only_udm.security_result.about.asset.vulnerabilities.cvss_vector |
מופה מיומן השינויים |
suspicious_domain |
event.idm.read_only_udm.target.hostname וגם event.idm.read_only_udm.target.asset.hostname |
מופה מיומן השינויים |
reference |
event.idm.read_only_udm.security_result.about.url |
מופה מיומן השינויים |
sid |
event.idm.read_only_udm.security_result.rule_id |
מופה מיומן השינויים |
id |
event.idm.read_only_udm.metadata.product_log_id |
מופה מיומן השינויים |
description |
event.idm.read_only_udm.metadata.description |
מופה מיומן השינויים |
type |
event.idm.read_only_udm.metadata.product_event_type |
מופה מיומן השינויים |
start_time |
event.idm.read_only_udm.metadata.event_timestamp וגם event.idm.read_only_udm.security_result.first_discovered_time |
מופה מיומן השינויים |
update_time |
event.idm.read_only_udm.security_result.last_updated_time |
מופה מיומן השינויים |
end_time |
event.idm.read_only_udm.security_result.last_discovered_time |
מופה מיומן השינויים |
title |
event.idm.read_only_udm.security_result.summary |
מופה מיומן השינויים |
risk_score |
event.idm.read_only_udm.security_result.risk_score |
מופה מיומן השינויים |
categories |
event.idm.read_only_udm.security_result.category_details |
מופה מיומן השינויים |
participant.endpoint |
event.idm.read_only_udm.principal.asset.category |
מופה מיומן השינויים |
participant.object_id |
event.idm.read_only_udm.principal.asset.product_object_id |
מופה מיומן השינויים |
participant.object_value |
event.idm.read_only_udm.principal.ip וגם event.idm.read_only_udm.principal.asset.ip |
מופה מיומן השינויים |
participant.hostname |
event.idm.read_only_udm.principal.hostname וגם event.idm.read_only_udm.principal.asset.hostname |
מופה מיומן השינויים |
participant.username |
event.idm.read_only_udm.principal.user.userid |
מופה מיומן השינויים |
participant.endpoint |
event.idm.read_only_udm.target.asset.category |
מופה מיומן השינויים |
participant.object_id |
event.idm.read_only_udm.target.asset.product_object_id |
מופה מיומן השינויים |
participant.object_value |
event.idm.read_only_udm.target.ip וגם event.idm.read_only_udm.target.asset.ip |
מופה מיומן השינויים |
participant.hostname |
event.idm.read_only_udm.target.hostname וגם event.idm.read_only_udm.target.asset.hostname |
מופה מיומן השינויים |
participant.username |
event.idm.read_only_udm.target.user.userid |
מופה מיומן השינויים |
mitre_tactics.id |
event.idm.read_only_udm.security_result.attack_details.tactics.id |
מופה מיומן השינויים |
mitre_tactics.name |
event.idm.read_only_udm.security_result.attack_details.tactics.name |
מופה מיומן השינויים |
mitre_techniques.id |
event.idm.read_only_udm.security_result.attack_details.techniques.id |
מופה מיומן השינויים |
mitre_techniques.name |
event.idm.read_only_udm.security_result.attack_details.techniques.name |
מופה מיומן השינויים |
create_time |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
url |
event.idm.read_only_udm.url_back_to_product |
מופה מיומן השינויים |
time |
event.idm.read_only_udm.metadata.event_timestamp |
מופה מיומן השינויים |
security_result.severity |
CRITICAL |
מופה מיומן השינויים |
security_result.severity |
ERROR |
מופה מיומן השינויים |
security_result.severity |
HIGH |
מופה מיומן השינויים |
security_result.severity |
MEDIUM |
מופה מיומן השינויים |
security_result.severity |
LOW |
מופה מיומן השינויים |
security_result.severity |
INFORMATIONAL |
מופה מיומן השינויים |
jsonPayload.msg |
metadata.description |
מופה מיומן השינויים |
jsonPayload.srcdata |
principal.ip |
מופה מיומן השינויים |
jsonPayload.dstdata |
target.ip |
מופה מיומן השינויים |
jsonPayload.dhost |
target.hostname |
מופה מיומן השינויים |
jsonPayload.shost |
principal.hostname |
מופה מיומן השינויים |
insertId |
additional.fields |
מופה מיומן השינויים |
jsonPayload.cn2 |
security_result.risk_score |
מופה מיומן השינויים |
jsonPayload.name |
security_result.summary |
מופה מיומן השינויים |
jsonPayload.rt |
metadata.event_timestamp |
מופה מיומן השינויים |
jsonPayload.start", "jsonPayload.end" and "logName |
additional.fields |
מופה מיומן השינויים |
resource.labels.method" and "resource.labels.service |
target.resource.attribute.labels |
מופה מיומן השינויים |
jsonPayload.cat" and "jsonPayload.cs5 |
security_result.detection_fields |
מופה מיומן השינויים |
dst |
target.asset.ip |
מופה מיומן השינויים |
url |
principal.url |
מופה מיומן השינויים |
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 |
מופה מיומן השינויים |
dst.type |
target.resource_type |
מופה מיומן השינויים |
dst.hostname |
target.hostname |
מופה מיומן השינויים |
dst.ipaddr |
target.ip |
מופה מיומן השינויים |
dst.role |
target_resource.attribute.roles |
מופה מיומן השינויים |
dst.device.macaddr |
target.mac |
מופה מיומן השינויים |
src.type |
principal.resource_type |
מופה מיומן השינויים |
src.hostname |
principal.hostname |
מופה מיומן השינויים |
src.ipaddr |
principal.ip |
מופה מיומן השינויים |
src.role |
principal_resource.attribute.roles |
מופה מיומן השינויים |
src.device.macaddr |
principal.mac |
מופה מיומן השינויים |
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 |
מופה מיומן השינויים |
victims.ipaddr |
principal.ip |
מופה מיומן השינויים |
offenders.ipaddr |
target.ip |
מופה מיומן השינויים |
victim_primary.ipaddr |
principal.ip |
מופה מיומן השינויים |
offender_primary.ipaddr |
target.ip |
מופה מיומן השינויים |
api.participants.role", "api.participants.object_id", "api.participants.object_type", and "api.participants.external |
section_details.fields |
מופה מיומן השינויים |
risk_score" and "api.risk_score |
security_result.risk_score |
מופה מיומן השינויים |
src.endpoint" and "src.device.oid |
principal.resource.attribute.labels |
מופה מיומן השינויים |
dst.endpoint" and "dst.device.oid |
target.resource.attribute.labels |
מופה מיומן השינויים |
dst.device.ipaddr |
target.ip |
מופה מיומן השינויים |
src.device.ipaddr |
principal.ip |
מופה מיומן השינויים |
categories_array" and "categories_id |
additional.fields |
מופה מיומן השינויים |
src |
principal.asset.ip |
מופה מיומן השינויים |
device_version |
metadata.product_version |
מופה מיומן השינויים |
signature |
security_result.summary |
מופה מיומן השינויים |
events.vulnerability.description |
metadata.description |
מופה מיומן השינויים |
detectionID |
security_result.rule_labels |
מופה מיומן השינויים |
event_type |
STATUS_UPDATE |
מופה מיומן השינויים |
prin_url |
principal.url |
מופה מיומן השינויים |
יומן שינויים
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.