איסוף יומנים של NetApp ONTAP

נתמך ב:

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

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

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

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

  • מופע של Google SecOps
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd
  • קישוריות רשת בין סוכן Bindplane לבין אשכול NetApp ONTAP
  • אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • הרשאת אדמין ל-NetApp ONTAP cluster דרך SSH

קבלת קובץ אימות להטמעת נתונים ב-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/netapp_ontap:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: NETAPP_ONTAP
            raw_log_field: body
    
    service:
        pipelines:
            logs/netapp_ontap_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/netapp_ontap
    

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

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

הגדרת יעד של syslog ב-ONTAP

  1. ניגשים לאשכול ONTAP באמצעות SSH:

    ssh admin@<ontap-cluster-ip>
    
    • מחליפים את <ontap-cluster-ip> בכתובת ה-IP לניהול של אשכול ONTAP.
  2. בודקים את המסננים וההתראות הקיימים של האירועים:

    event filter show
    event notification show
    
  3. יוצרים יעד syslog. מחליפים את <syslog-server-ip> ואת <syslog-server-port> בפרטים של Bindplane:

    event notification destination create -name syslog-ems -syslog <syslog-server-ip> -syslog-port <syslog-server-port> -syslog-transport udp-unencrypted
    

    אפשרויות אחרות לגבי -syslog-transport:

    • udp-unencrypted (ברירת מחדל)
    • tcp-unencrypted
    • tcp-encrypted (ל-TLS)
  4. מאמתים את יעד ה-syslog:

    event notification destination show
    

הגדרה של מסנני אירועים קיימים

  • מגדירים מסנני ברירת מחדל לקישור ליעד של syslog:

    event notification create -filter-name no-info-debug-events -destinations syslog-ems
    event notification create -filter-name default-trap-events -destinations syslog-ems
    

