איסוף יומנים של ZyXEL ZyWALL

נתמך ב:

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

‫ZyXEL ZyWALL הוא מכשיר UTM/חומת אש שיוצר יומני אירועים של חומת אש, VPN,‏ IDP, מסנן תוכן ומערכת. הוא מספק ניהול איומים מאוחד לסביבות רשת מקומיות.

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

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

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

קבלת פרטי כניסה ל-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. מזינים את פרטי ההגדרה הבאים:
    • Service account name: מזינים שם לחשבון (לדוגמה, bindplane-ingest).
    • תיאור חשבון השירות: מזינים תיאור (לדוגמה, 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 בספריית ה-collector של Bindplane (/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 Settings > Collection Agents (הגדרות SIEM > סוכני איסוף).
  3. מורידים את קובץ האימות להטמעת נתונים.
  4. שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.

איך מוצאים את מספר הלקוח ב-Google SecOps

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Profile (הגדרות 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/zywall:
        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: ZYWALL
        raw_log_field: body
    
    service:
      pipelines:
        logs/zywall_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/zywall
    

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

מחליפים את ה-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 של הכלי לייצוא. רשימה מלאה של נקודות הקצה האזוריות מופיעה במאמר Regional Endpoints.
    • ‫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/zywall:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ZYWALL
        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 ב-ZyXEL ZyWALL

  1. נכנסים לממשק הניהול באינטרנט של ZyWALL על ידי מעבר לכתובת ה-IP של המכשיר בדפדפן אינטרנט.
  2. עוברים אל הגדרות > יומן ודוח > הגדרות יומן.
  3. בקטע Remote Server (שרת מרוחק), בוחרים פרופיל זמין (לדוגמה, Remote Server 1) ולוחצים על Edit (עריכה).
  4. קובעים את ההגדרות הבאות:
    • מסמנים את האפשרות פעיל כדי להפעיל את פרופיל ה-syslog המרוחק.
    • פורמט יומן: בוחרים באפשרות VRPT/Syslog.
    • כתובת השרת: מזינים את כתובת ה-IP של המארח של סוכן Bindplane.
    • יציאת השרת: מזינים 514.
    • מתקן יומן: בוחרים באפשרות Local0 או במתקן המועדף.
  5. בקטע Active Log, בוחרים את קטגוריות היומנים שרוצים להעביר:
    • מערכת
    • חומת אש
    • VPN
    • IDP (זיהוי ומניעה של פריצות)
    • מסנן תוכן
    • אנטי-וירוס
    • אנטי-ספאם
  6. לוחצים על OK (אישור) כדי לשמור את ההגדרה.
  7. מוודאים ששרת ה-syslog מקבל יומנים ממכשיר ZyWALL.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
devID, class, dir additional.fields שדות נוספים שלא נכללים בסכימת UDM הרגילה
inter_host intermediary.hostname שם המארח של המכשיר המתווך
msg metadata.description תיאור האירוע
metadata.event_type סוג האירוע
protoID network.ip_protocol פרוטוקול ה-IP שנעשה בו שימוש באירוע הרשת
src_ip principal.asset.ip כתובת ה-IP של הנכס שמשויך לחשבון המשתמש
src_ip principal.ip כתובת ה-IP של החשבון הראשי
ob_mac principal.mac כתובת ה-MAC של המנהל
src_port principal.port מספר היציאה שמשמש את ה-principal
cat security_result.category_details פרטי הקטגוריה של תוצאת האבטחה
rule_name security_result.rule_name שם הכלל שהפעיל את תוצאת האבטחה
הערה security_result.summary סיכום של תוצאת האבטחה
dst_ip target.asset.ip כתובת ה-IP של הנכס שמשויך ליעד
dst_ip target.ip כתובת ה-IP של היעד
dst_port target.port מספר היציאה שמשמש את היעד
metadata.product_name שם המוצר שיצר את האירוע
metadata.vendor_name שם הספק של המוצר
action event.idm.read_only_udm.security_result.action מופה מיומן השינויים
app event.idm.read_only_udm.additional.fields מופה מיומן השינויים
cef_event_class_id event.idm.read_only_udm.additional.fields מופה מיומן השינויים
cef_spec_version event.idm.read_only_udm.additional.fields מופה מיומן השינויים
proto event.idm.read_only_udm.additional.fields מופה מיומן השינויים
cef_name event.idm.read_only_udm.metadata.product_event_type מופה מיומן השינויים
cef_device_version event.idm.read_only_udm.metadata.product_version מופה מיומן השינויים
ob event.idm.read_only_udm.network.sent_bytes מופה מיומן השינויים
user event.idm.read_only_udm.principal.user.userid מופה מיומן השינויים
cef_severity event.idm.read_only_udm.security_result.severity מופה מיומן השינויים
ZYlevel event.idm.read_only_udm.security_result.severity_details מופה מיומן השינויים
dvchost event.idm.read_only_udm.target.asset.hostname מופה מיומן השינויים
dvchost event.idm.read_only_udm.target.hostname מופה מיומן השינויים

יומן שינויים

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

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