איסוף יומנים מ-Microsoft SharePoint‏ (Office 365)

נתמך ב:

במאמר הזה מוסבר איך לאסוף יומנים של Microsoft SharePoint ‏ (Office 365) אל Google Security Operations באמצעות Bindplane.

‫Microsoft SharePoint היא פלטפורמה שיתופית מבוססת-אינטרנט שמשתלבת עם Microsoft 361. יומני הביקורת של SharePoint מתעדים את פעילויות המשתמשים, כולל פעולות על קבצים, פעילויות בתיקיות, פעולות שיתוף, פעולות ברשימות ופעולות ניהול אתרים. אפשר לגשת ליומנים האלה דרך סוכן SIEM של Microsoft Defender for Cloud Apps, שמחלץ נתוני ביקורת מ-SharePoint Online ומ-OneDrive for Business ומזרים אותם כ-syslog למקלט מקומי.

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

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

  • מופע של Google SecOps
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd
  • אם התוכנה פועלת מאחורי שרת proxy, צריך לוודא שהיציאות בחומת האש פתוחות.
  • דייר Microsoft 365 עם SharePoint Online
  • רישיון ל-Microsoft Defender for Cloud Apps (כלול ב-Microsoft 365 E5 או כתוסף)
  • תפקיד אדמין גלובלי או אדמין אבטחה בפורטל Microsoft Defender
  • שרת Windows או Linux עם Java 8 ואילך להפעלת סוכן SIEM (יכול להיות אותו מארח כמו Bindplane)
  • הפעלת רישום ביומן ביקורת מאוחד ב-Microsoft 365

הפעלת רישום מאוחד ביומן הביקורת

