איסוף יומנים של Microsoft System Center Endpoint Protection‏ (SCEP)

נתמך ב:

במאמר הזה מוסבר איך לאסוף יומנים של Microsoft System Center Endpoint Protection ‏ (SCEP) על ידי הגדרת פיד של Google Security Operations באמצעות Microsoft Azure Blob Storage V2.

‫Microsoft System Center Endpoint Protection ‏ (SCEP) הוא פתרון אנטי-וירוס ופתרון נגד תוכנות זדוניות לארגונים, שמשולב עם System Center Configuration Manager ‏ (SCCM). ‫SCEP מספק הגנה בזמן אמת מפני תוכנות זדוניות, וירוסים, רוגלות ותוכנות זדוניות אחרות לנקודות קצה מבוססות Windows. פרוטוקול SCEP כותב אירועי אבטחה לערוץ Microsoft-Windows-Windows Defender/Operational Windows Event Log, שאפשר לאסוף אותו באמצעות Azure Monitor Agent ולייצא אותו ל-Azure Blob Storage.

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

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

  • מופע של Google SecOps
  • גישה עם הרשאות לפורטל Microsoft Azure:
    • יצירת חשבונות אחסון
    • יצירה וניהול של סביבות עבודה ב-Log Analytics
    • יצירה וניהול של כללים לאיסוף נתונים
    • הגדרת כללים לייצוא נתונים
    • ניהול מפתחות גישה
  • ‫Windows Server 2012 R2 ואילך עם SCEP מותקן, או Windows Server 2016 ואילך עם Windows Defender Antivirus
  • סוכן Azure Monitor מותקן בשרת Windows (נדרש Azure Arc לשרתים מקומיים או תמיכה מקורית במכונות וירטואליות של Azure)
  • גישת אדמין בשרת Windows שבו נפרס SCEP

הגדרת חשבון Azure Storage

יצירת חשבון אחסון

  1. ב-Azure portal, מחפשים Storage accounts.
  2. לוחצים על ‎+ Create.
  3. מספקים את פרטי ההגדרה הבאים:

    הגדרה ערך
    מינוי בוחרים את המינוי ל-Azure.
    קבוצת משאבים בוחרים קבוצה קיימת או יוצרים קבוצה חדשה
    שם חשבון האחסון מזינים שם ייחודי (לדוגמה, sceplogssa)
    אזור בוחרים את האזור (לדוגמה, East US)
    ביצועים רגיל (מומלץ)
    יתירות ‫GRS (Geo-redundant storage) או LRS (Locally redundant storage)
  4. לוחצים על בדיקה + יצירה.

  5. בודקים את הסקירה הכללית של החשבון ולוחצים על יצירה.

  6. מחכים שהפריסה תסתיים.

קבלת פרטי הכניסה לחשבון האחסון

  1. עוברים אל חשבון האחסון שיצרתם.
  2. בניווט הימני, בוחרים באפשרות מפתחות גישה בקטע אבטחה + רשת.
  3. לוחצים על הצגת מקשים.
  4. מעתיקים ושומרים את הפרטים הבאים לשימוש בהמשך:
    • שם חשבון האחסון: השם שיצרתם (לדוגמה, sceplogssa)
    • ‫Key 1 או Key 2: מפתח הגישה המשותף (מחרוזת אקראית באורך 512 ביט בקידוד Base-64)

קבלת נקודת קצה של Blob Service

  1. באותו חשבון אחסון, בתפריט הניווט הימני, בוחרים באפשרות נקודות קצה.
  2. מעתיקים ושומרים את כתובת ה-URL של נקודת הקצה של שירות ה-Blob.
    • לדוגמה: https://sceplogssa.blob.core.windows.net/

יצירת סביבת עבודה של Log Analytics

  1. ב-Azure portal, מחפשים את האפשרות Log Analytics workspaces.
  2. לוחצים על ‎+ Create.
  3. מספקים את פרטי ההגדרה הבאים:

    הגדרה ערך
    מינוי בוחרים את המינוי ל-Azure.
    קבוצת משאבים בוחרים את אותה קבוצת משאבים כמו חשבון האחסון
    שם מזינים שם ייחודי (לדוגמה, scep-logs-workspace)
    אזור צריך לבחור את אותו אזור כמו בחשבון האחסון
  4. לוחצים על בדיקה + יצירה.

  5. לוחצים על יצירה.

  6. מחכים שהפריסה תסתיים.

