איסוף יומנים של Microsoft Defender for Office 365
במסמך הזה מוסבר איך אוספים את היומנים של Microsoft Defender for Office 365 באמצעות הגדרת פיד של Google Security Operations באמצעות Microsoft Azure Blob Storage V2.
Microsoft Defender for Office 365 הוא פתרון אבטחה לאימייל שמגן על ארגונים מפני איומים מתקדמים כמו פישינג, פריצה לאימייל עסקי והתקפות של תוכנות זדוניות. נתוני אירועים באימייל מ-Defender for Office 365 זמינים דרך Microsoft Defender XDR Streaming API, שמעביר אירועים של Advanced Hunting לחשבון Azure Storage. מערכת Google SecOps קוראת את האירועים בסטרימינג ישירות מחשבון האחסון, כך שלא נדרש אוסף ביניים.
לפני שמתחילים
חשוב לוודא שיש לכם את הדברים הבאים:
- מכונה של Google SecOps
- גישה עם הרשאות ניהול לפורטל Microsoft Azure עם הרשאות:
- יצירת חשבונות אחסון באותו דייר (tenant) כמו Microsoft Defender XDR
- רישום ספקי משאבים במינוי
- ניהול מפתחות הגישה
- התפקיד Contributor בחשבון האחסון (נדרש להגדרת Streaming API)
- גישה לפורטל Microsoft Defender עם תפקיד אדמין אבטחה לפחות
Microsoft Defender for Office 365 פרוס בדייר (tenant) שלכם: טבלאות ה-Advanced Hunting של Email* ו-UrlClickEvents מאוכלסות על ידי רשומות מ-Defender for Office 365 ונשארות ריקות בלעדיו
הגדרת חשבון Azure Storage
רישום ספק המשאבים Microsoft.Insights
כדי להשתמש ב-Streaming API, צריך להגדיר את ספק המשאבים Microsoft.Insights במינוי שכולל את חשבון האחסון:
- נכנסים לפורטל Azure.
- עוברים אל Subscriptions > Your subscription > Resource providers.
- מחפשים את Microsoft.Insights.
- לוחצים על הרשמה.
יצירת חשבון אחסון
- ב-Azure portal, מחפשים את Storage accounts.
- לוחצים על + Create.
ממלאים את פרטי ההגדרה הבאים:
הגדרה ערך מינוי בוחרים את המינוי ל-Azure (אותו דייר כמו Microsoft Defender XDR) קבוצת משאבים בחירת קבוצה קיימת או יצירת קבוצה חדשה שם חשבון האחסון מזינים שם ייחודי (לדוגמה, defenderemaillogs)אזור בוחרים את האזור (לדוגמה, East US).ביצועים רגיל (מומלץ) יתירות GRS (אחסון משוכפל גיאוגרפית) או LRS (אחסון משוכפל מקומית) לוחצים על Review + create.
בודקים את הסקירה הכללית של החשבון ולוחצים על יצירה.
מחכים עד שהפריסה תסתיים.
מתן הרשאה לשירותי Microsoft מהימנים
- עוברים אל Storage Account שיצרתם.
- בקטע Security + networking, לוחצים על Networking.
- בכרטיסייה Firewalls and virtual networks, בקטע Exceptions, מוודאים שהאפשרות Allow Azure services on the trusted services list to access this storage account מסומנת.
- לוחצים על Save.
קבלת פרטי הכניסה לחשבון האחסון
- באותו חשבון אחסון, בוחרים באפשרות Access keys בקטע Security + networking.
- לוחצים על הצגת מפתחות.
- מעתיקים ושומרים את הפרטים הבאים לשימוש בהמשך:
- שם חשבון האחסון: השם שהוזן במהלך היצירה (לדוגמה,
defenderemaillogs) - מפתח 1 או מפתח 2: מפתח הגישה המשותף
- שם חשבון האחסון: השם שהוזן במהלך היצירה (לדוגמה,
איתור מזהה המשאב של חשבון האחסון
- באותו חשבון אחסון, בדף Overview לוחצים על JSON View.
מעתיקים ושומרים את מזהה המשאב. הפורמט שלו הוא:
/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
הגדרת Microsoft Defender XDR Streaming API
- נכנסים לפורטל Microsoft Defender באמצעות חשבון עם הרשאות אדמין אבטחה לפחות.
- עוברים אל Settings > Microsoft Defender XDR > Streaming API.
- לוחצים על הוספה.
- בחלון הנשלף Add new Streaming API settings, מזינים את פרטי ההגדרה הבאים:
- שם: מזינים שם להגדרות (לדוגמה,
secops-email-events). - בוחרים באפשרות העברת אירועים ל-Azure Storage.
- Storage Account Resource ID: מדביקים את מזהה המשאב ששמרתם קודם.
- שם: מזינים שם להגדרות (לדוגמה,
- בוחרים את סוגי האירועים הבאים:
- EmailEvents
- EmailAttachmentInfo
- EmailUrlInfo
- EmailPostDeliveryEvents
- UrlClickEvents
- לוחצים על שליחה.
אחרי שהסטרימינג מתחיל, נוצר מאגר blob בחשבון האחסון לכל סוג אירוע שנבחר (מתועד על ידי מיקרוסופט). שמות הקונטיינרים תואמים לתבנית insights-logs-advancedhunting-<event type> (לדוגמה, insights-logs-advancedhunting-emailevents). בתיעוד של Microsoft מוצגת התבנית של טבלאות אחרות, לכן תמיד צריך לקחת את השמות המדויקים מחשבון האחסון. כל שורת blob מכילה את האירוע כ-JSON עם time, tenantId, category (שם הטבלה עם הקידומת AdvancedHunting-), ושדות האירוע בתוך אובייקט properties.
הגדרת פידים ב-Google SecOps כדי להטמיע יומנים של Microsoft Defender for Office 365
יוצרים פיד אחד לכל מאגר של סוגי אירועים:
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Defender for Office 365 - EmailEvents). - בוחרים באפשרות Microsoft Azure Blob Storage V2 בתור Source type.
- בוחרים באפשרות Microsoft Defender for Office 365 בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
- Azure URI: מזינים את כתובת ה-URL של נקודת הקצה של Blob Service עם הנתיב של המאגר:
https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net/insights-logs-advancedhunting-emailevents/מחליפים את מה שכתוב בשדות הבאים:
-
<STORAGE_ACCOUNT_NAME>: השם של חשבון האחסון ב-Azure. פלח המאגר: השם המדויק של המאגר שהועתק מחשבון האחסון.
אפשרות מחיקת המקור: בוחרים את אפשרות המחיקה המועדפת:
- אף פעם לא למחוק קבצים: אף פעם לא למחוק קבצים מהמקור.
- Delete transferred files and empty directories: מחיקת קבצים וספריות ריקות מהמקור אחרי שהאחזור הושלם בהצלחה.
גיל הקובץ המקסימלי: כולל קבצים ששונו במספר הימים האחרונים (ברירת המחדל היא 180 ימים)
בתפריט הנפתח של האימות (ברירת המחדל היא מפתח גישה/מפתח משותף), בוחרים את השיטה שבה רוצים להשתמש ומזינים את פרטי הכניסה המתאימים:
- מפתח גישה/מפתח משותף: בשדה Key, מדביקים את מפתח הגישה לחשבון האחסון (Key 1 או Key 2) ששמרתם קודם.
- טוקן SAS: בשדה טוקן, מדביקים טוקן של חתימת גישה משותפת (SAS) שהונפק למאגר.
- איחוד שירותי אימות הזהות של עומסי עבודה ב-Azure V2: מזינים את מזהה הלקוח ואת מזהה הדייר (tenant) של האפליקציה ב-Microsoft Entra. מעתיקים את מזהה הנושא לקריאה בלבד שמוצג בפיד, ונותנים לזהות התואמת גישה לחשבון האחסון בצד של Azure.
מרחב השמות של הנכס: מרחב השמות של הנכס
תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה
לוחצים על הבא.
בודקים את הגדרות הפיד החדש במסך סיום ולוחצים על שליחה.
חוזרים על השלבים לכל אחד מהמאגרים שנותרו (
insights-logs-advancedhunting-emailattachmentinfo,insights-logs-advancedhunting-emailurlinfo,insights-logs-advancedhunting-emailpostdeliveryevents,insights-logs-advancedhunting-urlclickevents), ומשתמשים באותו סוג יומן ובשם פיד ייחודי.
הגדרת חומת האש של Azure Storage (אם היא מופעלת)
אם בחשבון Azure Storage שלכם יש חומת אש, אתם צריכים להוסיף את טווחי כתובות ה-IP של Google SecOps.
- ב-Azure portal, נכנסים ל-Storage Account.
- בקטע Security + networking, לוחצים על Networking.
- בקטע Firewalls and virtual networks, בוחרים באפשרות Enabled from selected virtual networks and IP addresses.
- בקטע חומת אש, מתחת לטווח כתובות, לוחצים על + הוספת טווח כתובות IP.
- מוסיפים כל טווח כתובות IP של Google SecOps בסימון CIDR.
כדי לקבל את טווחי כתובות ה-IP הנוכחיים:
- לעיון במסמכי התיעוד בנושא רשימות היתרים לכתובות IP
- או לאחזר אותם באופן פרוגרמטי באמצעות Feed Management API.
לוחצים על Save.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | Logic (פונקציה לוגית) |
|---|---|---|
CompAuth_label |
additional.fields |
ממוזג |
DKIM_label |
additional.fields |
ממוזג |
DMARC_label |
additional.fields |
ממוזג |
SPF_label |
additional.fields |
ממוזג |
additional_email_cluster_id |
additional.fields |
ממוזג |
additional_fields_label |
additional.fields |
ממוזג |
additional_replyto |
additional.fields |
ממוזג |
attachment_cnt_label |
additional.fields |
ממוזג |
attachment_count_label |
additional.fields |
ממוזג |
bulk_complaint_level_label |
additional.fields |
ממוזג |
clicked_label |
additional.fields |
ממוזג |
confidence_level_label |
additional.fields |
ממוזג |
connectors_label |
additional.fields |
ממוזג |
delivery_action_label |
additional.fields |
ממוזג |
delivery_location_label |
additional.fields |
ממוזג |
detection_methods_label |
additional.fields |
ממוזג |
email_action_label |
additional.fields |
ממוזג |
email_action_policy_guid_label |
additional.fields |
ממוזג |
email_action_policy_label |
additional.fields |
ממוזג |
email_cluster_id_label |
additional.fields |
ממוזג |
email_direction_label |
additional.fields |
ממוזג |
email_language_label |
additional.fields |
ממוזג |
exchange_transport_rule_label |
additional.fields |
ממוזג |
is_first_contact_label |
additional.fields |
ממוזג |
org_level_action_label |
additional.fields |
ממוזג |
org_level_policy_label |
additional.fields |
ממוזג |
phishData_label |
additional.fields |
ממוזג |
sender_from_address_label |
additional.fields |
ממוזג |
sender_mail_label |
additional.fields |
ממוזג |
spamData_label |
additional.fields |
ממוזג |
threat_names_label |
additional.fields |
ממוזג |
threat_types_label |
additional.fields |
ממוזג |
url_chain_list |
additional.fields |
ממוזג |
url_count_label |
additional.fields |
ממוזג |
url_loc_label |
additional.fields |
ממוזג |
url_location_label |
additional.fields |
ממוזג |
urlcount_label |
additional.fields |
ממוזג |
user_level_action_label |
additional.fields |
ממוזג |
user_level_policy_label |
additional.fields |
ממוזג |
workload_label |
additional.fields |
ממוזג |
_time |
metadata.event_timestamp |
נותח בתור RFC3339 |
time |
metadata.event_timestamp |
נותח בתור yyyy-MM-ddTHH:mm:ss.SSSSSSSZ |
event_type |
metadata.event_type |
מיפוי ישיר |
_raw.category |
metadata.product_event_type |
מיפוי ישיר |
operationName |
metadata.product_event_type |
מיפוי ישיר |
_raw.properties.ReportId |
metadata.product_log_id |
מיפוי ישיר |
_raw.properties.SenderFromAddress |
network.email.from |
מיפוי ישיר |
_raw.properties.InternetMessageId |
network.email.mail_id |
מיפוי ישיר |
_raw.properties.Subject |
network.email.subject |
ממוזג |
properties.Subject |
network.email.subject |
ממוזג |
_raw.properties.RecipientEmailAddress |
network.email.to |
ממוזג |
email |
network.email.to |
מופה: ^.+@.+$ ← email |
properties.EmailSize |
network.received_bytes |
שינוי שם/מיפוי |
_raw.properties.NetworkMessageId |
network.session_id |
מיפוי ישיר |
_raw.properties.SenderFromDomain |
principal.administrative_domain |
מיפוי ישיר |
_raw.properties.SenderMailFromDomain |
principal.administrative_domain |
מיפוי ישיר |
properties.SenderMailFromDomain |
principal.administrative_domain |
מיפוי ישיר |
_raw.properties.UrlDomain |
principal.asset.hostname |
מיפוי ישיר |
properties.SenderFromDomain |
principal.asset.hostname |
מיפוי ישיר |
properties.UrlDomain |
principal.asset.hostname |
מיפוי ישיר |
_raw.properties.SenderIPv4 |
principal.asset.ip |
ממוזג |
_raw.properties.SenderIPv6 |
principal.asset.ip |
ממוזג |
sender_ip |
principal.asset.ip |
ממוזג |
_raw.properties.SenderMailFromAddress |
principal.email |
מיפוי ישיר |
target.SHA256 |
principal.file.sha256 |
מיפוי ישיר |
_raw.properties.UrlDomain |
principal.hostname |
מיפוי ישיר |
properties.SenderFromDomain |
principal.hostname |
מיפוי ישיר |
properties.UrlDomain |
principal.hostname |
מיפוי ישיר |
_raw.properties.SenderIPv4 |
principal.ip |
ממוזג |
_raw.properties.SenderIPv6 |
principal.ip |
ממוזג |
sender_ip |
principal.ip |
ממוזג |
_raw.properties.Url |
principal.url |
מיפוי ישיר |
properties.Url |
principal.url |
מיפוי ישיר |
_raw.properties.SenderObjectId |
principal.user.product_object_id |
מיפוי ישיר |
tenantId |
principal.user.product_object_id |
מיפוי ישיר |
_raw.properties.SenderDisplayName |
principal.user.user_display_name |
מיפוי ישיר |
properties.SenderDisplayName |
principal.user.user_display_name |
מיפוי ישיר |
action |
security_result.action |
ממוזג |
properties.Action |
security_result.action_details |
מיפוי ישיר |
security_result_category |
security_result.category |
ממוזג |
category |
security_result.category_details |
ממוזג |
Phish_level |
security_result.confidence |
מופו: high ← HIGH_CONFIDENCE, medium ← MEDIUM_CONFIDENCE, low ← LOW_CONFIDENCE |
properties.ActionResult |
security_result.description |
מיפוי ישיר |
action_type_label |
security_result.detection_fields |
ממוזג |
cribl_pipe_label |
security_result.detection_fields |
ממוזג |
email_action_label |
security_result.detection_fields |
ממוזג |
email_action_policy_label |
security_result.detection_fields |
ממוזג |
email_language_label |
security_result.detection_fields |
ממוזג |
emailactpol_guid_label |
security_result.detection_fields |
ממוזג |
internet_message_id_label |
security_result.detection_fields |
ממוזג |
network_message_id_label |
security_result.detection_fields |
ממוזג |
operation_name_label |
security_result.detection_fields |
ממוזג |
phish_level_label |
security_result.detection_fields |
ממוזג |
recipient_id_label |
security_result.detection_fields |
ממוזג |
report_id_label |
security_result.detection_fields |
ממוזג |
sender_id_label |
security_result.detection_fields |
ממוזג |
tenant_label |
security_result.detection_fields |
ממוזג |
transport_rule_guid_label |
security_result.detection_fields |
ממוזג |
trigger_label |
security_result.detection_fields |
ממוזג |
properties.DeliveryLocation |
security_result.summary |
מיפוי ישיר |
properties.ThreatNames |
security_result.threat_name |
מיפוי ישיר |
properties.AccountUpn |
target.email |
מיפוי ישיר |
_raw.properties.FileName |
target.file.full_path |
מיפוי ישיר |
_raw.properties.FileType |
target.file.mime_type |
מיפוי ישיר |
properties.FileType |
target.file.mime_type |
מיפוי ישיר |
properties.FileName |
target.file.names |
ממוזג |
_raw.properties.FileSize |
target.file.size |
שינוי שם/מיפוי |
properties.FileSize |
target.file.size |
שינוי שם/מיפוי |
properties.RecipientDomain |
target.hostname |
מיפוי ישיר |
_raw.tenantId |
target.resource.id |
מיפוי ישיר |
_raw.properties.RecipientObjectId |
target.user.product_object_id |
מיפוי ישיר |
| לא רלוונטי | metadata.event_type |
קבוע: GENERIC_EVENT |
| לא רלוונטי | metadata.product_name |
קבוע: MICROSOFT_DEFENDER_MAIL |
| לא רלוונטי | metadata.vendor_name |
קבוע: MICROSOFT_DEFENDER_MAIL |
| לא רלוונטי | network.direction |
קבוע: INBOUND |
| לא רלוונטי | security_result.confidence |
קבוע: HIGH_CONFIDENCE |
יומן שינויים
הצגת יומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.