איסוף יומנים של BeyondTrust Remote Support

גרסת המנתח: 33.0

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומנים של BeyondTrust Remote Support (לשעבר Bomgar) ב-Google Security Operations באמצעות Bindplane.

‫BeyondTrust Remote Support הוא פתרון לגישה מרחוק שיוצר הודעות syslog לפעילות בסשן, לאירועים בחשבון, לאירועי התחברות ולשינויים בהגדרות. המנתח מנרמל את השדות וממפה אותם למודל הנתונים המאוחד (UDM).

לפני שמתחילים

חשוב לוודא שיש לכם את הדברים הבאים:

  • מכונה של Google SecOps
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd
  • קישוריות רשת בין סוכן Bindplane לבין מכשיר BeyondTrust Remote Support
  • אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • הרשאת אדמין ב-BeyondTrust Remote Support

קבלת פרטי כניסה ל-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. לוחצים על Create service account.
  4. מזינים את פרטי ההגדרה הבאים:
    • שם חשבון השירות: מזינים שם לחשבון (לדוגמה, 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 בספריית Bindplane Collector (/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 > Profile (הגדרות SIEM > פרופיל).
  3. מעתיקים את מספר הלקוח מהקטע פרטי הארגון ושומרים אותו.

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

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

התקנת חלונות

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

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. מחכים שההתקנה תסתיים.

  4. מאמתים את ההתקנה על ידי הרצת:

    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)" install_unix.sh
    
  3. מחכים שההתקנה תסתיים.

  4. כדי לוודא שההתקנה בוצעה, מריצים את הפקודה:

    sudo systemctl status observiq-otel-collector
    

    השירות צריך להופיע כפעיל (פועל).

מקורות מידע נוספים להתקנה

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

הגדרה של סוכן Bindplane לקליטת syslog ושליחה ל-Google SecOps

איתור קובץ התצורה

  • ‫Linux:

    sudo nano /observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

עריכת קובץ תצורה

  • מחליפים את כל התוכן של config.yaml בהגדרה הבאה:

    receivers:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/bomgar:
        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: BOMGAR
        raw_log_field: body
    
    service:
      pipelines:
        logs/bomgar_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/bomgar
    

פרמטרים להגדרה

מחליפים את ה-placeholders הבאים:

  • הגדרת מקלט:

    • ‫listen_address: כתובת ה-IP והיציאה להאזנה:
      • 0.0.0.0 כדי להאזין בכל הממשקים (מומלץ)
      • יציאה 514 היא יציאת syslog הרגילה (נדרש root ב-Linux; צריך להשתמש ב-1514 ללא root)
  • הגדרת כלי הייצוא:

    • ‫creds_file_path: הנתיב המלא לקובץ המפתח של חשבון השירות בפורמט JSON (אפשרות 1):
      • ‫Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • ‫customer_id: מספר הלקוח שהועתק ממסוף Google SecOps
    • ‫location: מחליפים את <LOCATION> באזור של מופע Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). ערך זה מתווסף לתחילית chronicle.googleapis.com של הכלי לייצוא. רשימה מלאה של נקודות הקצה האזוריות מופיעה במאמר Regional Endpoints.
    • ‫project: מחליפים את <PROJECT_NUMBER> במספר הפרויקט שמופיע בקטע IAM & Admin > Settings.
    • ‫endpoint: צריך להשאיר את ההגדרה chronicle.googleapis.com.

כלי לייצוא נתונים מ-Legacy ingestion API

  • אם אתם משתמשים בקובץ האימות להטמעת נתונים מאפשרות 2, החליפו את הבלוק exporters בקוד הבא. מגדירים את creds_file_path לנתיב לקובץ האימות של ההעברה, ואם המופע שלכם נמצא מחוץ לארה"ב, מחליפים את malachiteingestion-pa.googleapis.com בנקודת הקצה האזורית (לדוגמה, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/bomgar:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: BOMGAR
        raw_log_field: body
    

שמירת קובץ התצורה

  • אחרי שמסיימים לערוך, שומרים את הקובץ:
    • Linux: מקישים על Ctrl+O, אחר כך על Enter ואז על Ctrl+X
    • Windows: לוחצים על קובץ > שמירה

