איסוף יומנים של Citrix StoreFront

גרסת כלי הניתוח: 1.0

נתמך ב:

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

Citrix StoreFront היא אפליקציית אינטרנט שמספקת חנות אפליקציות לארגונים עבור אפליקציות ושולחנות עבודה וירטואליים של Citrix. הוא מאמת את המשתמשים באתרים של Citrix Virtual Apps and Desktops ומאגד את המשאבים הזמינים בפורטל אחד. ‫StoreFront כותב אימות, הפעלת סשן ואירועי שירות ליומן האירועים של Windows תחת מקורות אירועים עם הקידומת Citrix.

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

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

  • מופע של Google SecOps
  • ‫Windows Server 2016 ואילך עם systemd
  • קישוריות לרשת בין סוכן Bindplane לבין האינטרנט
  • אם מריצים מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • גישת אדמין ל-Windows Server שמארח את Citrix StoreFront
  • ‫Citrix StoreFront 2308 או גרסה מתקדמת יותר מותקנת ומוגדרת

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Collection Agents.
  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 להטמעה של יומני אירועים של Windows ושליחה שלהם ל-Google SecOps

איתור קובץ ההגדרות

  1. פותחים את שורת הפקודה כאדמין.
  2. עוברים לספריית ההתקנה של סוכן Bindplane ופותחים את קובץ ההגדרות:

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

עריכת קובץ ההגדרות

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

    receivers:
        windowseventlog/storefront_application:
            channel: Application
            raw: true
            start_at: end
            operators:
                - type: filter
                    expr: 'record["source_name"] matches "^Citrix"'
    
    processors:
        batch:
    
    exporters:
        chronicle/storefront:
            compression: gzip
            creds: '{
                "type": "service_account",
                "project_id": "YOUR_PROJECT_ID",
                "private_key_id": "YOUR_PRIVATE_KEY_ID",
                "private_key": "-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY\n-----END PRIVATE KEY-----\n",
                "client_email": "YOUR_CLIENT_EMAIL",
                "client_id": "YOUR_CLIENT_ID",
                "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                "token_uri": "https://oauth2.googleapis.com/token",
                "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
                "client_x509_cert_url": "YOUR_CERT_URL"
            }'
            customer_id: 'YOUR_CUSTOMER_ID'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: 'CITRIX_STOREFRONT'
            override_log_type: false
            raw_log_field: body
    
    service:
        pipelines:
            logs/storefront:
                receivers:
                    - windowseventlog/storefront_application
                processors:
                    - batch
                exporters:
                    - chronicle/storefront
    

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

מחליפים את ה-placeholders הבאים בערכים בפועל:

  • הגדרת כלי הייצוא:

    • ‫YOUR_PROJECT_ID: מזהה הפרויקט מקובץ האימות של ההעברה
    • ‫YOUR_PRIVATE_KEY_ID: המזהה של המפתח הפרטי מקובץ האימות של ההעלאה
    • ‫YOUR_PRIVATE_KEY: המפתח הפרטי מקובץ האימות של ההעלאה (צריך לוודא שנעשה שימוש בתווי escape מתאימים לשורות חדשות)
    • YOUR_CLIENT_EMAIL: כתובת האימייל של הלקוח מקובץ האימות של ההעברה
    • ‫YOUR_CLIENT_ID: מזהה הלקוח מקובץ האימות של ההעלאה
    • ‫YOUR_CERT_URL: כתובת ה-URL של אישור הלקוח x509 מקובץ האימות של ההעלאה
    • ‫YOUR_CUSTOMER_ID: מספר הלקוח ב-Google SecOps
  • הגדרה של נקודת קצה אזורית:

    • באזור ארה"ב, משתמשים בכתובת: malachiteingestion-pa.googleapis.com
    • בשביל אזור אירופה, משתמשים בכתובת: europe-malachiteingestion-pa.googleapis.com
    • בשביל Asia Southeast region, משתמשים בערך: asia-southeast1-malachiteingestion-pa.googleapis.com
    • רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.
  • דוגמה:

    exporters:
      chronicle/storefront:
        compression: gzip
        creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'CITRIX_STOREFRONT'
        override_log_type: false
        raw_log_field: body
    

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

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

מפעילים מחדש את סוכן 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"
    

הגדרת רישום ביומן של אירועים ב-Citrix StoreFront

כברירת מחדל, ב-StoreFront 2311 ובגרסאות מאוחרות יותר מתועדות הודעות ברמה Error,‏ Warning ו-Info. בגרסאות קודמות (2308 ומטה), רק הודעות ברמה Error מתועדות כברירת מחדל.

הפעלת רישום מפורט (verbose) ביומן (אופציונלי)

כדי להגדיל את רמת הפירוט של הרישום ביומן לצורך פתרון בעיות:

  1. נכנסים אל שרת StoreFront עם הרשאות אדמין מקומיות.
  2. פותחים את PowerShell כאדמין.
  3. מריצים את הפקודה הבאה כדי להפעיל רישום מפורט ביומן לכל השירותים:

    Set-STFDiagnostics -All -TraceLevel "Verbose" -confirm:$False
    
  4. אחרי פתרון הבעיות, מחזירים את רמת הרישום לברירת המחדל:

    Set-STFDiagnostics -All -TraceLevel "Info" -confirm:$False
    

