איסוף יומנים של uberAgent

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני רישום של uberAgent ב-Google Security Operations באמצעות סוכן Bindplane.

‫uberAgent היא פלטפורמה לניתוח אבטחת נקודות קצה ולניטור חוויית משתמש עבור Windows ו-macOS. הוא אוסף נתוני טלמטריה, כולל אירועים של תהליכים, אירועי כניסה, חיבורים לרשת ושימוש באפליקציות בנקודות קצה מפוקחות.

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

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

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

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

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

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

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

התקנת סוכן Bindplane

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

התקנה ב-Windows

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

איתור קובץ ההגדרות

  • ‫Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • ‫Windows:

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

עריכת קובץ ההגדרות

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

    receivers:
        filelog:
            include:
                - 'C:\uberAgent\logs\*.log'
                - 'C:\uberAgent\logs\*.csv'
            start_at: beginning
            poll_interval: 5s
    
    exporters:
        chronicle/uberagent:
            compression: gzip
            creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: UBERAGENT
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/uberagent_to_chronicle:
                receivers:
                    - filelog
                exporters:
                    - chronicle/uberagent
    

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

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

  • הגדרת מקלט:

    • ‫include: נתיבים לקובצי יומן של uberAgent:
      • Windows (local): C:\uberAgent\logs\*.log ו-C:\uberAgent\logs\*.csv
      • Windows (שיתוף קבצים): \\SERVER\Share\uberagent-logs\*.log
      • שינוי הנתיב בהתאם להגדרת פלט הקובץ של uberAgent
    • ‫start_at: מגדירים את הערך beginning כדי לקרוא יומנים קיימים, או end כדי לקרוא רק רשומות חדשות
    • ‫poll_interval: באיזו תדירות לבדוק אם יש נתוני יומן חדשים (ברירת מחדל: 5s)
  • הגדרת כלי הייצוא:

    • ‫uberagent: שם תיאורי של הכלי לייצוא
    • ‫creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:
      • ‫Linux: /etc/bindplane-agent/ingestion-auth.json
      • ‫Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • ‫<customer_id>: מספר הלקוח מהשלב הקודם
    • ‫endpoint: כתובת ה-URL של נקודת הקצה האזורית:
      • ארה"ב: malachiteingestion-pa.googleapis.com
      • אירופה: europe-malachiteingestion-pa.googleapis.com
      • אסיה: asia-southeast1-malachiteingestion-pa.googleapis.com
      • רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.
    • ‫UBERAGENT: סוג היומן בדיוק כמו שהוא מופיע ב-Chronicle
    • ‫ingestion_labels: תוויות אופציונליות בפורמט YAML (לדוגמה, env: production)
  • הגדרת צינור עיבוד נתונים:

    • ‫uberagent_to_chronicle: שם תיאורי של צינור העיבוד

שמירת קובץ ההגדרות

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

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

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

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

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

      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"
        

הגדרת פלט קובץ של uberAgent

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

  1. פותחים את קובץ ההגדרות של uberAgent ‏ (uberAgent.conf) בנקודת הקצה או דרך Group Policy.
  2. הגדרת מקלט פלט מבוסס-קובץ:

    [Receiver]
    Name = FileOutput
    Type = File
    Path = C:\uberAgent\logs\
    
  3. מגדירים את המדדים ואת סוגי המקורות לייצוא:

    • תהליך: אירועי התחלה/עצירה של תהליך, שימוש במשאבים.
    • כניסה: אירועים של כניסה או יציאה של משתמשים.
    • רשת: אירועים של חיבור לרשת.
    • אפליקציה: שימוש באפליקציה ושגיאות.
  4. שומרים את ההגדרה ומפעילים מחדש את שירות uberAgent.

  5. מוודאים שקבצי היומן נוצרים בספריית הפלט שהוגדרה.

  6. מוודאים שלסוכן Bindplane יש הרשאות קריאה בספרייה ובקבצים של היומן.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