מפעילים מחדש את הסוכן של Bindplane כדי להחיל את השינויים.

  • כדי להפעיל מחדש את הסוכן של Bindplane ב-Linux, מריצים את הפקודה הבאה:

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

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

      ```bash
      sudo journalctl -u observiq-otel-collector -f
      ```
      
  • כדי להפעיל מחדש את סוכן Bindplane ב-Windows, בוחרים באחת מהאפשרויות הבאות:

    • שורת פקודה או PowerShell כאדמין:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • מסוף השירותים:

      1. לוחצים על Win+R, מקלידים services.msc ולוחצים על Enter.
      2. מחפשים את observIQ OpenTelemetry Collector.
      3. לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
      4. מוודאים שהשירות פועל:

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

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

הגדרת ייצוא של syslog מ-BeyondTrust Remote Support

  1. נכנסים ל-BeyondTrust Remote Support.
  2. עוברים אל Security > Appliance Administration.
  3. עוברים לקטע Syslog ומגדירים את הערכים הבאים:
    • שרת Syslog מרוחק: מזינים את שם המארח או את כתובת ה-IP של שרת המארח של Syslog (Bindplane). אפשר להוסיף עד שלושה שרתי syslog.
    • פורמט ההודעה: בוחרים באפשרות RFC 5424.
    • יציאה: מזינים את היציאה של שרת המארח של syslog‏ (Bindplane).
  4. לוחצים על שליחה.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
