איסוף יומני Commvault

גרסת המנתח: 3.0

נתמך ב:

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

‫Commvault יוצרת הודעות syslog לפעולות גיבוי, התראות, אירועים ופעילויות מערכת. המנתח מחלץ שדות מהודעות היומן וממפה אותם למודל הנתונים המאוחד (UDM).

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

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

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

קבלת פרטי כניסה ל-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
    
  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/commvault:
        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: COMMVAULT
        raw_log_field: body
    
    service:
      pipelines:
        logs/commvault_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/commvault
    

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

מחליפים את ה-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.

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

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

    exporters:
      chronicle/commvault:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: COMMVAULT
        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 ב-Commvault Cloud

  1. נכנסים למסוף הניהול של Commvault.
  2. עוברים אל ניהול > מערכת.
  3. לוחצים על המשבצת של מחבר ה-SIEM.
  4. לוחצים על הוספת מחבר.
  5. בכרטיסייה General, מזינים את הפרטים הבאים:
    • שם המחבר: נותנים שם למחבר.
    • סוג המחבר: בוחרים באפשרות Syslog.
    • נתונים בסטרימינג: בוחרים את הנתונים שרוצים לייצא.
  6. לוחצים על הבא.
  7. בכרטיסייה הגדרת מחבר, לוחצים על הוספת שרת Syslog.
  8. מזינים את פרטי ההגדרה הבאים:
    • שרת Syslog: מזינים את כתובת ה-IP של סוכן Bindplane.
    • מספר יציאה: מזינים את מספר היציאה של סוכן Bindplane.
  9. לוחצים על שליחה.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM Logic (פונקציה לוגית)
AgentType event.idm.read_only_udm.observer.application הערך נלקח מהשדה AgentType בהודעת היומן.
Alertid event.idm.read_only_udm.security_result.detection_fields.value הערך נלקח מהשדה Alertid בהודעת היומן. השדה הזה ממופה במפתח alert_id.
Alertname event.idm.read_only_udm.security_result.detection_fields.value הערך נלקח מהשדה Alertname בהודעת היומן. השדה הזה ממופה במפתח alert_name.
Alertseverity event.idm.read_only_udm.security_result.severity השדה הזה משמש לאכלוס השדה security_result.severity על סמך הערך שלו.
Alerttime event.idm.read_only_udm.metadata.event_timestamp הערך נלקח מהשדה Alerttime בהודעת היומן והומר לחותמת זמן.
BackupLevel event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה BackupLevel בהודעת היומן. השדה הזה ממופה במפתח backup_level.
BackupSet event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה BackupSet בהודעת היומן. השדה הזה ממופה במפתח backup_set.
לקוח event.idm.read_only_udm.principal.hostname הערך נלקח מהשדה Client בהודעת היומן.
CommCell event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה CommCell בהודעת היומן. השדה הזה ממופה במפתח comcell_field.
מחשב event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה Computer בהודעת היומן. השדה הזה ממופה במפתח computer_field.
תיאור event.idm.read_only_udm.metadata.description הערך נלקח מהשדה Description בהודעת היומן אחרי עיבוד וניקוי.
DetectedCriteria event.idm.read_only_udm.security_result.detection_fields.value הערך נלקח מהשדה DetectedCriteria בהודעת היומן. השדה הזה ממופה במפתח detected_criteria.
DetectedTime event.idm.read_only_udm.security_result.detection_fields.value הערך נלקח מהשדה DetectedTime בהודעת היומן. השדה הזה ממופה במפתח detected_time.
פרטים event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה Details בהודעת היומן. השדה הזה ממופה במפתח details_field.
Eventid event.idm.read_only_udm.metadata.product_log_id הערך נלקח מהשדה Eventid בהודעת היומן.
Eventseverity event.idm.read_only_udm.security_result.severity השדה הזה משמש לאכלוס השדה security_result.severity על סמך הערך שלו.
הפעולה נכשלה event.idm.read_only_udm.security_result.detection_fields.value הערך נלקח מהשדה Failure בהודעת היומן. השדה הזה ממופה במפתח failure_filed.
Instance event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה Instance בהודעת היומן. השדה הזה ממופה במפתח instance_field.
Jobid event.idm.read_only_udm.principal.process.pid הערך נלקח מהשדה Jobid בהודעת היומן.
MonitoringCriteria event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה MonitoringCriteria בהודעת היומן. השדה הזה ממופה במפתח monitoring_criteria.
Occurencetime event.idm.read_only_udm.metadata.event_timestamp הערך נלקח מהשדה Occurencetime בהודעת היומן והומר לחותמת זמן.
Opid event.idm.read_only_udm.security_result.detection_fields.value הערך נלקח מהשדה Opid בהודעת היומן. השדה הזה ממופה במפתח op_id.
תוכנית event.idm.read_only_udm.principal.application הערך נלקח מהשדה Program בהודעת היומן.
Severitylevel event.idm.read_only_udm.security_result.severity הערך נלקח מהשדה Severitylevel בהודעת היומן וממופה על סמך מיפוי מוגדר מראש.
StoragePoliciesUsed event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה StoragePoliciesUsed בהודעת היומן. השדה הזה ממופה במפתח storage_policies_used.
לקוח משני event.idm.read_only_udm.additional.fields.value.string_value הערך נלקח מהשדה Subclient בהודעת היומן. השדה הזה ממופה במפתח subclient_field.
סוג event.idm.read_only_udm.security_result.detection_fields.value הערך נלקח מהשדה Type בהודעת היומן. השדה הזה ממופה במפתח alert_type.
שם משתמש event.idm.read_only_udm.principal.user.userid הערך נלקח מהשדה Username בהודעת היומן.
anomaly_type event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח detected_anomaly_type.
שגיאות event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח errors_field.
file_name event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח detected_malicious_file.
media_agent event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח detected_media_agent.
no_of_files_created event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח no_of_files_created_field.
no_of_files_deleted event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח no_of_files_deleted_field.
no_of_files_modified event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח no_of_files_modified_field.
no_of_files_renamed event.idm.read_only_udm.security_result.detection_fields.value הערך חולץ מהשדה Description באמצעות תבניות grok. השדה הזה ממופה במפתח no_of_files_renamed_field.
כתובת URL event.idm.read_only_udm.network.http.referral_url הערך חולץ מהשדה Description באמצעות תבניות grok.
event.idm.read_only_udm.metadata.event_type השדה הזה מוגדר כ-STATUS_UPDATE אם השדה Client קיים, אחרת הוא מוגדר כ-GENERIC_EVENT.
event.idm.read_only_udm.metadata.product_name השדה הזה מוגדר ל-COMMVAULT.
event.idm.read_only_udm.metadata.vendor_name השדה הזה מוגדר ל-COMMVAULT.
event.idm.read_only_udm.principal.user.user_role השדה הזה מוגדר ל-ADMINISTRATOR אם השדה User הוא Administrator.
Commcellname additional.fields מופה מיומן השינויים
Operation metadata.description מופה מיומן השינויים
Companyname principal.user.company_name מופה מיומן השינויים
machine_name principal.hostname מופה מיומן השינויים
locale additional.fields מופה מיומן השינויים

יומן שינויים

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

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