התקנת Azure Monitor Agent בשרת Windows

בשרתים מקומיים שמופעל בהם SCEP, צריך קודם לצרף את השרת ל-Azure Arc ואז להתקין את Azure Monitor Agent.

צירוף ל-Azure Arc (שרתים מקומיים בלבד)

  1. ב-Azure portal, מחפשים את Azure Arc.
  2. בקטע תשתית, בוחרים באפשרות שרתים.
  3. לוחצים על + הוספה.
  4. בוחרים באפשרות Add a single server (הוספת שרת יחיד) ולוחצים על Generate script (יצירת סקריפט).
  5. מספקים את פרטי ההגדרה הבאים:
    • מינוי: בוחרים את המינוי ל-Azure.
    • קבוצת משאבים: בוחרים את קבוצת המשאבים
    • אזור: בוחרים את אותו אזור כמו חשבון האחסון
    • מערכת הפעלה: בוחרים באפשרות Windows.
  6. לוחצים על הורדה והרצת הסקריפט.
  7. בשרת Windows שבו פועל SCEP, פותחים את PowerShell כאדמין.
  8. מריצים את הסקריפט שהורד כדי להשלים את ההצטרפות ל-Azure Arc.

התקנת Azure Monitor Agent

  1. ב-Azure portal, עוברים אל Azure Arc > Servers (או אל Virtual Machines למכונות וירטואליות של Azure).
  2. בוחרים את השרת שבו פועל SCEP.
  3. בתפריט הניווט הימני, לוחצים על תוספים בקטע הגדרות.
  4. לוחצים על + הוספה.
  5. מחפשים את Azure Monitor Agent ולוחצים עליו.
  6. לוחצים על הבא ואז על בדיקה + יצירה.
  7. לוחצים על יצירה.
  8. מחכים שהתקנת התוסף תסתיים.

יצירה של כלל לאיסוף נתונים עבור אירועי SCEP

  1. ב-Azure portal, מחפשים את Monitor.
  2. בקטע הגדרות, לוחצים על כללים לאיסוף נתונים.
  3. לוחצים על ‎+ Create.
  4. בכרטיסייה Basics (פרטים בסיסיים), מזינים את פרטי ההגדרה הבאים:
    • שם הכלל: מזינים שם תיאורי (לדוגמה, dcr-scep-events)
    • מינוי: בוחרים את המינוי ל-Azure.
    • קבוצת משאבים: בוחרים את קבוצת המשאבים
    • אזור: בוחרים את אותו אזור כמו בסביבת העבודה של Log Analytics
    • סוג הפלטפורמה: בוחרים באפשרות Windows.
  5. לוחצים על הבא: משאבים.
  6. בכרטיסייה מקורות:
    1. לוחצים על + הוספת משאבים.
    2. מרחיבים את קבוצת המשאבים ובוחרים את השרת שבו פועל SCEP (שרת Azure Arc או מכונה וירטואלית של Azure).
    3. לוחצים על אישור.
  7. לוחצים על השלב הבא: איסוף ומסירה.
  8. בכרטיסייה איסוף ומשלוח:

    1. לוחצים על + הוספה של מקור נתונים.
    2. בתפריט הנפתח סוג מקור הנתונים, בוחרים באפשרות יומני אירועים של Windows.
    3. בוחרים באפשרות בהתאמה אישית כדי להזין שאילתות XPath.
    4. לוחצים על + הוספת שאילתת XPath ומזינים את שאילתת ה-XPath הבאה כדי לאסוף את כל האירועים של SCEP ו-Windows Defender:

      Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]
      

      שאילתת ה-XPath הזו אוספת את כל האירועים (Critical,‏ Error,‏ Warning,‏ Information ו-Verbose) מהערוץ Operational של Windows Defender. כדי לאסוף רק מזהי אירועים ספציפיים (לדוגמה, זיהוי תוכנות זדוניות), משתמשים בשאילתה ממוקדת יותר, כמו:

      Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]
      
    5. בכרטיסייה יעד, לוחצים על + הוספת יעד.

    6. בוחרים באפשרות Azure Monitor Logs בתור סוג היעד.

    7. בוחרים את סביבת העבודה של Log Analytics שיצרתם קודם (לדוגמה, scep-logs-workspace).

  9. לוחצים על הוספה של מקור נתונים.

  10. לוחצים על בדיקה + יצירה.

  11. לוחצים על יצירה.

מזהי האירועים המרכזיים שנאספים

