איסוף יומנים של BeyondTrust Secure Remote Access (לשעבר BeyondTrust Privileged Remote Access)

נתמך ב:

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

‫BeyondTrust Secure Remote Access הוא פתרון לניהול הרשאות גישה מיוחדות שמאפשר לארגונים לשלוט, לעקוב ולבצע ביקורת על גישה מרחוק של ספקים, קבלנים ומנהלי מערכת פנימיים שמתחברים למערכות קריטיות. הוא מספק הזרקת פרטי כניסה, גישה בדיוק בזמן והקלטת סשנים. ב-BeyondTrust Secure Remote Access מתועדים פעילות בסשן, אירועי אימות ופעולות אדמין באמצעות syslog.

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

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

  • מופע של Google SecOps.
  • מארח Windows 2016 ואילך או מארח Linux עם systemd.
  • אם אתם מפעילים את הסוכן מאחורי שרת proxy, ודאו שהיציאות של חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
  • הרשאת אדמין לממשק של BeyondTrust Secure Remote Access B Series Appliance‏ (/appliance).

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

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

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

התקנת חלונות

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

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

התקנה ב-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
    

מקורות מידע נוספים בנושא התקנה

אפשרויות התקנה נוספות מפורטות במדריך ההתקנה.

הגדרת סוכן Bindplane להטמעת Syslog ושליחה אל Google SecOps

  1. גישה לקובץ התצורה:

    • מאתרים את הקובץ config.yaml. בדרך כלל, הוא נמצא בספרייה /opt/observiq-otel-collector/ ב-Linux או בספריית ההתקנה ב-Windows.
    • פותחים את הקובץ באמצעות כלי לעריכת טקסט (לדוגמה, nano,‏ vi או פנקס הרשימות).
  2. עורכים את הקובץ config.yaml:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        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
        # 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: <your_customer_id>
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'BEYONDTRUST_REMOTE_ACCESS'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • מחליפים את היציאה ואת כתובת ה-IP לפי הצורך בתשתית שלכם.
  • מחליפים את <LOCATION> באזור של המופע של Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). המערכת מוסיפה את הערך הזה בתחילת chronicle.googleapis.com.
  • מחליפים את <PROJECT_NUMBER> במספר הפרויקט שמופיע בקטע IAM & Admin > Settings.
  • מחליפים את <your_customer_id> במספר הלקוח בפועל.
  • מעדכנים את /path/to/ingestion-authentication-file.json לנתיב הקובץ שבו נשמר קובץ המפתח של חשבון השירות (אפשרות 1) בשלב 1.

מייצא API להטמעה מדור קודם

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

    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: <your_customer_id>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'BEYONDTRUST_REMOTE_ACCESS'
        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 של BeyondTrust Secure Remote Access

  1. נכנסים לממשק של מכשיר מסדרה B של BeyondTrust Secure Remote Access‏ (/appliance).
  2. עוברים אל אבטחה > ניהול מכשירים.
  3. גוללים למטה לקטע Syslog.
  4. בשדה Remote Syslog Server, מזינים את שם המארח או את כתובת ה-IP של המארח של סוכן Bindplane (לדוגמה, 192.168.1.100).
  5. בוחרים את פורמט ההודעה של ההתראות לגבי אירועים:
    • ‫RFC 5424 – תקן syslog מודרני עם נתונים מובְנים (מומלץ).
    • ‫BSD (דור קודם) – פורמט syslog של BSD מדור קודם (RFC 3164).
    • ‫Syslog over TLS – פרוטוקול Syslog מוצפן באמצעות יציאת TCP‏ 6514.
  6. אם צריך, משנים את יציאת ברירת המחדל:
    • פורמטים של RFC 5424 ו-BSD מוגדרים כברירת מחדל ל-UDP 514.
    • ברירת המחדל של Syslog over TLS היא TCP 6514.
  7. לוחצים על Save.

אימות המסירה של syslog

  1. אחרי שמגדירים העברה של syslog, מתחילים סשן תמיכה לבדיקה או נכנסים לממשק הניהול של /login.
  2. במארח של סוכן Bindplane, מוודאים שהיומנים מתקבלים:

    sudo journalctl -u observiq-otel-collector -f
    

