איסוף יומנים של Sophos Endpoint

נתמך ב:

במסמך הזה מוסבר איך לאסוף יומנים של Sophos Endpoint (לשעבר Sophos AV/Intercept X) באמצעות סוכן Bindplane. מנתח התוכן הופך יומני JSON למודל נתונים מאוחד (UDM). הוא מחלץ שדות ממבני JSON מוטמעים, ממפה אותם לשדות UDM ומבצע סיווג אירועים על סמך שדה הסוג, ומעשיר את הנתונים בפרטים ובפעולות ספציפיים לסוגים שונים של אירועי Sophos AV.

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

חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מופע של Google SecOps
  • ‫Windows 2016 ואילך, או מארח Linux עם systemd
  • מחשב נוסף עם Windows או Linux, שיכול להריץ Python באופן רציף
  • אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • גישה עם הרשאות ל-Sophos Central Admin console

קבלת קובץ אימות להטמעת נתונים ב-Google SecOps

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

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

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

התקנת Bindplane Agent

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

התקנה ב-Windows

  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 Agent להטמעה של Syslog ושליחה אל Google SecOps

  1. ניגשים לקובץ ההגדרות:
    • מאתרים את הקובץ config.yaml. בדרך כלל, הוא נמצא בספרייה /etc/bindplane-agent/ ב-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:
        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: <customer_id>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'SOPHOS_AV'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  3. מחליפים את היציאה ואת כתובת ה-IP לפי הצורך בתשתית.

  4. מחליפים את <customer_id> במזהה הלקוח בפועל.

  5. מעדכנים את /path/to/ingestion-authentication-file.json לנתיב הקובץ שבו נשמר קובץ האימות בשלב 1.

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

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

    sudo systemctl restart bindplane-agent
    
  2. כדי להפעיל מחדש את סוכן Bindplane ב-Windows, אפשר להשתמש במסוף Services או להזין את הפקודה הבאה:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

הגדרת גישה ל-Sophos Central API

  1. נכנסים לחשבון Sophos Central Admin.
  2. בוחרים באפשרות Global Settings > API Token Management (הגדרות גלובליות > ניהול אסימוני API).
  3. כדי ליצור טוקן חדש, לוחצים על הוספת טוקן.
  4. מזינים שם של טוקן ולוחצים על שמירה. מוצג סיכום של טוקן ה-API עבור הטוקן שצוין.
  5. בקטע API Token Summary, לוחצים על Copy כדי להעתיק את כתובת ה-URL ואת הכותרות של הגישה ל-API.

התקנת Python במכונה הנוספת

  1. פותחים את דפדפן האינטרנט ועוברים אל אתר Python.
  2. לוחצים על Download Python (הורדת Python) למערכת ההפעלה (Windows או Mac).
  3. מתקינים את Python.

    • ב-Windows:
      1. מפעילים את תוכנת ההתקנה.
      2. מסמנים את התיבה Add Python to PATH (הוספת Python לנתיב).
      3. לוחצים על התקנה עכשיו.
    • ב-Mac:

      1. יכול להיות ש-Python כבר מותקן. אם לא, אפשר להתקין את הגרסה העדכנית באמצעות הטרמינל.
      2. פותחים את Terminal ומקלידים את הפקודה הבאה:
      python --version
      

הורדת סקריפט השילוב של Sophos

  1. עוברים לדף GitHub של Sophos Central SIEM Integration GitHub Repository.
  2. לוחצים על הלחצן הירוק Code (קוד) > Download ZIP (הורדת ZIP).
  3. מחלצים את קובץ ה-ZIP.

הגדרת תצורת הסקריפט

  1. מחפשים את הקובץ config.ini ופותחים אותו בכלי לעריכת טקסט.
  2. עורכים את קובץ התצורה:
    • אסימון API: מזינים את מפתח ה-API שהועתק קודם מ-Sophos Central.
    • פרטי שרת Syslog: מזינים את הפרטים של שרת ה-Syslog.
    • מארח: מזינים את כתובת ה-IP של Bindplane.
    • יציאה: מזינים את מספר היציאה של Bindplane.
    • פרוטוקול: מזינים UDP (אפשר גם להשתמש ב-TCP או ב-TLS בהתאם להגדרה).
  3. שומרים את הקובץ.

הפעלת הסקריפט

  1. עוברים לתיקיית התסריט.

    • ב-Windows:

      1. מקישים על המקש Windows ומקלידים cmd.
      2. לוחצים על Command Prompt (שורת פקודה).
      3. עוברים לתיקיית הסקריפט:
      cd C:UsersYourNameDownloadsSophos-Central-SIEM-Integration
      
    • ב-macOS:

      1. עוברים אל Applications > Utilities.
      2. פותחים את Terminal (מסוף).
      3. עוברים לתיקיית הסקריפט:
      cd /Users/YourName/Downloads/Sophos-Central-SIEM-Integration
      
  2. מריצים את הסקריפט:

    • כדי להפעיל את הסקריפט, מקלידים את הפקודה הבאה:

      python siem.py
      

אוטומציה של הסקריפט כדי שיפעל באופן רציף ב-Windows (באמצעות מתזמן המשימות):

  1. פותחים את מתזמן המשימות על ידי הקלדת מתזמן המשימות בתפריט ההתחלה.
  2. לוחצים על יצירת משימה.
  3. בכרטיסייה כללי:
    • נותנים שם למשימה, לדוגמה, Sophos AV Log Export.
  4. בכרטיסייה טריגרים:
    • לוחצים על חדש ומגדירים את המשימה להפעלה יומית או בזמן ההפעלה (בהתאם להעדפה).
  5. בכרטיסייה פעולות:
    • לוחצים על חדש ובוחרים באפשרות התחלת תוכנית.
    • מחפשים את קובץ ההפעלה python.exe (בדרך כלל נמצא ב-C:PythonXXpython.exe).
    • בשדה Add arguments (הוספת ארגומנטים), מקלידים את הנתיב לתסריט, לדוגמה, C:UsersYourNameDownloadsSophos-Central-SIEM-Integrationsiem.py.
  6. לוחצים על אישור כדי לשמור את המשימה.