כלל איסוף הנתונים אוסף אירועים מהערוץ Microsoft-Windows-Windows Defender/Operational, שכולל את מזהי האירועים המרכזיים הבאים של SCEP:

מזהה אירוע תיאור
1006 תוכנה זדונית זוהתה על ידי מנוע למניעת תוכנות זדוניות
1007 פעולה נגד תוכנות זדוניות שבוצעה על תוכנה זדונית שזוהתה
1116 הגנה בזמן אמת זיהתה תוכנה זדונית או תוכנה לא רצויה
1117 ההגנה בזמן אמת פעלה נגד תוכנות זדוניות
2000 התחיל עדכון של חתימת תוכנה נגד תוכנות זדוניות
2001 עדכון חתימת התוכנה נגד תוכנות זדוניות הושלם
5007 ההגדרה של פלטפורמת האנטי-תוכנה השתנתה

הגדרת ייצוא נתונים ממרחב העבודה של Log Analytics אל Azure Blob Storage

רישום של ספק המשאבים Microsoft.Insights

  1. בפורטל Azure, עוברים אל מינויים.
  2. בוחרים את המינוי.
  3. בתפריט הניווט הימני, בוחרים באפשרות ספקי משאבים בקטע הגדרות.
  4. מחפשים את Microsoft.Insights.
  5. אם הסטטוס לא רשום, בוחרים אותו ולוחצים על הרשמה.

יצירת כלל לייצוא נתונים

  1. בפורטל Azure, עוברים אל סביבת העבודה של Log Analytics (לדוגמה, scep-logs-workspace).
  2. בתפריט הניווט הימני, בקטע הגדרות, לוחצים על ייצוא נתונים.
  3. לוחצים על + כלל ייצוא חדש.
  4. בכרטיסייה פרטים בסיסיים:
    • שם כלל ייצוא הנתונים: מזינים שם תיאורי (לדוגמה, export-scep-to-blob)
  5. לוחצים על הבא: מקור.
  6. בכרטיסייה מקור, בוחרים בטבלה אירוע.

  7. לוחצים על הבא: יעד.

  8. בכרטיסייה Destination (יעד):

    • סוג היעד: בוחרים באפשרות חשבון אחסון
    • ‫Subscription (מינוי): בוחרים את המינוי שמכיל את חשבון האחסון.
    • חשבון אחסון: בוחרים את חשבון האחסון שיצרתם קודם (לדוגמה, sceplogssa)
  9. לוחצים על הבא: בדיקה + יצירה.

  10. לוחצים על יצירה.

  • אחרי ההגדרה, האירועים מיוצאים אוטומטית לחשבון האחסון. נוצר קונטיינר בשם am-Event בחשבון האחסון. ‫Blobs מאוחסנים בתיקיות של 5 דקות באמצעות מבנה הנתיב הבא:

    am-Event/
      └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/
          └── y={year}/m={month}/d={day}/h={hour}/m={minute}/
              └── PT05M.json
    

אימות של ייצוא הנתונים

  1. ב-Azure portal, עוברים אל Storage Account (לדוגמה, sceplogssa).
  2. בתפריט הניווט הימני, בקטע אחסון נתונים, בוחרים באפשרות מאגרי נתונים.
  3. מוודאים שהקונטיינר am-Event קיים.
  4. עוברים אל מאגר התגים ומוודאים שנוצרים קובצי JSON עם נתוני אירועים במבנה התיקיות.

הגדרת פיד ב-Google SecOps להטמעה של יומנים של Microsoft System Center Endpoint Protection ‏ (SCEP)

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Microsoft SCEP Logs).
  5. בוחרים באפשרות Microsoft Azure Blob Storage V2 בתור סוג המקור.
  6. בוחרים באפשרות Microsoft System Center Endpoint Protection (SCEP) בתור סוג היומן.
  7. לוחצים על הבא.
  8. מציינים ערכים לפרמטרים הבאים של הקלט:

    • ‫Azure URI: מזינים את כתובת ה-URL של נקודת הקצה של Blob Service עם הנתיב של המאגר:
    https://sceplogssa.blob.core.windows.net/am-Event/
    

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

    • ‫sceplogssa: השם של חשבון האחסון שלכם ב-Azure.
    • ‫am-Event: השם של מאגר ה-blob שבו מאוחסנים האירועים המיוצאים.
    • אפשרות מחיקת המקור: בוחרים את אפשרות המחיקה הרצויה:
      • אף פעם: הקבצים לא נמחקים אחרי ההעברה.
      • מחיקת קבצים שהועברו: הקבצים נמחקים אחרי שההעברה מסתיימת.
      • מחיקת קבצים שהועברו וספריות ריקות: מחיקת קבצים וספריות ריקות אחרי שההעברה מסתיימת בהצלחה.
    • הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון (ברירת המחדל היא 180 ימים)
    • ‫Shared key (מפתח משותף): מזינים את הערך של המפתח המשותף (מפתח הגישה) ששמרתם מחשבון האחסון
    • מרחב השמות של הנכס: מרחב השמות של הנכס
    • תוויות להוספה: התווית שתתווסף לאירועים מהפיד הזה
  9. לוחצים על הבא.

  10. בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.

