איסוף יומני ArcSight CEF

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

נתמך ב:

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

‫ArcSight (עכשיו חלק מ-OpenText) משתמש בפורמט Common Event Format ‏ (CEF) כדי לבצע נורמליזציה של אירועי אבטחה ממקורות שונים. ה-ArcSight SmartConnector אוסף אירועים ומעביר אותם בפורמט CEF דרך syslog לצרכנים במורד הזרם, כולל פלטפורמות SIEM.

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

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

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

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Collection Agents.
  3. מורידים את קובץ האימות להטמעת נתונים.
  4. שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן סוכן 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 להטמעה של syslog ושליחה אל Google SecOps

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

  • ‫Linux:

    sudo nano /etc/bindplane-agent/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/arcsight_cef:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: ARCSIGHT_CEF
            raw_log_field: body
    
    service:
        pipelines:
            logs/arcsight_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/arcsight_cef
    

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

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

  • הגדרת מקלט:

    • ‫listen_address: כתובת ה-IP והיציאה להאזנה:
      • ‫0.0.0.0 כדי להאזין בכל הממשקים (מומלץ)
      • יציאה 514 היא יציאת syslog רגילה (נדרשת הרשאת root ב-Linux; אפשר להשתמש ב-1514 ללא הרשאת root)
  • הגדרת כלי הייצוא:

    • ‫creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:
      • ‫Linux: /etc/bindplane-agent/ingestion-auth.json
      • ‫Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • ‫customer_id: מספר הלקוח שהועתק ממסוף Google SecOps
    • ‫endpoint: כתובת ה-URL של נקודת הקצה האזורית:
      • ארה"ב: malachiteingestion-pa.googleapis.com
      • אירופה: europe-malachiteingestion-pa.googleapis.com
      • אסיה: asia-southeast1-malachiteingestion-pa.googleapis.com
      • רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.

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

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

הורדת ArcSight SmartConnector

  1. נכנסים לפורטל התמיכה של OpenText.
  2. מאתרים ומורידים את ArcSight SmartConnector העדכני ביותר ל-Linux.
  3. דוגמה לשם קובץ: ArcSight-Connector-Linux64-8.4.0.8499.0.bin.

התקנת ArcSight SmartConnector

  1. מעלים את הקובץ .bin לשרת SmartConnector:

    scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmp
    
  2. נכנסים לשרת SmartConnector באמצעות SSH ומריצים את הפקודה:

    cd /tmp
    chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    ./ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    
  3. פועלים לפי ההוראות במנהל ההתקנה האינטראקטיבי:

    • בוחרים את ספריית ההתקנה (לדוגמה, /opt/arcsight/connectors/current).
    • מאשרים את הרישיון.
    • כשמופיעה בקשה, לוחצים על התקנת המחבר.

