איסוף יומנים של Endpoint Protector DLP

גרסת כלי הניתוח: 2.0

נתמך ב:

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

‫Netwrix Endpoint Protector הוא פתרון למניעת אובדן נתונים (DLP) שמפיק הודעות syslog עבור בקרת מכשירים, הגנה מבוססת-תוכן ואירועים של העברת קבצים. המנתח מחלץ שדות באמצעות תבניות grok וממפה אותם ל-Unified Data Model ‏ (UDM).

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

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

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

קבלת פרטי כניסה ל-Google SecOps עבור סוכן Bindplane

כדי לאמת את סוכן Bindplane ב-Google SecOps, בוחרים אחת מהשיטות הבאות:

  • פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
  • פריסות מדור קודם: אפשר להמשיך להשתמש בקובץ האימות של ה-API להעברת נתונים (אפשרות 2) עד שה-API להעברת נתונים יפסיק לפעול ב-20 ביולי 2027.
  1. נכנסים למסוףGoogle Cloud ובוחרים את הפרויקט ב- Google Cloud שמקושר למכונה של Google SecOps.
  2. נכנסים לדף IAM & Admin > Service Accounts.
  3. לוחצים על Create service account.
  4. מספקים את פרטי ההגדרה הבאים:
    • שם חשבון השירות: מזינים שם לחשבון (לדוגמה, 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 Settings > Profile.
  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 /opt/observiq-otel-collector/config.yaml
    
  • ‫Windows:

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

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

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

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/endpoint_protector_dlp:
        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: ENDPOINT_PROTECTOR_DLP
        raw_log_field: body
    
    service:
      pipelines:
        logs/endpoint_protector_dlp_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/endpoint_protector_dlp
    

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

מחליפים את ה-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 של הכלי לייצוא. לרשימה המלאה, ראו נקודות קצה אזוריות.
    • ‫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/endpoint_protector_dlp:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ENDPOINT_PROTECTOR_DLP
        raw_log_field: body
    

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

  • אחרי שמסיימים לערוך, שומרים את הקובץ:
    • 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"
        

הגדרת syslog ב-Netwrix Endpoint Protector

  1. נכנסים לממשק המשתמש באינטרנט של Endpoint Protector.
  2. עוברים אל Appliance > SIEM Integration.
  3. לוחצים על הוספה.
  4. מזינים את פרטי ההגדרה הבאים:
    • סטטוס SIEM: מעבירים את המתג למצב מופעל כדי להפעיל את שרת ה-SIEM.
    • השבתת הרישום ביומן: מעבירים את המתג למצב מופעל כדי להפעיל את הרישום ביומן.
    • שם השרת: מזינים שם שרת ייחודי ומשמעותי.
    • תיאור השרת: מוסיפים תיאור לשילוב הזה.
    • כתובת ה-IP או ה-DNS של השרת: מזינים את כתובת ה-IP של סוכן Bindplane.
    • פרוטוקול שרת: בוחרים באפשרות UDP.
    • יציאת השרת: מזינים את מספר היציאה של סוכן Bindplane (לדוגמה, 514 עבור UDP).
    • החרגת כותרות: מעבירים את המתג למצב מופעל כדי להפעיל את כותרות היומן.
    • סוגי יומנים: בוחרים את היומנים הזמינים שרוצים לשלוח ל-SIEM.
  5. לוחצים על Save.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
Client Computer principal.asset.asset_id הערך של Client Computer מוקצה ל-principal.asset.asset_id אחרי הוספת "מחשב לקוח: " בתחילת המחרוזת.
Client User principal.user.userid הערך של Client User מוקצה ל-principal.user.userid.
Content Policy security_result.rule_name הערך של Content Policy מוקצה ל-security_result.rule_name.
Content Policy Type security_result.rule_id הערך של Content Policy Type מוקצה ל-security_result.rule_id.
Destination metadata.ingestion_labels.value הערך של Destination מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "יעד".
Destination Type metadata.ingestion_labels.value הערך של Destination Type מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "סוג היעד".
Device PID metadata.ingestion_labels.value הערך של Device PID מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "מזהה מוצר של המכשיר".
Device Serial metadata.ingestion_labels.value הערך של Device Serial מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "מספר סידורי של המכשיר". הפעולה הזו מתבצעת רק אם Device Serial לא ריק.
Device VID metadata.ingestion_labels.value הערך של Device VID מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "מזהה ספק של המכשיר".
File Name target.file.full_path הערך של File Name מוקצה ל-target.file.full_path.
File Size target.file.size הערך של File Size מוקצה ל-target.file.size ומומר למספר שלם ללא סימן.
IP Address principal.ip הערך של IP Address מוקצה ל-principal.ip.
Item Details metadata.ingestion_labels.value הערך של Item Details מוקצה לשדה value של אובייקט ingestion_labels שבו הערך של key הוא Item Details (פרטי פריט).
Log ID metadata.product_log_id הערך של Log ID מוקצה ל-metadata.product_log_id.
MAC Address principal.mac הערך של MAC Address מוקצה ל-principal.mac אחרי שכל המקפים מוחלפים בנקודתיים.
Matched Item metadata.ingestion_labels.value הערך של Matched Item מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא 'פריט תואם'.
Message security_result.summary הערך של Message מוקצה ל-security_result.summary.
OS principal.platform הערך של OS משמש לקביעת הערך של principal.platform. אם OS מכיל את המילה "Windows", הערך של principal.platform מוגדר כ-"WINDOWS". אם OS מכיל את המחרוזת 'Mac', הערך של principal.platform הוא 'MAC'. אם OS מכיל את הערך "Lin", הערך של principal.platform מוגדר כ-"LINUX".
Serial Number principal.asset.hardware.serial_number הערך של Serial Number מוקצה ל-principal.asset.hardware.serial_number. חולץ משדה ההודעה באמצעות grok והוקצה ל-intermediary.hostname. חולץ משדה ההודעה באמצעות grok והוקצה ל-metadata.description. חותמת הזמן מהודעת ה-syslog מנותחת ומוקצית ל-metadata.event_timestamp. הערך "SCAN_UNCATEGORIZED" מוקצה ל-metadata.event_type. הערך "ENDPOINT_PROTECTOR_DLP" מוקצה ל-metadata.log_type. הערך 'ENDPOINT_PROTECTOR_DLP' מוקצה ל-metadata.product_name. הערך 'ENDPOINT_PROTECTOR_DLP' מוקצה ל-metadata.vendor_name. חולץ משדה ההודעה באמצעות grok והוקצה ל-principal.hostname. הערך חולץ משדה ההודעה באמצעות grok והוקצה ל-principal.ip. חותמת הזמן מהודעת ה-syslog מנותחת ומוקצית לשדה timestamp ברמה העליונה.
Destination event.idm.read_only_udm.target.application מופה מיומן השינויים
Matched Item event.idm.read_only_udm.target.file.mime_type מופה מיומן השינויים
intermediary_ip event.idm.read_only_udm.intermediary.ip מופה מיומן השינויים
server_date event.idm.read_only_udm.additional.fields מופה מיומן השינויים
client_date event.idm.read_only_udm.additional.fields מופה מיומן השינויים
server_date_utc event.idm.read_only_udm.additional.fields מופה מיומן השינויים
client_date_utc event.idm.read_only_udm.additional.fields מופה מיומן השינויים
pid event.idm.read_only_udm.principal.process.pid מופה מיומן השינויים
OS event.idm.read_only_udm.principal.platform_version מופה מיומן השינויים

יומן שינויים

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

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