SessionRpLatencyMs2, ‏ SessionHRes, ‏ SessionVRes, ‏ SessionColorDepth, ‏ SessionClientPlatform, ‏ SessionClientVersion, ‏ SessionClientOsLanguage, ‏ SessionPublishedName, ‏ SessionPublishedAppsCtx, ‏ SessionAppStateCtx, ‏ SessionEncryptionCtx, ‏ SessionClientTypeCtx, ‏ SessionBrokerDnsVmw, ‏ SessionBrokerUrlVmw, ‏ SessionBrokerTunneledVmw, ‏ SessionBrokerTunnelUrlVmw, ‏ SessionBrokerRemoteIpVmw, ‏ SessionBrokerUserVmw, ‏ SessionBrokerDomainVmw, ‏ SessionClientTimezoneVmw, ‏ SessionClientIdVmw, ‏ SessionTypeVmw, ‏ SessionBrokerType, ‏ SessionFgAppId, ‏ SessionFgAppVersion, ‏ SessionFgProcessName, ‏ SessionFgProcessId, ‏ SessionFgBrowserType, ‏ SessionFgBrowserActiveTabHost, ‏ SessionFgWindowTitle, ‏ SessionClientHwIdCtx2, ‏ SessionRoundTripTimeMs, ‏ SessionFps, ‏ SessionTransportProtocols, ‏ SessionProcessCount, ‏ SessionIOMB, ‏ SessionCPUTimeMs, ‏ SessionConnectionState, ‏ SessionUser, ‏ SessionIOCount, ‏ SessionNetKBPS, ‏ SessionWorkingSetMB, ‏ SessionCPUUsagePercent, ‏ SessionIOPS, ‏ SessionClientName, ‏ SessionIOLatencyMs, ‏ PowerSupportsS3, ‏ IsBatteryPresent, ‏ PowerSupportsS1, ‏ PowerSupportsS2, ‏ PowerSupportsS5, ‏ CPUMaxMhz, ‏ BaseboardSerial, ‏ CtxMachineCatalogName, ‏ AdDomainDns, ‏ HwHypervisorVendor, ‏ OsBuild, ‏ HwBiosVersion, ‏ PowerSupportsS4, ‏ HwIsVirtualMachine, ‏ IsUpsPresent, ‏ PowerSupportsConnectedStandby, ‏ OsInstallDate, ‏ Sourcetype, ‏ uberagent_index_name, ‏ data_stream.namespace, ‏ data_stream.dataset, ‏ data_stream.type, ‏ data_stream.subset, ‏ CPUCoresLogical, ‏ AdOu, ‏ AdDomainNetBios, ‏ logstash_pipeline, ‏ AdSite, ‏ CtxFarmName, ‏ CPUSockets, ‏ OsSpName, ‏ OsName, ‏ OsType, ‏ OsUpdateBuildRevision, ‏ ComputerNameCanonical, ‏ ComputerNameDn, ‏ CtxDeliveryGroupName, ‏ tags, ‏ user_agent.original additional.fields המיזוג מתבצע כצמדי מפתח/ערך מהשדות שמופיעים ברשימה
metadata.event_type הערך שמוגדר הוא STATUS_UPDATE אם has_principal הוא true ו-has_target הוא false, ‏ NETWORK_CONNECTION אם שניהם true, ‏ GENERIC_EVENT בכל מקרה אחר
SessionGUID metadata.product_log_id הערך הועתק ישירות
user_agent.original network.http.parsed_user_agent הומר לסוכן משתמש מנותח
user_agent.original network.http.user_agent הערך הועתק ישירות
SessionTransportProtocols network.ip_protocol הערך צריך להיות UDP אם יש התאמה ל-udp‏ (?i), ו-TCP אם יש התאמה ל-tcp‏ (?i)
SessionID network.session_id הערך הועתק ישירות
SessionClientUserDomain principal.administrative_domain הערך הועתק ישירות
CPUCoresPhysical, RAMSizeGB, CPUName, HwManufacturer, OsArchitecture, BIOSSerial, HwModel principal.asset.hardware מוזג לאובייקט חומרה
SessionClientDomain, host principal.asset.hostname ערך מ-SessionClientDomain אם הוא לא ריק, אחרת host
prin_ip, ‏ SessionClientIp, ‏ system_ip principal.asset.ip הערך מ-prin_ip אם הוא לא ריק, אחרת SessionClientIp, אחרת system_ip
SessionClientDomain, host principal.hostname ערך מ-SessionClientDomain אם הוא לא ריק, אחרת host
prin_ip, ‏ SessionClientIp, ‏ system_ip principal.ip הערך מ-prin_ip אם הוא לא ריק, אחרת SessionClientIp, אחרת system_ip
SessionClientMac principal.mac הערך מ-SessionClientMac, עם החלפה של המקף בנקודתיים, באותיות קטנות
SessionClientPlatform principal.platform הערך WINDOWS מוגדר אם יש התאמות ל-windows‏ (?i)
SessionClientVersion principal.platform_version הגדרה לערך אם יש התאמה ל-windows‏ (?i)
SessionUser, ‏ SessionClientUser principal.user.user_display_name הערך מ-SessionUser אם הוא לא ריק, אחרת הערך מ-SessionClientUser
SessionBrokerRemoteIpVmw target.ip הערך הועתק ישירות
SessionBrokerUserVmw target.user.user_display_name הערך הועתק ישירות
SessionClientIdVmw target.user.userid הערך הועתק ישירות
metadata.product_name ההגדרה היא UBERAGENT
metadata.vendor_name ההגדרה היא UBERAGENT

יומן שינויים

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

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