איסוף יומנים של Windows AppLocker

נתמך ב:

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

‫Windows AppLocker היא תכונה של הוספת אפליקציות לרשימה הלבנה שמוטמעת ב-Windows. התכונה הזו יוצרת יומנים של אכיפת מדיניות, ביקורת והפעלת אפליקציות. סוכן Bindplane אוסף קבצים של יומני אירועים של Windows AppLocker שיוצאו ישירות ממערכת הקבצים המקומית.

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

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

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

קבלת קובץ אימות להטמעת נתונים ב-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:\Logs\applocker\*.evtx
            start_at: beginning
    
    exporters:
        chronicle/windows_applocker:
            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_APPLOCKER
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/applocker_to_chronicle:
                receivers:
                    - filelog
                exporters:
                    - chronicle/windows_applocker
    

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

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

  • הגדרת מקלט:

    • filelog: סוג המקלט לאיסוף קובצי יומן מהדיסק
    • include: רשימה של נתיבי קבצים למעקב. מגדירים את המיקום שאליו מייצאים את יומני האירועים של Windows AppLocker (לדוגמה, C:\Logs\applocker\*.evtx)
    • start_at: מגדירים את הערך beginning כדי לקרוא יומנים קיימים או end כדי לקרוא רק רשומות חדשות
  • הגדרות של הכלי לייצוא:

    • windows_applocker: שם תיאורי של הכלי לייצוא
    • 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_APPLOCKER: סוג היומן בדיוק כמו שהוא מופיע ב-Chronicle
    • ingestion_labels: תוויות אופציונליות בפורמט YAML (לדוגמה, env: production)
  • הגדרת צינור עיבוד נתונים:

    • applocker_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 AppLocker

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

  1. יוצרים ספרייה לאחסון קובצי היומן המיוצאים:

    mkdir C:\Logs\applocker
    
  2. ייצוא יומני אירועים של Windows AppLocker באמצעות wevtutil:

    wevtutil epl "Microsoft-Windows-AppLocker/EXE and DLL" C:\Logs\applocker\applocker-exedll.evtx
    
    wevtutil epl "Microsoft-Windows-AppLocker/MSI and Script" C:\Logs\applocker\applocker-msiscript.evtx
    
    wevtutil epl "Microsoft-Windows-AppLocker/Packaged app-Deployment" C:\Logs\applocker\applocker-pkgdeploy.evtx
    
    wevtutil epl "Microsoft-Windows-AppLocker/Packaged app-Execution" C:\Logs\applocker\applocker-pkgexec.evtx
    
  3. (אופציונלי) תזמון ייצוא קבוע באמצעות מתזמן המשימות של Windows:

    $action = New-ScheduledTaskAction -Execute "wevtutil" -Argument 'epl "Microsoft-Windows-AppLocker/EXE and DLL" C:\Logs\applocker\applocker-exedll.evtx /ow:true'
    $trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Hours 1) -Once -At (Get-Date)
    Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ExportAppLockerLogs" -Description "Export Windows AppLocker logs for Bindplane agent"
    
  4. מוודאים שקובצי היומן שיוצאו נוצרים בנתיב `C:\Logs\applocker`.

  5. מוודאים שהנתיב של סוכן Bindplane‏ include ב-config.yaml תואם לספריית הייצוא.

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
event_type metadata.event_type סוג האירוע
EventID metadata.product_event_type סוג אירוע שקשור למוצר
SourceModuleType observer.application האפליקציה שבה נצפה האירוע
דומיין principal.administrative_domain הדומיין האדמיניסטרטיבי של הגורם המרכזי
שם המארח principal.hostname שם המארח של הגורם המרכזי
principal_ip1 principal.ip כתובת ה-IP של הגורם המרכזי
AccountType principal.user.attribute.roles תפקידים שמשויכים למשתמש הראשי
AccountName principal.user.userid מזהה המשתמש של המשתמש הראשי
ssdl security_result.about.labels תוויות לגבי תוצאת האבטחה
security_action security_result.action פעולה שבוצעה בתוצאת האבטחה
message1 security_result.description תיאור של תוצאת האבטחה
RuleAndFileData.RuleId security_result.rule_id המזהה של כלל האבטחה
RuleAndFileData.RuleName, EventID security_result.rule_name השם של כלל האבטחה
EventType security_result.severity רמת החומרה של תוצאת האבטחה
RuleAndFileData.PolicyName security_result.summary סיכום תוצאות האבטחה
ThreadID security_result.threat_id מזהה האיום
RuleAndFileData.FullFilePath, filePath target.process.file.full_path הנתיב המלא של קובץ תהליך היעד
ProcessID, RuleAndFileData.TargetProcessId target.process.pid מזהה התהליך של תהליך היעד
ProviderGuid target.resource.product_object_id מזהה אובייקט המוצר של משאב היעד
UserID target.user.userid מזהה המשתמש של משתמש היעד
sourceName metadata.product_name שם המוצר
metadata.vendor_name שם הספק

שנה רישום

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

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