כדי שאפליקציות Microsoft Defender for Cloud יוכלו לתעד נתוני ביקורת של SharePoint, צריך להפעיל רישום מאוחד ביומן הביקורת בדייר Microsoft 365.

  1. נכנסים אל Microsoft Purview compliance portal.
  2. עוברים אל ביקורת.
  3. אם מוצגת בקשה, לוחצים על התחלת הקלטה של פעילות המשתמשים והאדמינים. הערה: אחרי שמפעילים את יומן הביקורת המאוחד, יכולות לעבור עד 12 שעות עד שהתוכן יהיה זמין.
  • לחלופין, אפשר להפעיל רישום מאוחד ביומן הביקורת באמצעות PowerShell:

    Connect-ExchangeOnline
    Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
    

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

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

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

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

    • <CUSTOMER_ID>: מספר הלקוח ב-Google SecOps שהועתק בשלב הקודם
    • creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • נקודת קצה (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:

  1. מריצים את הפקודה הבאה:

    sudo systemctl restart observiq-otel-collector
    
  2. מוודאים שהשירות פועל:

    sudo systemctl status observiq-otel-collector
    
  3. בודקים אם יש שגיאות ביומנים:

    sudo journalctl -u observiq-otel-collector -f
    

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

הגדרת סוכן SIEM של Microsoft Defender for Cloud Apps להעברת יומנים של SharePoint

‫Microsoft SharePoint Online הוא שירות ענן ואין לו יכולת מובנית להעברת syslog. כדי להעביר יומני ביקורת של SharePoint באמצעות syslog, צריך להשתמש בסוכן SIEM של Microsoft Defender for Cloud Apps, שמחלץ התראות ופעילויות מ-Defender for Cloud Apps ומזרים אותן כהודעות syslog (בפורמט CEF) לסוכן Bindplane.

דרישות מוקדמות לסוכן SIEM

  • שרת Windows או Linux (יכול להיות מכונה וירטואלית) עם:

    • ‫Java 8 או גרסה מתקדמת יותר מותקנת
    • ‫Transport Layer Security ‏ (TLS) 1.2 ואילך
    • מעבד: 2 ליבות
    • נפח אחסון בדיסק: 20GB
    • ‫RAM: ‏ 2GB

שלב 1: הגדרת סוכן ה-SIEM בפורטל Microsoft Defender

  1. נכנסים לפורטל Microsoft Defender.
  2. לוחצים על Settings.
  3. בוחרים באפשרות אפליקציות בענן.
  4. בקטע מערכת, בוחרים באפשרות סוכני SIEM.
  5. לוחצים על הוספת סוכן SIEM ובוחרים באפשרות Generic SIEM.
  6. לוחצים על הפעלת האשף.
  7. מספקים את פרטי ההגדרה הבאים:
    • שם: מזינים שם תיאורי (לדוגמה, Chronicle-Bindplane-SharePoint).
    • בוחרים את הפורמט של SIEM: בוחרים באפשרות CEF.
  8. לוחצים על הבא.
  9. מזינים את פרטי החיבור הבאים של syslog:
    • מארח syslog מרוחק: מזינים את כתובת ה-IP או את שם המארח של מארח הסוכן של Bindplane (לדוגמה, 192.168.1.100).
    • מספר יציאת Syslog: מזינים 514 (או את היציאה שהוגדרה בסוכן Bindplane config.yaml).
    • פרוטוקול Syslog מרוחק: בוחרים באפשרות UDP (חייב להיות זהה לסוג המקלט בהגדרת סוכן Bindplane).
  10. לוחצים על הבא.
  11. מגדירים את סוגי הנתונים לייצוא:
    1. מפעילים את פס ההזזה פעילויות.
    2. בתפריט הנפתח החלה על של פעילויות, מגדירים מסננים שיכללו פעילויות ב-SharePoint:
      1. בוחרים באפשרות האפליקציה שווה ל ובוחרים באפליקציות Microsoft SharePoint Online ו-Microsoft OneDrive for Business.
    3. אם רוצים לקבל גם התראות מדיניות שקשורות ל-SharePoint, מעבירים את המתג של התראות למצב מופעל.
  12. לוחצים על עריכה ותצוגה מקדימה של התוצאות כדי לוודא שהמסנן תואם לפעילויות הצפויות.
  13. לוחצים על הבא.
  14. מעתיקים את האסימון שמופיע בדף הסיכום ושומרים אותו בצורה מאובטחת.
  15. לוחצים על סיום.

שלב 2: הורדה והפעלה של קובץ ה-JAR של סוכן ה-SIEM

  1. מורידים את סוכן ה-SIEM ממרכז ההורדות של מיקרוסופט.
  2. מחלצים את קובץ ה-ZIP שהורדתם בשרת שבו יפעל סוכן ה-SIEM.
  3. מריצים את סוכן ה-SIEM באמצעות הפקודה הבאה:

    java -jar mcas-siemagent-0.87.20-signed.jar --token <TOKEN>
    

מחליפים את <TOKEN> באסימון שהועתק מפורטל Microsoft Defender.

שלב 3: הגדרת סוכן ה-SIEM להפעלה כשירות

כדי להבטיח שהעברת היומנים תתבצע באופן רציף, צריך להגדיר את סוכן ה-SIEM כך שהוא יופעל אוטומטית:

Linux:

  • מוסיפים את פקודת ההפעלה ל-/etc/rc.local או יוצרים שירות systemd:

    java -jar /opt/mcas-siemagent/mcas-siemagent-0.87.20-signed.jar --token <TOKEN> &
    

Windows:

  • הגדרת משימה מתוזמנת:
    1. פותחים את Task Scheduler (מתזמן המשימות).
    2. יוצרים משימה חדשה עם האפשרות הפעלה גם אם המשתמש מחובר וגם אם לא.
    3. מגדירים את הפעולה להרצת קובץ ה-JAR עם פרמטר הטוקן.
    4. מבטלים את הסימון של הפסקת המשימה אם היא פועלת יותר מ.

שלב 4: בדיקת החיבור של סוכן ה-SIEM

  1. בפורטל Microsoft Defender, עוברים אל הגדרות > אפליקציות בענן > סוכני SIEM.
  2. מוודאים שהסטטוס של סוכן SIEM הוא Connected (ירוק).
  3. במארח של סוכן Bindplane, מוודאים שהודעות syslog מתקבלות:

    sudo journalctl -u observiq-otel-collector -f
    
  4. ב-Google SecOps, מחפשים יומנים עם metadata.log_type = "SHAREPOINT" כדי לאשר את ההטמעה של היומן.

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
קרה metadata.event_timestamp הניתוח מתבצע באמצעות מסנן תאריכים עם הפורמטים "MM/dd/yyyy HH:mm:ss A",‏ "MM/dd/yyyy HH:mm:ss a",‏ "M/d/yyyy HH:mm:ss A"
has_principal metadata.event_type הערך הוא USER_RESOURCE_ACCESS אם יש principal וגם has_target_resource או has_target, אחרת הערך הוא STATUS_UPDATE אם יש principal, אחרת הערך הוא GENERIC_EVENT
has_target_resource metadata.event_type
has_target metadata.event_type
metadata.product_name metadata.product_name ההגדרה היא SHAREPOINT
EventData metadata.product_version הערך הועתק ישירות
metadata.vendor_name metadata.vendor_name ההגדרה היא SHAREPOINT
נוצר principal.asset.attribute.labels התוויות מוזגו עם המפתח 'נוצר' מתוך 'נוצר' והמפתח 'תאריך שינוי אחרון' מתוך 'תאריך שינוי אחרון'
LastModified principal.asset.attribute.labels
SamAccountName principal.asset.hostname הערך הועתק ישירות
SamAccountName principal.hostname הערך הועתק ישירות
מסד נתונים principal.process.file.names המיזוג בוצע ממסד נתונים
UserEmail principal.user.email_addresses המיזוג מתבצע מ-UserEmail אם יש התאמה לביטוי הרגולרי של כתובת האימייל
שם משתמש principal.user.user_display_name הערך הועתק ישירות
EventType security_result.description הערך הועתק ישירות
ספרייה target.file.full_path הערך הועתק ישירות
עלה target.file.names הגרסה לאחר מיזוג
ItemType target.resource.type הערך הועתק ישירות
SecUserURL target.url הערך הועתק ישירות
SecUserRole target.user.attribute.roles התפקיד עם השם מוזג מ-SecUserRole
SecUserEmail target.user.email_addresses מוזג מ-SecUserEmail אם יש התאמה לביטוי הרגולרי של כתובת אימייל
SecGroupName target.user.group_identifiers מוזגו מ-SecGroupName
SecUserName target.user.user_display_name הערך הועתק ישירות
SecSamAccountName target.user.userid הערך הועתק ישירות

שנה רישום

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

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