איסוף יומנים של InterSystems Caché

נתמך ב:

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

‫InterSystems Caché היא פלטפורמה של מסדי נתונים ואפליקציות עם ביצועים גבוהים, שמשמשת בתחום שירותי הבריאות והשירותים הפיננסיים. הוא יוצר יומני ביקורת לפעולות במסד הנתונים, לגישת משתמשים ולאירועים במערכת. הכלי לניתוח מחלץ שדות מנתוני ביקורת של Caché וממפה אותם למודל הנתונים המאוחד (UDM), תוך תיעוד של זהות המשתמש, מאפייני הרשת, פרטי התהליך, פעולות הקבצים ותוצאות האבטחה.

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

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

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

קבלת קובץ אימות להטמעת נתונים ב-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

מתקינים את סוכן 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 /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/intersystems_cache:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: INTERSYSTEMS_CACHE
            raw_log_field: body
    
    service:
        pipelines:
            logs/intersystems_cache:
                receivers:
                    - udplog
                exporters:
                    - chronicle/intersystems_cache
    

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

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

  • הגדרת מקלט:

    • udplog: סוג הנמען על סמך הפרוטוקול:
      • udplog ל-UDP syslog
      • tcplog עבור Syslog ב-TCP
      • syslog עבור Syslog RFC 3164/5424
    • 0.0.0.0: כתובת ה-IP להאזנה:
      • 0.0.0.0 כדי להאזין בכל הממשקים (מומלץ)
      • כתובת IP ספציפית להאזנה בממשק אחד
    • 514: מספר היציאה להאזנה (לדוגמה, 514, ‏ 1514, ‏ 6514)
  • הגדרות של הכלי לייצוא:

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

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

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

‫InterSystems Caché כותבת אירועי ביקורת למסד הנתונים הפנימי שלה לביקורת. מגדירים העברה של syslog כדי לשלוח את האירועים האלה לסוכן Bindplane.

הפעלה והגדרה של רישום ביומן ביקורת

  1. פותחים את Caché Management Portal.
  2. עוברים אל System Administration > Security > Auditing > Configure System Events.
  3. מפעילים את אירועי הביקורת שרוצים לתעד (לדוגמה, %System/%Login/LoginFailure, %System/%Security/Protect).
  4. לוחצים על Save.