הגדרת חומת אש של Azure Storage (אם היא מופעלת)

אם חשבון האחסון שלכם ב-Azure משתמש בחומת אש, אתם צריכים להוסיף את טווחי כתובות ה-IP של Google SecOps.

  1. ב-Azure portal, עוברים אל Storage Account.
  2. בקטע Security + networking (אבטחה + רשתות), בוחרים באפשרות Networking (רשתות).
  3. בקטע Firewalls and virtual networks (חומות אש ורשתות וירטואליות), בוחרים באפשרות Enabled from selected virtual networks and IP addresses (מופעל מרשתות וירטואליות נבחרות ומכתובות IP נבחרות).
  4. בקטע Firewall (חומת אש), מתחת לAddress range (טווח כתובות), לוחצים על + Add IP range (+ הוספת טווח כתובות IP).
  5. מוסיפים כל טווח כתובות IP של Google SecOps בסימון CIDR.

    כדי לקבל את טווחי כתובות ה-IP הנוכחיים:

  6. בנוסף, מסמנים את התיבה Allow Azure services on the trusted services list to access this storage account (מתן הרשאה לשירותי Azure ברשימת השירותים המהימנים לגשת לחשבון האחסון הזה) כדי לאפשר ייצוא נתונים ממרחב העבודה של Log Analytics לכתיבה בחשבון האחסון.

  7. לוחצים על Save.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