אופציונלי: יצירה והגדרה של מסננים מותאמים אישית

  1. מסנן אירועי אימות (התחברות/התנתקות):

    event filter create -filter-name auth_events
    event filter rule add -filter-name auth_events -type include -message-name *login* -severity info
    event filter rule add -filter-name auth_events -type include -message-name *logout* -severity info
    
  2. מסנן שדות של זיהוי אבטחה:

    event filter create -filter-name security_fields
    event filter rule add -filter-name security_fields -type include -message-name *nmsdk_language* -severity info
    
  3. מחילים כל מסנן על יעד ה-syslog:

    event notification create -filter-name auth_events -destinations syslog-ems
    event notification create -filter-name security_fields -destinations syslog-ems
    
  4. אימות ההתראות:

    event notification show
    

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
code לא ממופה
description metadata.description המידע חולץ מהודעת היומן באמצעות תבנית grok. המאפיין הזה מוצג רק כשהתיאור הוא 'יציאה מהחשבון' או 'כניסה לחשבון'.
intermediary_host intermediary.hostname המידע חולץ מהודעת היומן באמצעות תבנית grok.
nmsdk_language security_result.detection_fields.value המידע חולץ מהודעת היומן באמצעות תבנית grok. הערך הזה מתווסף כערך לאובייקט detection_fields עם key = nmsdk_language.
nmsdk_platform security_result.detection_fields.value המידע חולץ מהודעת היומן באמצעות תבנית grok. הערך הזה מתווסף כערך לאובייקט detection_fields עם key = nmsdk_platform.
nmsdk_version security_result.detection_fields.value המידע חולץ מהודעת היומן באמצעות תבנית grok. הערך הזה מתווסף כ-value לאובייקט detection_fields עם key = nmsdk_version.
netapp_version security_result.detection_fields.value המידע חולץ מהודעת היומן באמצעות תבנית grok. הערך הזה מתווסף כ-value לאובייקט detection_fields עם key = netapp_version.
product_event_type metadata.product_event_type המידע חולץ מהודעת היומן באמצעות תבנית grok.
security_result.summary security_result.summary המידע חולץ מהודעת היומן באמצעות תבנית grok.
severity security_result.severity הערך שמוגדר הוא INFORMATIONAL אם רמת החומרה היא info (לא תלוי באותיות רישיות).
src_ip principal.ip המידע חולץ מהודעת היומן באמצעות תבנית grok.
src_port principal.port המידע חולץ מהודעת היומן באמצעות תבנית grok.
status security_result.summary המידע חולץ מהודעת היומן באמצעות תבנית grok.
ts metadata.event_timestamp.seconds הערך חולץ מהודעת היומן באמצעות תבנית grok והומר לחותמת זמן.
url target.url המידע חולץ מהודעת היומן באמצעות תבנית grok.
user target.user.userid המידע חולץ מהודעת היומן באמצעות תבנית grok.
extensions.auth.type אם התיאור הוא 'יציאה מהחשבון' או 'כניסה לחשבון', צריך להגדיר את הערך AUTHTYPE_UNSPECIFIED.
metadata.event_type הערך שמוגדר הוא USER_LOGIN אם התיאור הוא Logging in (כניסה לחשבון).
metadata.event_type הערך שמוגדר הוא USER_LOGOUT אם התיאור הוא Logging out (יציאה מהחשבון).
metadata.event_type אם התיאור הוא לא 'כניסה' או 'יציאה', צריך להגדיר את הערך כ-'SCAN_UNCATEGORIZED'.
metadata.log_type הערך שצריך להגדיר הוא NETAPP_ONTAP.
metadata.product_name הערך שצריך להגדיר הוא NETAPP_ONTAP.
metadata.vendor_name הערך שצריך להגדיר הוא NETAPP_ONTAP.
target.platform הערך הוא WINDOWS אם nmsdk_platform מכיל windows (לא תלוי באותיות רישיות).
accessLocation event.idm.read_only_udm.principal.ip מופה מיומן השינויים
accessLocation event.idm.read_only_udm.principal.asset.ip מופה מיומן השינויים
deviceId event.idm.read_only_udm.principal.asset_id מופה מיומן השינויים
deviceId event.idm.read_only_udm.principal.asset.asset_id מופה מיומן השינויים
deviceName event.idm.read_only_udm.principal.hostname מופה מיומן השינויים
deviceName event.idm.read_only_udm.principal.asset.hostname מופה מיומן השינויים
domain event.idm.read_only_udm.principal.administarative_domain מופה מיומן השינויים
entityName event.idm.read_only_udm.target.file.names מופה מיומן השינויים
entityPath event.idm.read_only_udm.target.file.full_path מופה מיומן השינויים
entityType event.idm.read_only_udm.target.resource.attribute.labels מופה מיומן השינויים
extension event.idm.read_only_udm.target.resource.attribute.labels מופה מיומן השינויים
entityAccessedTime event.idm.read_only_udm.metadata.event_timestamp מופה מיומן השינויים
alertTimestamp event.idm.read_only_udm.metadata.event_timestamp מופה מיומן השינויים
id event.idm.read_only_udm.metadata.product_log_id מופה מיומן השינויים
userDisplayName event.idm.read_only_udm.principal.user.user_display_name מופה מיומן השינויים
userId event.idm.read_only_udm.principal.user.userid מופה מיומן השינויים
volumeId event.idm.read_only_udm.additional.fields מופה מיומן השינויים
volumeName event.idm.read_only_udm.additional.fields מופה מיומן השינויים
alertType event.idm.read_only_udm.additional.fields מופה מיומן השינויים
attributes.dataDestructionDetectedEntityCount event.idm.read_only_udm.additional.fields מופה מיומן השינויים
attributes.changePercentage event.idm.read_only_udm.additional.fields מופה מיומן השינויים
severity security_result.severity_details מופה מיומן השינויים
file_extn security_result.detection_fields מופה מיומן השינויים
uid metadata.product_log_id מופה מיומן השינויים
product_name principal.hostname מופה מיומן השינויים

שנה רישום

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

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