הגדרת העברה של syslog

  1. בפורטל הניהול, עוברים אל System Administration > Security > Auditing > Configure Audit (ניהול מערכת > אבטחה > ביקורת > הגדרת ביקורת).
  2. הפעלת העברה של אירועי ביקורת ל-syslog.
  3. מספקים את פרטי ההגדרה הבאים:
    • שרת Syslog: מזינים את כתובת ה-IP של מארח הסוכן Bindplane (לדוגמה, 192.168.1.100).
    • יציאה: מזינים 514 (חייב להיות זהה ליציאת המקלט של Bindplane).
    • פרוטוקול: בוחרים באפשרות UDP (חייב להיות זהה לסוג המקלט של Bindplane).
  4. לוחצים על Save.

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
deviceNtDomain about.administrative_domain שם שונה/מיפוי
deviceExternalId about.asset.asset_id מיפוי ישיר
device_product about.asset.asset_id מיפוי ישיר
device_vendor about.asset.asset_id מיפוי ישיר
fileHash about.file.full_path מיפוי ישיר
filePath about.file.full_path שם שונה/מיפוי
_hash about.file.sha256 שם שונה/מיפוי
fileHash about.file.sha256 שם שונה/מיפוי
fsize about.file.size שם שונה/מיפוי
dvchost about.hostname שם שונה/מיפוי
ips about.ip ממוזג
dvc_mac about.mac מיפוי: slotmac_address
dvcmac about.mac ממוזג
mac_address about.mac ממוזג
deviceTranslatedAddress about.nat_ip ממוזג
Emne about.process.command_line מיפוי ישיר
Path about.process.command_line מיפוי ישיר
Subject about.process.command_line מיפוי ישיר
deviceProcessName about.process.command_line שם שונה/מיפוי
dvcpid about.process.pid שם שונה/מיפוי
permissions about.resource.attribute.permissions ממוזג
additional_cfp1 additional.fields ממוזג
additional_cfp2 additional.fields ממוזג
additional_cfp3 additional.fields ממוזג
additional_cfp4 additional.fields ממוזג
additional_cn1 additional.fields ממוזג
additional_cn2 additional.fields ממוזג
additional_cn3 additional.fields ממוזג
additional_cs1 additional.fields ממוזג
additional_cs2 additional.fields ממוזג
additional_cs3 additional.fields ממוזג
additional_cs4 additional.fields ממוזג
additional_cs5 additional.fields ממוזג
additional_cs6 additional.fields ממוזג
additional_cs7 additional.fields ממוזג
additional_devicePayloadId additional.fields ממוזג
additional_eventId additional.fields ממוזג
additional_field additional.fields ממוזג
additional_field_key additional.fields מיפוי: smb_stage1additional_smb_stage1
additional_flexString1 additional.fields ממוזג
additional_fname additional.fields ממוזג
additional_smb_stage1 additional.fields ממוזג
cs2 additional.fields מיפוי: arc_testadditional_cs2
cs5_label additional.fields ממוזג
event_name extensions.auth.type מיפוי: logoutAUTHTYPE_UNSPECIFIED, ‏ loginAUTHTYPE_UNSPECIFIED
field_intermediary intermediary ממוזג
msg metadata.description שם שונה/מיפוי
Generated metadata.event_timestamp הניתוח הוא yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp הניתוח הוא yyyy-MM-ddTHH:mm:ss
rt metadata.event_timestamp הניתוח הוא yyyy-MM-ddTHH:mm:ssZ
event_name metadata.event_type מיפוי: logoutUSER_LOGOUT, ‏ loginUSER_LOGIN, ‏ ‎`"LogSpyware","LogPredictiveMachin...
device_event_class_id metadata.product_event_type מיפוי ישיר
event_name metadata.product_event_type מיפוי ישיר
externalId metadata.product_log_id מיפוי ישיר
device_product metadata.product_name מיפוי ישיר
device_version metadata.product_version מיפוי ישיר
device_vendor metadata.vendor_name שם שונה/מיפוי
app_protocol_output network.application_protocol מיפוי ישיר
deviceDirection network.direction מיפוי: 0INBOUND, ‏ 1OUTBOUND
requestMethod network.http.method שם שונה/מיפוי
agentZoneURI network.http.referral_url מיפוי ישיר
requestClientApplication network.http.user_agent שם שונה/מיפוי
ip_protocol_out network.ip_protocol מיפוי ישיר
in network.received_bytes שם שונה/מיפוי
out network.sent_bytes שם שונה/מיפוי
sntdom principal.administrative_domain שם שונה/מיפוי
sourceServiceName principal.application שם שונה/מיפוי
Group_name principal.group.group_display_name מיפוי ישיר
Gruppenavn principal.group.group_display_name מיפוי ישיר
Device_name principal.hostname מיפוי ישיר
Enhetsnavn principal.hostname מיפוי ישיר
shost principal.hostname שם שונה/מיפוי
principal_ip principal.ip ממוזג
shost principal.ip ממוזג
mac principal.mac ממוזג
sourceTranslatedAddress principal.nat_ip ממוזג
sourceTranslatedPort principal.nat_port שם שונה/מיפוי
spt principal.port שם שונה/מיפוי
sproc principal.process.command_line שם שונה/מיפוי
spid principal.process.pid שם שונה/מיפוי
principal_role principal.user.attribute.roles ממוזג
suser principal.user.user_display_name מיפוי ישיר
suid principal.user.userid שם שונה/מיפוי
_action security_result.action ממוזג
act security_result.action מיפוי: accept_action, ‏ deny_action
Action_Taken security_result.action_details מיפוי ישיר
act security_result.action_details מיפוי ישיר
cat security_result.category_details ממוזג
Scan_Type security_result.description מיפוי ישיר
Type security_result.description מיפוי ישיר
msg_data_2 security_result.description מיפוי ישיר
infection_channel_label security_result.detection_fields ממוזג
operasjon_label security_result.detection_fields ממוזג
operation_label security_result.detection_fields ממוזג
permission_label security_result.detection_fields ממוזג
spyware_Grayware_Type_label security_result.detection_fields ממוזג
threat_probability_label security_result.detection_fields ממוזג
tillatelse_label security_result.detection_fields ממוזג
mwProfile security_result.rule_name מיפוי ישיר
severity security_result.severity מיפוי: "0", "1", "2", "3", "LOW"LOW, ‏`"4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"...
severity security_result.severity_details מיפוי ישיר
Result security_result.summary מיפוי ישיר
appcategory security_result.summary מיפוי ישיר
reason security_result.summary שם שונה/מיפוי
Spyware security_result.threat_name מיפוי ישיר
Unknown_Threat security_result.threat_name מיפוי ישיר
Virus_Malware_Name security_result.threat_name מיפוי ישיר
oldFilePath src.file.full_path שם שונה/מיפוי
oldFileSize src.file.size שם שונה/מיפוי
old_permissions src.resource.attribute.permissions ממוזג
dntdom target.administrative_domain שם שונה/מיפוי
app target.application מיפוי ישיר
destinationServiceName target.application שם שונה/מיפוי
ahost target.hostname מיפוי ישיר
temp_dhost target.hostname מיפוי ישיר
IPv6_Address target.ip ממוזג
agt target.ip ממוזג
dst_ip target.ip ממוזג
ipv6 target.ip מיפוי: -IPv6_Address
atz target.location.country_or_region מיפוי ישיר
amac target.mac ממוזג
mac_address target.mac ממוזג
destination_translated_address target.nat_ip ממוזג
destinationTranslatedPort target.nat_port שם שונה/מיפוי
dpt target.port שם שונה/מיפוי
dproc target.process.command_line שם שונה/מיפוי
File_name target.process.file.full_path מיפוי ישיר
Infected_Resource target.process.file.full_path מיפוי ישיר
Object target.process.file.full_path מיפוי ישיר
Objekt target.process.file.full_path מיפוי ישיר
dpid target.process.pid שם שונה/מיפוי
resource_Type_label target.resource.attribute.labels ממוזג
request target.url מיפוי ישיר
target_role target.user.attribute.roles ממוזג
CustomerName target.user.user_display_name מיפוי ישיר
temp_duser target.user.user_display_name מיפוי ישיר
Bruker target.user.userid מיפוי ישיר
User_value target.user.userid מיפוי ישיר
temp_duid target.user.userid מיפוי ישיר
לא רלוונטי extensions.auth.type קבוע: AUTHTYPE_UNSPECIFIED
לא רלוונטי metadata.event_type קבוע: USER_LOGOUT
לא רלוונטי network.direction קבוע: INBOUND
לא רלוונטי security_result.severity קבוע: LOW

שנה רישום

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

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