הגדרת ArcSight SmartConnector לשליחת CEF ל-syslog

  1. ב-SmartConnector host, מפעילים את אשף היעד:

    cd /opt/arcsight/connectors/current/bin
    ./arcsight connectors
    
  2. באשף, מבצעים את הפעולות הבאות:

    • לוחצים על הוספת יעד.
    • בוחרים באפשרות CEF Syslog.
  3. מספקים את פרטי ההגדרה הבאים:

    • מארח/IP: מזינים את כתובת ה-IP של סוכן Bindplane.
    • יציאה: מזינים את מספר היציאה של סוכן Bindplane (לדוגמה, 514).
    • פרוטוקול: בוחרים באפשרות UDP.
  4. מסיימים את ההגדרה ומפעילים מחדש את המחבר:

    ./arcsight agents
    
  5. מריצים בדיקה של הקישוריות (מחפשים: Successfully connected to syslog: X.X.X.X:514):

    tail -f /opt/arcsight/connectors/current/logs/agent.log
    

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
לפעול security_result.action_details ממופה ישירות מהשדה act.
agt principal.ip ממופה ישירות מהשדה agt.
agt principal.asset.ip ממופה ישירות מהשדה agt.
אפליקציה network.application_protocol ממופה ישירות מהשדה app.
אומנות metadata.event_timestamp.seconds ממופה ישירות מהשדה art.
cs2 additional.fields.value.string_value ממופה ישירות מהשדה cs2 כשהערך של cs2Label הוא EventlogCategory.
cs2Label additional.fields.key ממופה ישירות מהשדה cs2Label כשהערך שלו הוא EventlogCategory.
cs3 additional.fields.value.string_value ממופה ישירות מהשדה cs3 כשהערך של cs3Label הוא Process ID.
cs3Label additional.fields.key ממופה ישירות מהשדה cs3Label כשהערך שלו הוא Process ID.
cs5 additional.fields.value.string_value ממופה ישירות מהשדה cs5 כשהערך של cs5Label הוא Authentication Package Name.
cs5Label additional.fields.key ממופה ישירות מהשדה cs5Label כשהערך שלו הוא Authentication Package Name.
cs6 additional.fields.value.string_value ממופה ישירות מהשדה cs6 כשהערך של cs6Label הוא Logon GUID.
cs6Label additional.fields.key ממופה ישירות מהשדה cs6Label כשהערך שלו הוא Logon GUID.
dhost about.hostname ממופה ישירות מהשדה dhost.
dhost target.hostname ממופה ישירות מהשדה dhost.
dntdom about.administrative_domain ממופה ישירות מהשדה dntdom.
dntdom target.administrative_domain ממופה ישירות מהשדה dntdom.
dproc about.process.command_line ממופה ישירות מהשדה dproc.
dproc target.process.command_line ממופה ישירות מהשדה dproc.
dst principal.ip ממופה ישירות מהשדה dst.
dst principal.asset.ip ממופה ישירות מהשדה dst.
dst target.ip ממופה ישירות מהשדה dst.
duid target.user.userid ממופה ישירות מהשדה duid.
duser target.user.user_display_name ממופה ישירות מהשדה duser.
dvc about.ip ממופה ישירות מהשדה dvc.
dvchost about.hostname ממופה ישירות מהשדה dvchost.
eventId additional.fields.value.string_value ממופה ישירות מהשדה eventId.
externalId metadata.product_log_id ממופה ישירות מהשדה externalId.
fname additional.fields.value.string_value ממופה ישירות מהשדה fname.
msg metadata.description ממופה ישירות מהשדה msg.
proto network.ip_protocol ממופה ישירות מהשדה proto. מתרגם שמות של פרוטוקולים לקבועים המתאימים (למשל, tcp ל-TCP).
rt metadata.event_timestamp.seconds ממופה ישירות מהשדה rt.
shost about.hostname ממופה ישירות מהשדה shost.
shost principal.hostname ממופה ישירות מהשדה shost.
src principal.ip ממופה ישירות מהשדה src.
src principal.asset.ip ממופה ישירות מהשדה src.
src target.ip ממופה ישירות מהשדה src.
sproc principal.process.command_line ממופה ישירות מהשדה sproc.
spt principal.port ממופה ישירות מהשדה spt.
spt target.port ממופה ישירות מהשדה spt.
additional.EventRecordID additional.fields.value.string_value ממופה ישירות מהשדה ad.EventRecordID.
additional.ThreadID additional.fields.value.string_value ממופה ישירות מהשדה ad.ThreadID.
additional.Opcode additional.fields.value.string_value ממופה ישירות מהשדה ad.Opcode.
additional.ProcessID additional.fields.value.string_value ממופה ישירות מהשדה ad.ProcessID.
additional.TargetDomainName additional.fields.value.string_value ממופה ישירות מהשדה ad.TargetDomainName.
additional.Version additional.fields.value.string_value ממופה ישירות מהשדה ad.Version.
deviceExternalId about.asset.hardware.serial_number ממופה ישירות מהשדה deviceExternalId.
deviceInboundInterface additional.fields.value.string_value ממופה ישירות מהשדה deviceInboundInterface.
deviceOutboundInterface additional.fields.value.string_value ממופה ישירות מהשדה deviceOutboundInterface.
PanOSConfigVersion security_result.detection_fields.value ממופה ישירות מהשדה PanOSConfigVersion.
PanOSContentVersion security_result.detection_fields.value ממופה ישירות מהשדה PanOSContentVersion.
PanOSDGHierarchyLevel1 security_result.detection_fields.value ממופה ישירות מהשדה PanOSDGHierarchyLevel1.
PanOSDestinationLocation target.location.country_or_region ממופה ישירות מהשדה PanOSDestinationLocation.
PanOSRuleUUID metadata.product_log_id ממופה ישירות מהשדה PanOSRuleUUID.
PanOSThreatCategory security_result.category_details ממופה ישירות מהשדה PanOSThreatCategory.
PanOSThreatID security_result.threat_id ממופה ישירות מהשדה PanOSThreatID.
about.asset.asset_id נוצר על ידי שרשור של Palo Alto Networks., שם הספק (LF) והשדה deviceExternalId.
extensions.auth.type מגדירים ל-AUTHTYPE_UNSPECIFIED אם השדה event_name מכיל את הערך logged on.
metadata.description אם השדה description מכיל את הערך by ואחריו כתובת IP, כתובת ה-IP מחולצת וממופה ל-principal.ip ול-principal.asset.ip.
metadata.event_type הערך נקבע על סמך סדרה של בדיקות מותנות בשדות שונים, כולל event_name,‏ principal_*,‏ target_* ו-device_event_class_id. הלוגיקה קובעת את סוג האירוע המתאים ביותר על סמך המידע שזמין.
metadata.log_type הערך שהוגדר הוא ARCSIGHT_CEF.
metadata.product_event_type נוצר על ידי שרשור של \[, the device_event_class_id field, \] - והשדה name.
metadata.product_name מוגדר ל-NGFW אם השדה product_name הוא LF.
principal.asset.ip אם השדה description מכיל את הערך by ואחריו כתובת IP, כתובת ה-IP מחולצת וממופה ל-principal.ip ול-principal.asset.ip.
principal.ip אם השדה description מכיל את הערך by ואחריו כתובת IP, כתובת ה-IP מחולצת וממופה ל-principal.ip ול-principal.asset.ip.
security_result.action הערך ALLOW מוגדר אם השדה act הוא alert, אחרת הערך BLOCK מוגדר.
security_result.severity הערך הוא HIGH אם השדה sev גדול מ-7 או שווה לו, אחרת הערך הוא LOW.
PanOSFileType event.idm.read_only_udm.target.file.mime_type מופה מיומן השינויים
PanOSEmailSubject event.idm.read_only_udm.network.email.subject מופה מיומן השינויים
PanOSNSSAINetworkSliceType event.idm.read_only_udm.additional.fields מופה מיומן השינויים
PanOSURLCounter event.idm.read_only_udm.additional.fields מופה מיומן השינויים
PanOSReportID event.idm.read_only_udm.additional.fields מופה מיומן השינויים
PanOSDGHierarchyLevel2 event.idm.read_only_udm.additional.fields מופה מיומן השינויים
PanOSVirtualSystemName event.idm.read_only_udm.additional.fields מופה מיומן השינויים
PanOSSigFlags event.idm.read_only_udm.additional.fields מופה מיומן השינויים
PanOSPartialHash event.idm.read_only_udm.additional.fields מופה מיומן השינויים
version event.idm.read_only_udm.additional.fields מופה מיומן השינויים
cn3 network.duration.seconds מופה מיומן השינויים
PanOSTenantID additional.fields מופה מיומן השינויים
cn3 additional.fields מופה מיומן השינויים
PanOSCortexDataLakeTenantID additional.fields מופה מיומן השינויים
target_user target.user.userid מופה מיומן השינויים
principal_ip principal.ip מופה מיומן השינויים
PanOSStage", "PanOSConnectionError", and "PanOSEventDetails additional.fields מופה מיומן השינויים
outcome security_result.action_details מופה מיומן השינויים
PanOSDescription metadata.description מופה מיומן השינויים
PanOSSourceUser principal.user.userid מופה מיומן השינויים
app target.application מופה מיומן השינויים
flexString2", "PanOSFileHash", and "filePath additional.fields מופה מיומן השינויים
threat_name security_result.threat_name מופה מיומן השינויים
principal_ip1 principal.ip מופה מיומן השינויים
metadata.event_type NETWORK_CONNECTION מופה מיומן השינויים
deviceOutboundInterface", "deviceInboundInterface additional.fields מופה מיומן השינויים
query additional fields מופה מיומן השינויים

יומן שינויים

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

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