איסוף יומנים של 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. נכנסים אל Google Cloud המסוף ובוחרים את Google Cloud הפרויקט שמקושר למופע של Google SecOps.
  2. נכנסים אל IAM & Admin > Service Accounts (ניהול הרשאות גישה (IAM) & אדמין > חשבונות שירות).
  3. לוחצים על יצירת חשבון שירות.
  4. מספקים את פרטי ההגדרה הבאים:
    • Service account name: מזינים שם לחשבון (לדוגמה, bindplane-ingest).
    • תיאור חשבון השירות: מזינים תיאור (לדוגמה, Bindplane agent log ingestion).
  5. לוחצים על Create and continue.
  6. בקטע Grant this service account access to project לוחצים על Select a role ובוחרים באפשרות Chronicle Editor.
  7. לוחצים על המשך ואז על סיום.
  8. לוחצים על חשבון השירות שיצרתם ועוברים לכרטיסייה Keys.
  9. לוחצים על Add key > Create new key.
  10. בוחרים באפשרות JSON ולוחצים על Create. קובץ המפתח יורד למחשב.
  11. שומרים את קובץ המפתח בתור 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 כך שיתאים לנתיב שבו שמרתם אותו.
  12. עוברים אל IAM & Admin > Settings ומעתיקים את הערך של Project number. תצטרכו אותו כדי להגדיר את כלי הייצוא.

אפשרות 2: הורדה של קובץ האימות להטמעת נתונים (מדור קודם)

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל הגדרות SIEM > סוכני איסוף.
  3. מורידים את קובץ האימות להטמעת נתונים.
  4. שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.

איך מוצאים את מספר הלקוח ב-Google SecOps

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings (הגדרות SIEM) > Profile (פרופיל).
  3. מעתיקים את מזהה הלקוח מהקטע פרטי הארגון ושומרים אותו.

התקנת הסוכן של Bindplane

מתקינים את הסוכן של Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.

התקנה ב-Windows

  1. פותחים את שורת הפקודה או את PowerShell כאדמין.
  2. מריצים את הפקודה הבאה:

    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
    
  3. מאמתים את ההתקנה על ידי הרצת:

    sc query observiq-otel-collector
    

השירות צריך להופיע עם הערך RUNNING.

התקנה ב-Linux

  1. פותחים טרמינל עם הרשאות root או sudo.
  2. מריצים את הפקודה הבאה:

    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
    
  3. כדי לוודא שההתקנה בוצעה, מריצים את הפקודה:

    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
  • מחליפים את <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:

  1. מריצים את הפקודה הבאה:

    sudo systemctl restart observiq-otel-collector
    
  2. מוודאים שהשירות פועל:

    sudo systemctl status observiq-otel-collector
    
  3. בודקים אם יש שגיאות ביומנים:

    sudo journalctl -u observiq-otel-collector -f
    

כדי להפעיל מחדש את הסוכן של Bindplane ב-Windows:

  1. בוחרים אחת מהאפשרויות האלה:

    • שורת הפקודה או PowerShell כאדמין:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • מסוף השירותים:
      1. מקישים על Win+R, מקלידים services.msc ומקישים על Enter.
      2. מאתרים את observIQ OpenTelemetry Collector.
      3. לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
  2. מוודאים שהשירות פועל:

    sc query observiq-otel-collector
    
  3. בודקים אם יש שגיאות ביומנים:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

הגדרת העברת syslog ב-ExtraHop Reveal(x)‎

הגדרת יומן מערכת של התראות מערכת

  1. נכנסים להגדרות Administration (ניהול) (https://<extrahop-hostname-or-IP-address>/admin) ב-ExtraHop.
  2. בקטע הגדרות רשת, לוחצים על התראות.
  3. לוחצים על Syslog.
  4. מזינים את פרטי ההגדרה הבאים:
    • ‫Destination: מזינים את כתובת ה-IP של המארח של סוכן Bindplane.
    • Protocol: בוחרים באפשרות TCP.
    • יציאה: מזינים את מספר היציאה שהוגדר בסוכן Bindplane (לדוגמה, 514).
  5. לוחצים על בדיקת ההגדרות ואז על שמירה.

הגדרת העברה של יומן ביקורת ל-Syslog

  1. בהגדרות הניהול של ExtraHop, עוברים לקטע Status and Diagnostics (סטטוס ואבחון).
  2. לוחצים על יומן ביקורת > הגדרת הגדרות Syslog.
  3. מזינים את פרטי ההגדרה הבאים:
    • ‫Destination: מזינים את כתובת ה-IP של המארח של סוכן Bindplane.
    • Protocol: בוחרים באפשרות TCP.
    • יציאה: מזינים 514.
  4. לוחצים על בדיקת ההגדרות ואז על שמירה.

אופציונלי: הגדרת פורמט syslog שתואם ל-RFC

  1. בהגדרות הניהול של ExtraHop, לוחצים על Running Config > Edit Config (הגדרות פעילות > עריכת הגדרות).
  2. מוסיפים את הרשומה הבאה בקטע syslog_notification:

    "rfc_compliant_format": "rfc5424"
    
  3. לוחצים על שמירה ואז על החלת השינויים.

טבלת מיפוי 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.