איסוף יומנים של חומת האש של Windows

נתמך ב:

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

חומת האש של Windows היא חומת אש מובנית של מארח Windows, שמייצרת יומנים של אירועי שירות, שינויים בכללים וחיבורים שאושרו או נחסמו. סוכן Bindplane אוסף את קובצי היומן של חומת האש ישירות ממערכת הקבצים המקומית.

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

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

  • מופע של Google SecOps
  • ‫Windows Server 2016 ואילך עם תמיכה בשירות observiq-otel-collector
  • אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • הרשאת אדמין למארחי Windows שמייצרים יומני חומת אש

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Collection Agents (הגדרות SIEM > סוכני איסוף).
  3. מורידים את קובץ האימות להטמעת נתונים. שומרים את הקובץ בצורה מאובטחת במערכת שבה תותקן Bindplane.

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
  3. מעתיקים את מזהה הלקוח מהקטע פרטי הארגון ושומרים אותו.

התקנת סוכן Bindplane

מתקינים את סוכן Bindplane במערכת ההפעלה Windows לפי ההוראות הבאות.

התקנת 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.

מקורות מידע נוספים להתקנה

אפשרויות התקנה נוספות ופתרון בעיות מפורטים במדריך להתקנת סוכן Bindplane.

הגדרה של סוכן Bindplane להעברה של יומנים ושליחה שלהם אל Google SecOps

איתור קובץ התצורה

  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

עריכת קובץ התצורה

  • מחליפים את כל התוכן של config.yaml בהגדרה הבאה:

    receivers:
        filelog:
            include:
                - C:\Windows\system32\LogFiles\Firewall\pfirewall.log
            start_at: beginning
    
    exporters:
        chronicle/windows_firewall:
            compression: gzip
            creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: WINDOWS_FIREWALL
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/firewall_to_chronicle:
                receivers:
                    - filelog
                exporters:
                    - chronicle/windows_firewall
    

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

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

  • הגדרת מקלט:

    • filelog: סוג המקלט לאיסוף קובצי יומן מהדיסק
    • include: רשימה של נתיבי קבצים למעקב. מיקום ברירת המחדל של יומן חומת האש של Windows:
      • C:\Windows\system32\LogFiles\Firewall\pfirewall.log
    • start_at: מגדירים את הערך beginning כדי לקרוא יומנים קיימים או end כדי לקרוא רק רשומות חדשות
  • הגדרות של הכלי לייצוא:

    • windows_firewall: שם תיאורי של הכלי לייצוא
    • creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <customer_id>: מספר הלקוח מהשלב הקודם
    • endpoint: Regional endpoint URL:
      • ארה"ב: malachiteingestion-pa.googleapis.com
      • אירופה: europe-malachiteingestion-pa.googleapis.com
      • אסיה: asia-southeast1-malachiteingestion-pa.googleapis.com
      • רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.
    • WINDOWS_FIREWALL: סוג היומן בדיוק כמו שהוא מופיע ב-Chronicle
    • ingestion_labels: תוויות אופציונליות בפורמט YAML (לדוגמה, env: production)
  • הגדרת צינור עיבוד נתונים:

    • firewall_to_chronicle: שם תיאורי של צינור העיבוד

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

  • אחרי שמסיימים לערוך, שומרים את הקובץ:
    • Windows: לוחצים על קובץ > שמירה.

מפעילים מחדש את סוכן Bindplane כדי להחיל את השינויים.

כדי להפעיל מחדש את סוכן Bindplane ב-Windows:

  1. בוחרים אחת מהאפשרויות האלה:

    • שורת הפקודה או PowerShell כאדמין:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • מסוף השירותים:
      1. מקישים על Win+R, מקלידים services.msc ומקישים על Enter.
      2. מחפשים את observIQ OpenTelemetry Collector.
      3. לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
  2. מוודאים שהשירות פועל:

    sc query observiq-otel-collector
    
  3. בודקים אם יש שגיאות ביומנים:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

הגדרת רישום ביומן של חומת האש ב-Windows

  1. פותחים את Windows Defender Firewall with Advanced Security (חומת האש של Windows Defender עם אבטחה מתקדמת) על ידי הקשה על Win+R, הקלדה של wf.msc והקשה על Enter.
  2. בחלונית הימנית, לוחצים לחיצה ימנית על Windows Defender Firewall with Advanced Security on Local Computer (חומת האש של Windows Defender עם אבטחה מתקדמת במחשב המקומי) ובוחרים באפשרות Properties (מאפיינים).
  3. בוחרים את הכרטיסייה המתאימה של הפרופיל (פרופיל הדומיין, פרופיל פרטי או פרופיל גלוי לכולם).
  4. בקטע Logging (רישום ביומן), לוחצים על Customize (התאמה אישית).
  5. מספקים את פרטי ההגדרה הבאים:
    • רישום ביומן של מנות שהושמטו: בוחרים באפשרות כן.
    • רישום ביומן של חיבורים מוצלחים: בוחרים באפשרות כן.
    • שם: מוודאים שנתיב קובץ היומן הוא %systemroot%\system32\LogFiles\Firewall\pfirewall.log (ברירת מחדל).
    • מגבלת גודל (KB): צריך להגדיר לפחות 4096 כדי לתעד מספיק נתוני יומן.
  6. לוחצים על אישור כדי לשמור את הגדרות הרישום.
  7. חוזרים על שלבים 3 עד 6 לכל כרטיסיית פרופיל (דומיין, פרטי, ציבורי) לפי הצורך.
  8. מוודאים שקובץ היומן נכתב במיקום C:\Windows\system32\LogFiles\Firewall\pfirewall.log.
  9. מוודאים שהנתיב של סוכן Bindplane‏ include ב-config.yaml תואם לנתיב של קובץ היומן של חומת האש.

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
tcpflags, tcpsyn, tcpack, tcpwin, icmptype, icmpcode about.labels המיזוג מתבצע כצמדי מפתח/ערך אם השדה != "-"
חותמת זמן metadata.event_timestamp הניתוח בוצע באמצעות הפורמט yyyy-MM-dd HH:mm:ss
metadata.event_type הערך שמוגדר הוא NETWORK_CONNECTION
כיוון network.direction הערך הוא OUTBOUND אם הכיוון הוא SEND או FORWARD, והערך הוא INBOUND אם הכיוון הוא RECEIVE
פרוטוקול network.ip_protocol הערך מועתק ישירות אם הפרוטוקול הוא אחד מהפרוטוקולים הבאים: ['TCP',‏ 'UDP',‏ 'ICMP']
size network.received_bytes הערך מומר ל-uinteger אם הכיוון הוא 'קבלת נתונים' והגודל הוא לא '-'
size network.sent_bytes הערך מומר ל-uinteger אם הכיוון הוא ['שליחה', 'העברה'] והגודל שונה מ-'-'
src_ip principal.ip הערך הועתק ישירות
src_port principal.port הומר למספר שלם אם src_port != "-"
פעולה security_result.action הערך הוא BLOCK אם הפעולה היא DROP, והערך הוא ALLOW אם הפעולה היא ALLOW
מידע security_result.summary הערך מועתק ישירות אם המידע שונה מ-'-'
dst_ip target.ip הערך הועתק ישירות
dst_port target.port הערך מומר למספר שלם אם dst_port != "-"
metadata.product_name ההגדרה היא 'חומת האש של Windows'
metadata.vendor_name הגדרה כ-Microsoft

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