אימות אירועים ביומן האירועים של Windows

  1. מקישים על Win+R, מקלידים eventvwr.msc ומקישים על Enter כדי לפתוח את Event Viewer (צפייה באירועים).
  2. עוברים אל Application and Services Logs > Citrix Delivery Services.
  3. מוודאים שהאירועים מתועדים לצורך אימות, חנויות ו-Receiver לאתרים.
  4. עוברים אל Windows Logs > Application.
  5. מסננים אירועים לפי שמות מקור שמתחילים ב-Citrix כדי לוודא שנוצרים אירועים ברמת האפליקציה.

הגדרה של הגבלת קצב העברת נתונים ביומן האירועים (אופציונלי)

‫StoreFront תומך בהגבלת קצב העברת הנתונים של יומן האירועים כדי להגביל את מספר האירועים הכפולים. כדי להגדיר הגבלת קצב:

  1. מנווטים לספריות של הגדרות השירות StoreFront בשרת:
    • שירות אימות: C:\inetpub\wwwroot\Citrix\Authentication
    • מאגר: C:\inetpub\wwwroot\Citrix\<storename>
    • מקלט לאתר: C:\inetpub\wwwroot\Citrix\<storename>\Web
  2. פותחים את הקובץ web.config בכל ספרייה באמצעות כלי לעריכת טקסט.
  3. מחפשים את הרכיב logger ומגדירים את פרמטרים של הגבלת קצב הבקשות:

    <logger duplicateInterval="00:01:00" duplicateLimit="10">
    
    • ‫duplicateInterval: פרק הזמן (שעות:דקות:שניות) שבמהלכו מתבצע מעקב אחרי רשומות כפולות ביומן
    • duplicateLimit: מספר הרשומות הכפולות שצריך לרשום ביומן במהלך המרווח כדי להפעיל הגבלת קצב.
  4. שומרים את קובצי ההגדרות.

מידע נוסף זמין במסמכי התיעוד של קובצי היומן של Citrix StoreFront.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
OpcodeValue_label additional.fields ממוזג
Opcode_label additional.fields ממוזג
ThreadID_label additional.fields ממוזג
X-Citrix-Via_label additional.fields ממוזג
XCitrixGateway_label additional.fields ממוזג
keyword_label additional.fields ממוזג
_vulns extensions.vulns.vulnerabilities ממוזג
_intermediary intermediary ממוזג
_intermediary_controller intermediary ממוזג
_intermediary_hypervisor intermediary ממוזג
_intermediary_storefront intermediary ממוזג
description metadata.description מיפוי ישיר
EventTime metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
Machine.CreatedDate metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
Machine.LastDeregisteredDate metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
Machine.ModifiedDate metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
Machine.PoweredOnDate metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
Machine.RegistrationStateChangeDate metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
Session.EndDate metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
Session.StartDate metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
event_date metadata.event_timestamp ניתוח הכתובות שברשימה: RFC 3339
has_principal metadata.event_type מיפוי: true ← NETWORK_CONNECTION, ‏ true ← STATUS_UPDATE
EventID metadata.product_event_type מיפוי ישיר
RecordNumber metadata.product_log_id מיפוי ישיר
Machine.AgentVersion metadata.product_version שם שונה/מיפוי
_network network שם שונה/מיפוי
_principal principal שם שונה/מיפוי
Channel_label security_result.about.resource.attribute.labels ממוזג
severity security_result.severity מיפוי: (?i)Info ← INFORMATIONAL, ‏ (?i)Error ← ERROR, ‏ (?i)Warning ← MEDIUM
SeverityValue security_result.severity_details מיפוי ישיר
Connection.ConnectedViaHostName src.hostname מיפוי ישיר
_target target שם שונה/מיפוי
לא רלוונטי extensions.auth.auth_details קבוע: ACTIVE
לא רלוונטי extensions.auth.type קבוע: MACHINE
לא רלוונטי metadata.event_type קבוע: GENERIC_EVENT
לא רלוונטי metadata.product_name קבוע: Monitor Service OData
לא רלוונטי metadata.vendor_name קבוע: Citrix
לא רלוונטי security_result.severity קבוע: INFORMATIONAL
OpcodeValue","X-Citrix-Via","ThreadID","XCitrixGateway","Opcode","Keywords", "OpcodeValue additional.fields מופה מיומן השינויים
X-Citrix-Via-VIP _target.ip מופה מיומן השינויים
Remoteadresse taregt.ip מופה מיומן השינויים
invalid_X-Forwarded-For _principal.ip מופה מיומן השינויים
Task _target.resource.type מופה מיומן השינויים
Hostname _principal.hostname מופה מיומן השינויים
SourceModuleName target.resource.name מופה מיומן השינויים
SourceModuleType _principal.resource.attribute.labels מופה מיומן השינויים
Machine.AssociatedUserUPNs target.group.email_addresses מופה מיומן השינויים

יומן שינויים

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

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