about.hostname about.hostname ההגדרה היא %{_DB_HOST}
_DB_PORT about.port הערך הועתק ישירות והומר למספר שלם
_DB_DRIVER about.resource.name ההגדרה היא '%{_DB_DRIVER}'
_DB_URL about.url ההגדרה היא '%{_DB_URL}'
signature_labels event.idm.read_only_udm.additional.fields המיזוג מתבצע מ-signature_labels אם החתימה לא ריקה, מ-pending_action אם PendingAction לא ריק, מ-execution_status אם ExecutionStatus לא ריק, מ-record_id אם RecordID לא ריק, מ-error_code אם ErrorCode לא ריק, מ-action_success אם ActionSuccess לא ריק
pending_action event.idm.read_only_udm.additional.fields
execution_status event.idm.read_only_udm.additional.fields
record_id event.idm.read_only_udm.additional.fields
error_code event.idm.read_only_udm.additional.fields
action_success event.idm.read_only_udm.additional.fields
source_url event.idm.read_only_udm.src.url הערך מ-source_url אם הוא לא ריק, אחרת הערך מ-my_string1 אם הוא לא ריק
my_string1 event.idm.read_only_udm.src.url
has_principal metadata.event_type הערך הוא NETWORK_CONNECTION אם has_principal ו-has_target הם true, אחרת הערך הוא STATUS_UPDATE אם has_principal הוא true, אחרת הערך הוא SCAN_FILE אם no_target_host הוא false ו-path_available הוא true, אחרת הערך הוא STATUS_UNCATEGORIZED אם no_target_host הוא false, אחרת הערך הוא USER_UNCATEGORIZED אם has_user הוא true, אחרת הערך הוא GENERIC_EVENT.
has_user metadata.event_type
has_target metadata.event_type
no_target_host metadata.event_type
path_available metadata.event_type
שם metadata.product_event_type הערך הועתק ישירות
DetectionID metadata.product_log_id הערך הועתק ישירות
metadata.product_name metadata.product_name ההגדרה היא MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION
metadata.vendor_name metadata.vendor_name הגדרה כ-MICROSOFT
NTdomain principal.administrative_domain הערך הועתק ישירות
שם המארח principal.asset.hostname ערך משם המארח אם הוא לא ריק, אחרת מהמארח היעד
TargetHost principal.asset.hostname
action_type principal.group.attribute.labels המידע ממוזג מ-action_type_label אם action_type לא ריק
שם המארח principal.hostname ערך משם המארח אם הוא לא ריק, אחרת מהמארח היעד
TargetHost principal.hostname
תהליך principal.process.file.full_path הערך מועתק ישירות אם התהליך לא ריק
שם משתמש principal.user.user_display_name הערך הועתק ישירות
שם משתמש principal.user.userid הערך מ-UserName אם הוא לא ריק, אחרת הערך מ-user אם הוא לא ריק
משתמש principal.user.userid
פעולה security_result.action ההגדרה מתבצעת על סמך ערכי הפעולה (ALLOW אם הפעולה הצליחה/נוצרה/התחילה/נמסרה/אושרה, BLOCK אם הפעולה נכשלה/נחסמה/הופסקה/נדחתה/נמחקה/נפסלה/נפלה/התרחשה שגיאה/הפעולה ננעלה, ALLOW_WITH_MODIFICATION אם הפעולה שונתה/ה-ACL שונה, QUARANTINE אם הפעולה הוכנסה להסגר) או CleanAction (FAIL אם הפעולה נכשלה, QUARANTINE אם הפעולה הוכנסה להסגר, ALLOW אם הפעולה אושרה, BLOCK אם הפעולה נחסמה)
CleanAction security_result.action
CleanAction security_result.action_details הערך מועתק ישירות אם CleanAction לא ריק
קטגוריה security_result.category_details המיזוג מתבצע מהקטגוריה אם היא לא ריקה, אחרת מהקטגוריה
קטגוריה security_result.category_details
DetectionID security_result.detection_fields המידע ממוזג מהשדה DetectionID_field אם השדה DetectionID לא ריק, מהשדה detectionid_field אם השדה detectionid לא ריק, מהשדה detection_source_labels אם השדה detection_source לא ריק, מהשדה pending_action_labels אם השדה pending_action לא ריק, מהשדה detection_Path אם השדות source_url, file_path ו-Path לא ריקים
detectionid security_result.detection_fields
detection_source security_result.detection_fields
pending_action security_result.detection_fields
נתיב security_result.detection_fields
severity security_result.severity הערך מוגדר על סמך רמת החומרה (LOW עבור 0/1/2/3/LOW, ‏ MEDIUM עבור 4/5/6/MEDIUM/SUBSTANTIAL/INFO, ‏ HIGH עבור 7/8/HIGH/SEVERE, ‏ CRITICAL עבור 9/10/VERY-HIGH/CRITICAL) או SeverityID (LOW עבור 1, ‏ MEDIUM עבור 2, ‏ HIGH עבור 4, ‏ CRITICAL עבור 5, ‏ UNKNOWN_SEVERITY אחרת)
SeverityID security_result.severity
SeverityID security_result.severity_details הערך הועתק ישירות
ThreatID security_result.threat_id הערך הועתק ישירות
ThreatName security_result.threat_name הערך הועתק ישירות
MaliciousFileCt security_result.verdict_info הערך הועתק ישירות, הומר למספר שלם ומוזג כ-malicious_file_ct
dest_nt_domain target.administrative_domain הערך הועתק ישירות
dest_name target.asset.hostname הערך מועתק ישירות אם dest_name לא ריק
file_path target.file.full_path הערך מ-file_path אם הוא לא ריק, אחרת מ-Path אם file_path ריק, אחרת מ-my_string אם הוא לא ריק
נתיב target.file.full_path
my_string target.file.full_path
dest_name target.hostname הערך מועתק ישירות אם dest_name לא ריק
ResourceID target.resource.name הערך מ-ResourceID אם הוא לא ריק, אחרת הערך מ-resourceid אם הוא לא ריק
resourceid target.resource.name
משתמש target.user.userid הערך מועתק ישירות אם המשתמש לא ריק
פעם metadata.event_timestamp הערך מומר מזמן באמצעות הפורמט MMM dd HH:mm:ss אם הזמן לא ריק, אחרת מ-DetectionTime או מ-detectiontime באמצעות UNIX_MS
DetectionTime metadata.event_timestamp
detectiontime metadata.event_timestamp
time syslogtimestamp מופה מיומן השינויים
DetectionID", "detection_source", and "pending_action security_result.detection_fields מופה מיומן השינויים
action temp_action מופה מיומן השינויים

יומן שינויים

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

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