מידע נוסף זמין במאמרי העזרה של BeyondTrust Privileged Remote Access בנושא syslog.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM Logic (פונקציה לוגית)
_field additional.fields ממוזג
additional_device_product additional.fields ממוזג
additional_device_vendor additional.fields ממוזג
additional_dst_priv additional.fields ממוזג
additional_event_name additional.fields ממוזג
additional_external_key_label additional.fields ממוזג
additional_jumpGroupId additional.fields ממוזג
additional_jumpGroupName additional.fields ממוזג
additional_jumpGroupType additional.fields ממוזג
additional_jumpointId additional.fields ממוזג
additional_jumpointName additional.fields ממוזג
additional_segment_number additional.fields ממוזג
additional_site_id additional.fields ממוזג
additional_total_segments additional.fields ממוזג
appliance_identifier_label additional.fields ממוזג
appliance_label additional.fields ממוזג
eventid_label additional.fields ממוזג
eventsubject_label additional.fields ממוזג
eventtype_label additional.fields ממוזג
format_version_label additional.fields ממוזג
nvps_actiontype_label additional.fields ממוזג
nvps_authenticationtype_label additional.fields ממוזג
nvps_createdate_label additional.fields ממוזג
nvps_eventseverity_label additional.fields ממוזג
nvps_subjectdescription_label additional.fields ממוזג
product_label additional.fields ממוזג
eventName extensions.auth.auth_details מיפוי ישיר
mechanism extensions.auth.mechanism ממוזג
target extensions.auth.type Mapped: "rep_client", "web/login" → MACHINE, "rep_client", "web/login" → SSO, `rep_c...
intermediary_hostname intermediary.asset.hostname מיפוי ישיר
intermediary_ip intermediary.asset.ip ממוזג
intermediary_hostname intermediary.hostname מיפוי ישיר
intermediary_ip intermediary.ip ממוזג
msg metadata.description מיפוי ישיר
datetime metadata.event_timestamp נותח בתור RFC 3339
eventdate metadata.event_timestamp נותח בתור MMM dd yyyy HH:mm:ss
timestamp metadata.event_timestamp נותח בתור ISO8601
timestampvalue metadata.event_timestamp נותח בתור yyyy-MM-ddTHH:mm:ssZZ
when metadata.event_timestamp נותח בתור UNIX
device_vendor metadata.event_type מופה: Bomgar ← GENERIC_EVENT
eventName metadata.event_type מופה: (?i)login ← USER_LOGIN, (?i)logout ← USER_LOGOUT
has_principal metadata.event_type מופה: true ← NETWORK_CONNECTION, true ← STATUS_UPDATE
category metadata.product_event_type מיפוי ישיר
event_name metadata.product_event_type מיפוי ישיר
id metadata.product_event_type מיפוי ישיר
nvps_auditid metadata.product_log_id מיפוי ישיר
product_log_id metadata.product_log_id מיפוי ישיר
device_version metadata.product_version מיפוי ישיר
version metadata.product_version מיפוי ישיר
sessionId network.session_id מיפוי ישיר
agentid observer.application מיפוי ישיר
product_event_type principal.asset.hostname מיפוי ישיר
nvps_ipaddress principal.asset.ip ממוזג
sourceip principal.asset.ip ממוזג
product_event_type principal.hostname מיפוי ישיר
nvps_ipaddress principal.ip ממוזג
sourceip principal.ip ממוזג
srcHost principal.ip ממוזג
who_ip principal.ip ממוזג
process_id principal.process.pid מיפוי ישיר
srcUser principal.user.user_display_name מיפוי ישיר
user_display_name principal.user.user_display_name מיפוי ישיר
srcUid principal.user.userid מיפוי ישיר
user principal.user.userid מיפוי ישיר
userid principal.user.userid מיפוי ישיר
who principal.user.userid מיפוי ישיר
security_action security_result.action ממוזג
status security_result.action_details מיפוי ישיר
reason security_result.description מיפוי ישיר
severity security_result.severity ערכים ממופים (5 בסך הכול, למשל 0 ← UNKNOWN_SEVERITY, 1 ← LOW, 2 ← MEDIUM)
eventName security_result.summary מיפוי ישיר
eventname security_result.summary מיפוי ישיר
nvps_systemname target.application מיפוי ישיר
target target.application מיפוי ישיר
filePath target.file.full_path מיפוי ישיר
fsize target.file.size מיפוי ישיר
deviceHost target.hostname מיפוי ישיר
site target.hostname מיפוי ישיר
dstHost target.ip ממוזג
nvps_username_label target.resource.attribute.labels ממוזג
nvps_appuserid target.user.product_object_id מיפוי ישיר
dstUser target.user.user_display_name מיפוי ישיר
dstUid target.user.userid מיפוי ישיר
לא רלוונטי extensions.auth.type קבוע: MACHINE
לא רלוונטי metadata.event_type קבוע: USER_LOGIN
לא רלוונטי metadata.product_name קבוע: BeyondTrust Secure Remote Access
לא רלוונטי metadata.vendor_name קבוע: BeyondTrust
לא רלוונטי security_result.severity קבוע: UNKNOWN_SEVERITY

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