אוטומציה של הסקריפט כדי שיפעל באופן רציף ב-Mac (באמצעות Cron Jobs):

  1. פותחים את Terminal.
  2. מקלידים crontab -e ומקישים על Enter.
  3. מוסיפים שורה חדשה בסוף הקובץ:

    * * * * * /usr/bin/python /Users/YourName/Downloads/Sophos-Central-SIEM-Integration/siem.py
    
  4. שומרים ויוצאים מהעורך.

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
s_ip intermediary.ip ממוזג
description metadata.description מיפוי ישיר
name metadata.description מיפוי ישיר
security_result.description metadata.description שם שונה/מיפוי
end metadata.event_timestamp הניתוח הוא RFC 3339
ts metadata.event_timestamp הניתוח הוא RFC 3339
action metadata.event_type מיפוי: unknownNETWORK_CONNECTION, ‏ allowedSCAN_PROCESS, ‏ blocked ← `SCAN_PROC...
e_type metadata.event_type ערכים ממופים (11 סך הכול, למשל NonCompliantSCAN_HOST, ‏ SavDisabled ← `SETTING_MODIFIC...
type metadata.event_type ערכים ממופים (13 בסך הכול, למשל Event::Endpoint::NonCompliantSCAN_HOST, ‏Event::Endpoin...
e_type metadata.product_event_type מיפוי ישיר
type metadata.product_event_type מיפוי ישיר
action network.direction מיפוי: warnedOUTBOUND, ‏ unknownOUTBOUND
e_type network.direction מיפוי: WindowsFirewall::BlockedOUTBOUND
type network.direction מיפוי: Event::Endpoint::WindowsFirewall::BlockedOUTBOUND
action network.ip_protocol מיפוי: warnedTCP, ‏ unknownTCP
appSha256 principal.file.sha256 מיפוי ישיר
dhost principal.hostname מיפוי ישיר
host principal.hostname מיפוי ישיר
source_info.ip principal.ip ממוזג
src_ip principal.ip ממוזג
id principal.resource.id מיפוי ישיר
suser principal.user.user_display_name מיפוי ישיר
suser principal.user.userid מיפוי ישיר
user principal.user.userid מיפוי ישיר
user_id principal.user.userid מיפוי ישיר
endpoint_id_label security_result.about.labels ממוזג
endpoint_type_label security_result.about.labels ממוזג
action security_result.action ערכים ממופים (5 בסך הכול, למשל allowsec_action, ‏ unknownsec_action, ‏ allowed ← `...
sec_action security_result.action ממוזג
group security_result.category_details ממוזג
sub_cat security_result.category_details ממוזג
desc security_result.description מיפוי ישיר
e_type security_result.description מיפוי: (UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) → `security_result...
type security_result.description ממופה: Event::Endpoint::(UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) ←...
rule security_result.rule_name מיפוי ישיר
rules security_result.rule_name מיפוי ישיר
severity security_result.severity ערכים ממופים (6 סך הכול, לדוגמה lowLOW, ‏ lowMEDIUM, ‏ lowHIGH)
security_result.description security_result.summary שם שונה/מיפוי
application target.application מיפוי ישיר
endpoint_id target.asset_id מיפוי ישיר
f_path target.file.full_path מיפוי ישיר
f_size target.file.size שם שונה/מיפוי
dhost target.hostname מיפוי ישיר
host target.hostname מיפוי ישיר
application target.process.file.full_path מיפוי ישיר
customer_id target.resource.id מיפוי ישיר
e_type target.resource.name מיפוי: SavDisabledReal time protection, ‏ OutOfDateDevice Registration, ‏ Regist...
p_device target.resource.name מיפוי ישיר
scan_name target.resource.name מיפוי ישיר
type target.resource.name מיפוי: Event::Endpoint::SavDisabledReal time protection, ‏`Event::Endpoint::OutOfDate...
action target.resource.type מיפוי: blockedDevice, ‏ restricted to read-onlyDevice
e_type target.resource.type ערכים ממופים (5 סך הכול, למשל SavDisabledSETTING, ‏ OutOfDateSETTING, ‏ Registered...
type target.resource.type ערכים ממופים (5 בסך הכול, למשל Event::Endpoint::SavDisabledSETTING, ‏`Event::Endpoint::O...
url target.url מיפוי ישיר
duid target.user.userid מיפוי ישיר
suser target.user.userid מיפוי ישיר
user target.user.userid מיפוי ישיר
לא רלוונטי metadata.event_type קבוע: GENERIC_EVENT
לא רלוונטי metadata.product_name קבוע: Sophos Anti-Virus
לא רלוונטי metadata.vendor_name קבוע: Sophos
לא רלוונטי network.direction קבוע: OUTBOUND
לא רלוונטי network.ip_protocol קבוע: TCP
לא רלוונטי security_result.description קבוע: security_result.summary
לא רלוונטי security_result.severity קבוע: LOW
לא רלוונטי target.resource.name קבוע: Real time protection
לא רלוונטי target.resource.type קבוע: SETTING

שנה רישום

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

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