message about מופה: CEF ← about
deviceNtDomain about.administrative_domain שם שונה/מיפוי
deviceExternalId about.asset.asset_id מיפוי ישיר
device_product about.asset.asset_id מיפוי ישיר
device_vendor about.asset.asset_id מיפוי ישיר
fileHash about.file.full_path מיפוי ישיר
filePath about.file.full_path שינוי שם/מיפוי
_hash about.file.sha256 שינוי שם/מיפוי
fileHash about.file.sha256 שינוי שם/מיפוי
fsize about.file.size שינוי שם/מיפוי
dvchost about.hostname שם שונה/מיפוי
ips about.ip ממוזג
message about.ip מיפוי: CEF → ips
dvc_mac about.mac מופה: slot ← mac_address
dvcmac about.mac ממוזג
mac_address about.mac ממוזג
message about.mac מיפוי: CEF ← mac_address, CEF ← dvcmac
deviceTranslatedAddress about.nat_ip ממוזג
message about.nat_ip מיפוי: CEF → deviceTranslatedAddress
Emne about.process.command_line מיפוי ישיר
Path about.process.command_line מיפוי ישיר
Subject about.process.command_line מיפוי ישיר
deviceProcessName about.process.command_line שינוי שם/מיפוי
dvcpid about.process.pid שינוי שם/מיפוי
message about.resource.attribute.permissions מופה: CEF ← permissions
permissions about.resource.attribute.permissions ממוזג
additional_cfp1 additional.fields ממוזג
additional_cfp2 additional.fields ממוזג
additional_cfp3 additional.fields ממוזג
additional_cfp4 additional.fields ממוזג
additional_cn1 additional.fields ממוזג
additional_cn2 additional.fields ממוזג
additional_cn3 additional.fields ממוזג
additional_cs1 additional.fields ממוזג
additional_cs2 additional.fields ממוזג
additional_cs3 additional.fields ממוזג
additional_cs4 additional.fields ממוזג
additional_cs5 additional.fields ממוזג
additional_cs6 additional.fields ממוזג
additional_cs7 additional.fields ממוזג
additional_devicePayloadId additional.fields ממוזג
additional_eventId additional.fields ממוזג
additional_flexString1 additional.fields ממוזג
additional_fname additional.fields ממוזג
cs2 additional.fields מופה: arc_test ← additional_cs2
cs5_label additional.fields ממוזג
message additional.fields ערכים ממופים (19 בסך הכול, למשל CEF ← additional_eventId, ‏ CEF ← `additional_devicePayloa...
_extensions extensions שינוי שם/מיפוי
_intermediary intermediary ממוזג
message intermediary מופה: CEF ← _intermediary
_metadata metadata שם שונה/מיפוי
meta_desc metadata.description מיפוי ישיר
msg metadata.description שינוי שם/מיפוי
Generated metadata.event_timestamp ניתוח הכתובות שברשימה: yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp נותח בתור yyyy-MM-ddTHH:mm:ss
datetime metadata.event_timestamp נותח בתור RFC 3339
dtPostTime metadata.event_timestamp נותח בתור yyyy-dd-MM HH:mm:ss
rt metadata.event_timestamp ניתוח הכתובות שברשימה: yyyy-MM-ddTHH:mm:ssZ
when metadata.event_timestamp נותח בתור UNIX
_event_type metadata.event_type מיפוי ישיר
event_name metadata.event_type מופה: "LogSpyware","LogPredictiveMachineLearning" ← SCAN_UNCATEGORIZED
message metadata.event_type מיפוי: CEF → PROCESS_UNCATEGORIZED, ‏ CEF → SCAN_UNCATEGORIZED, ‏ CEF → `USER_RESOURC...
device_event_class_id metadata.product_event_type מיפוי ישיר
eventName metadata.product_event_type מיפוי ישיר
event_name metadata.product_event_type מיפוי ישיר
sEventID metadata.product_event_type מיפוי ישיר
externalId metadata.product_log_id מיפוי ישיר
when metadata.product_log_id מיפוי ישיר
device_product metadata.product_name מיפוי ישיר
message metadata.product_name מיפוי: CEF → BeyondTrust Remote Support
device_version metadata.product_version מיפוי ישיר
device_vendor metadata.vendor_name שינוי שם/מיפוי
message metadata.vendor_name מופה: CEF ← BeyondTrust Bomgar
app_protocol_output network.application_protocol מיפוי ישיר
deviceDirection network.direction מיפוי: 0 ← INBOUND, ‏ 1 ← OUTBOUND
message network.direction מיפוי: CEF ← INBOUND, ‏ CEF ← OUTBOUND
requestMethod network.http.method שם שונה/מיפוי
requestClientApplication network.http.user_agent שינוי שם/מיפוי
ip_protocol_out network.ip_protocol מיפוי ישיר
in network.received_bytes שינוי שם/מיפוי
out network.sent_bytes שינוי שם/מיפוי
_principal principal שינוי שם/מיפוי
sntdom principal.administrative_domain שינוי שם/מיפוי
sourceServiceName principal.application שינוי שם/מיפוי
Group_name principal.group.group_display_name מיפוי ישיר
Gruppenavn principal.group.group_display_name מיפוי ישיר
Device_name principal.hostname מיפוי ישיר
Enhetsnavn principal.hostname מיפוי ישיר
shost principal.hostname שם שונה/מיפוי
message principal.ip מיפוי: CEF ← principal_ip, CEF ← shost
principal_ip principal.ip ממוזג
shost principal.ip ממוזג
mac principal.mac ממוזג
message principal.mac מיפוי: CEF → mac
message principal.nat_ip מיפוי: CEF → sourceTranslatedAddress
sourceTranslatedAddress principal.nat_ip ממוזג
sourceTranslatedPort principal.nat_port שם שונה/מיפוי
spt principal.port שינוי שם/מיפוי
sproc principal.process.command_line שינוי שם/מיפוי
spid principal.process.pid שינוי שם/מיפוי
message principal.user.attribute.roles מיפוי: CEF → principal_role
principal_role principal.user.attribute.roles ממוזג
suser principal.user.user_display_name מיפוי ישיר
suid principal.user.userid שינוי שם/מיפוי
_security_result security_result ממוזג
message security_result מיפוי: CEF ← security_result, CEF ← _security_result
_action security_result.action ממוזג
act security_result.action מופו: accept ← _action, deny ← _action
message security_result.action מופה: CEF ← _action
Action_Taken security_result.action_details מיפוי ישיר
act security_result.action_details מיפוי ישיר
cat security_result.category_details ממוזג
message security_result.category_details מופה: CEF ← cat
Scan_Type security_result.description מיפוי ישיר
Type security_result.description מיפוי ישיר
msg_data_2 security_result.description מיפוי ישיר
infection_channel_label security_result.detection_fields ממוזג
message security_result.detection_fields ערכים ממופים (7 סה"כ, למשל CEF ← operation_label, ‏ CEF ← operasjon_label, ‏ CEF ← `...
operasjon_label security_result.detection_fields ממוזג
operation_label security_result.detection_fields ממוזג
permission_label security_result.detection_fields ממוזג
spyware_Grayware_Type_label security_result.detection_fields ממוזג
threat_probability_label security_result.detection_fields ממוזג
tillatelse_label security_result.detection_fields ממוזג
mwProfile security_result.rule_name מיפוי ישיר
message security_result.severity מיפוי: CEF → LOW, ‏ CEF → MEDIUM, ‏ CEF → HIGH, ‏ CEF → CRITICAL
severity security_result.severity מיפוי: "0", "1", "2", "3", "LOW" → LOW, ‏ `‎"4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"...‎
Result security_result.summary מיפוי ישיר
appcategory security_result.summary מיפוי ישיר
reason security_result.summary שם שונה/מיפוי
Spyware security_result.threat_name מיפוי ישיר
Unknown_Threat security_result.threat_name מיפוי ישיר
Virus_Malware_Name security_result.threat_name מיפוי ישיר
oldFilePath src.file.full_path שינוי שם/מיפוי
oldFileSize src.file.size שם שונה/מיפוי
message src.resource.attribute.permissions מיפוי: CEF → old_permissions
old_permissions src.resource.attribute.permissions ממוזג
_target target שם שונה/מיפוי
dntdom target.administrative_domain שינוי שם/מיפוי
destinationServiceName target.application שינוי שם/מיפוי
temp_dhost target.hostname מיפוי ישיר
IPv6_Address target.ip ממוזג
dst_ip target.ip ממוזג
ipv6 target.ip מופה: - ← IPv6_Address
message target.ip מיפוי: CEF ← dst_ip, CEF ← IPv6_Address
mac_address target.mac ממוזג
message target.mac מיפוי: CEF → mac_address
destination_translated_address target.nat_ip ממוזג
message target.nat_ip מופה: CEF ← destination_translated_address
destinationTranslatedPort target.nat_port שם שונה/מיפוי
dpt target.port שינוי שם/מיפוי
dproc target.process.command_line שינוי שם/מיפוי
File_name target.process.file.full_path מיפוי ישיר
Infected_Resource target.process.file.full_path מיפוי ישיר
Object target.process.file.full_path מיפוי ישיר
Objekt target.process.file.full_path מיפוי ישיר
dpid target.process.pid שינוי שם/מיפוי
message target.resource.attribute.labels מופה: CEF ← resource_Type_label
resource_Type_label target.resource.attribute.labels ממוזג
request target.url מיפוי ישיר
message target.user.attribute.roles מופה: CEF ← target_role
target_role target.user.attribute.roles ממוזג
CustomerName target.user.user_display_name מיפוי ישיר
temp_duser target.user.user_display_name מיפוי ישיר
Bruker target.user.userid מיפוי ישיר
User_value target.user.userid מיפוי ישיר
temp_duid target.user.userid מיפוי ישיר
לא רלוונטי metadata.event_type קבוע: PROCESS_UNCATEGORIZED
לא רלוונטי metadata.product_name קבוע: BeyondTrust Remote Support
לא רלוונטי metadata.vendor_name קבוע: BeyondTrust Bomgar
לא רלוונטי network.direction קבוע: INBOUND
לא רלוונטי security_result.severity קבוע: LOW
exc event.idm.read_only_udm.principal.process.pid מופה מיומן השינויים
loggerHost event.idm.read_only_udm.principal.asset.hostname מופה מיומן השינויים
loggerHost event.idm.read_only_udm.intermediary.hostname וגם event.idm.read_only_udm.intermediary.asset.hostname מופה מיומן השינויים
product event.idm.read_only_udm.additional.fields מופה מיומן השינויים
sequenceId event.idm.read_only_udm.additional.fields מופה מיומן השינויים
site_id event.idm.read_only_udm.additional.fields מופה מיומן השינויים
segment event.idm.read_only_udm.additional.fields מופה מיומן השינויים
total_segment event.idm.read_only_udm.additional.fields מופה מיומן השינויים
who event.idm.read_only_udm.principal.user.userid מופה מיומן השינויים

יומן שינויים

צפייה ביומן השינויים של כלי הניתוח הזה

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.