איסוף יומני התראות של Palo Alto Cortex XDR
במאמר הזה מוסבר איך אפשר לאסוף יומני התראות של Palo Alto Cortex XDR באמצעות הגדרה של פיד Google Security Operations.
מידע נוסף זמין במאמר בנושא העברת נתונים אל Google Security Operations.
תווית הטמעה מזהה את המנתח שמנרמל נתוני יומן גולמיים לפורמט UDM מובנה. המידע במסמך הזה רלוונטי למנתח עם תווית הטמעת הנתונים CORTEX_XDR.
הגדרת התראות ב-Palo Alto Cortex XDR
כדי להגדיר התראות של Palo Alto Cortex XDR, מבצעים את הפעולות הבאות:
- איך מקבלים מפתח API של התראות ב-Palo Alto Cortex XDR
- איך מקבלים את מזהה מפתח ה-API של ההתראות ב-Palo Alto Cortex XDR
- משיגים את שם הדומיין שמוגדר במלואו (FQDN).
קבלת מפתח API של התרעות ב-Palo Alto Cortex XDR
- נכנסים לפורטל Cortex XDR.
- בתפריט הגדרות, לוחצים על הגדרות.
- לוחצים על +מפתח חדש.
- בקטע רמת אבטחה, בוחרים באפשרות מתקדם.
- בקטע Roles, בוחרים באפשרות Viewer.
- לוחצים על יצירה.
- מעתיקים את מפתח ה-API ולוחצים על סיום. מפתח ה-API מייצג את מפתח ההרשאה הייחודי שלכם ומוצג רק בזמן היצירה. היא נדרשת כשמגדירים את הפיד של Google Security Operations.
קבלת מזהה מפתח API של התראות ב-Palo Alto Cortex XDR
בקטע Configurations, עוברים אל מפתחות API > ID. שימו לב למספר המזהה התואם, שמייצג את האסימון של x-xdr-auth-id:{key_id}.
קבלת FQDN
- עוברים אל מפתחות API.
- לוחצים על העתקת כתובת ה-URL. שומרים את כתובת ה-URL, שנדרשת כשמגדירים את הפיד של Google Security Operations.
הגדרת פידים
כדי להגדיר את סוג היומן הזה:
- עוברים אל SIEM Settings > Feeds.
- לוחצים על הוספת פיד חדש.
- בוחרים את חבילת הפידים Cortex XDR.
מגדירים את פרמטרי הקלט הבאים (חובה):
- סוג המקור: API של צד שלישי (מומלץ)
- כותרות HTTP של אימות: מציינים את מפתח ההרשאה ואת מזהה מפתח ההרשאה שהעתקתם קודם לכן.
- שם המארח של ה-API: מזינים את כתובת ה-URL שקיבלתם קודם.
- Endpoint: מציינים את נקודת הקצה.
אפשרויות מתקדמות
- שם הפיד: ערך שמאכלס מראש את השדה ומזהה את הפיד.
- מרחב שמות של נכס: מרחב השמות שמשויך לפיד.
- תוויות להעברה: תוויות שמוחלות על כל האירועים מהפיד הזה.
לוחצים על יצירת פיד.
למידע נוסף על הגדרת כמה פידים לסוגי יומנים שונים במשפחת המוצרים הזו, ראו הגדרת פידים לפי מוצר.
מידע נוסף על פידים של Google Security Operations זמין במסמכי התיעוד של פידים של Google Security Operations. מידע על הדרישות לכל סוג פיד זמין במאמר הגדרת פיד לפי סוג.
הפניה למיפוי שדות
המנתח הזה מחלץ יומני אבטחה מ-Palo Alto Networks Cortex XDR בפורמט JSON או SYSLOG (ערך מפתח), מנרמל שדות וממפה אותם ל-UDM. הוא מטפל בפורמטים של JSON ושל מפתח/ערך, מבצע חילוץ תאריכים, מעשיר את הנתונים במטא-נתונים ומבנה את הפלט להטמעה ב-Google SecOps.
הפעלת בקשות API בארכיטקטורת REST ב-Cortex XDR והגדרת פיד של Google SecOps
במדריך הזה מוסבר איך להפעיל בקשות REST API ב-Cortex XDR ואיך להגדיר פיד תואם ב-Google SecOps.
חלק 1: הפעלת בקשות API בארכיטקטורת REST ב-Cortex XDR
ב-Cortex XDR משתמשים במפתחות API לאימות. כדי ליצור מפתח API:
- נכנסים למסוף הניהול של Cortex XDR.
- עוברים להגדרות.
- ניגשים אל מפתחות API.
- יוצרים מפתח חדש.
- מזינים שם מפתח (לדוגמה, SecOps Integration).
- מקצים למפתח ה-API את ההרשאות הנדרשות לגישה לנתונים. זה חיוני לאבטחה ומוודא שלמפתח יש גישה רק למה שהוא צריך. כדאי לעיין במסמכי התיעוד של Cortex XDR כדי לראות אילו הרשאות ספציפיות נדרשות לתרחיש השימוש שלכם.
- מאחסנים את מפתח ה-API בצורה מאובטחת. תצטרכו אותו כדי להגדיר את הפיד של Google SecOps. זו הפעם היחידה שבה יוצג המפתח המלא, לכן חשוב להעתיק אותו עכשיו.
- (אופציונלי) מגדירים תאריך תפוגה למפתח ה-API כדי לשפר את האבטחה.
חלק 2: הגדרת הפיד ב-Google SecOps
אחרי שיוצרים את מפתח ה-API, מגדירים את הפיד ב-Google SecOps לקבלת נתונים מ-Cortex XDR:
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספה.
- בוחרים באפשרות Third Party API (API של צד שלישי) בתור Source type (סוג המקור).
- בוחרים את סוג היומן הנדרש שמתאים לנתונים שרוצים להעביר מ-Cortex XDR.
- לוחצים על הבא.
- מגדירים את פרמטרי הקלט הבאים:
- נקודת קצה ל-API: מזינים את כתובת ה-URL הבסיסית של Cortex XDR API. אפשר למצוא את המידע הזה במאמרי העזרה של Cortex XDR API.
- מפתח API: מדביקים את מפתח ה-API שיצרתם קודם.
- פרמטרים אחרים: בהתאם ל-Cortex XDR API הספציפי שבו אתם משתמשים, יכול להיות שתצטרכו לספק פרמטרים נוספים, כמו מסנני נתונים ספציפיים או טווחי תאריכים. פרטים נוספים זמינים במאמרי העזרה של ה-API של Cortex XDR.
- לוחצים על הבא ואז על שליחה.
שיקולים חשובים:
- הגבלת קצב של יצירת בקשות: חשוב לשים לב למגבלות על קצב של יצירת בקשות שמוגדרות ב-Cortex XDR API. כדי לא לחרוג מהמגבלות האלה, צריך להגדיר את הפיד בהתאם.
- טיפול בשגיאות: צריך להטמיע טיפול נכון בשגיאות בהגדרות של Google SecOps כדי לנהל מצבים שבהם Cortex XDR API לא זמין או מחזיר שגיאות.
- אבטחה: צריך לאחסן את מפתח ה-API בצורה מאובטחת ולפעול לפי השיטות המומלצות לאבטחה. כדאי להחליף מפתחות API באופן קבוע כדי לצמצם את ההשפעה של פשרות פוטנציאליות.
- מאמרי העזרה של ה-API: עיינו במאמרי העזרה הרשמיים של Cortex XDR API כדי לקבל מידע מפורט על נקודות הקצה, הפרמטרים ופורמטים של הנתונים שזמינים.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
action |
security_result.action |
אם action מכיל את הערך 'BLOCKED', הערך שיוחזר יהיה 'BLOCK'. |
action |
security_result.action_details |
אם act לא ריק, לא null ולא none, המערכת תשתמש בערך של act. אחרת, אם הערך של action הוא לא BLOCKED, המערכת תשתמש בערך של action. |
action_country |
security_result.about.location.country_or_region |
מיפוי ישיר. משמש גם בשדה events בתוך שכבות. |
action_file_path |
target.resource.attribute.labels |
יוצר תווית עם המפתח action_file_path והערך מהשדה log. |
action_file_sha256 |
target.file.sha256 |
הפונקציה ממירה לאותיות קטנות. |
action_local_port |
principal.port |
הפונקציה ממירה למספר שלם. |
action_remote_ip |
target.ip |
מוזג למערך target.ip. |
action_remote_ip |
target.asset.ip |
מוזג למערך target.asset.ip. |
action_remote_port |
target.port |
המרה למספר שלם. |
act |
security_result.action_details |
המערכת משתמשת בערך הזה אם הוא לא ריק, null או "none". |
agent_data_collection_status |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
agent_device_domain |
target.administrative_domain |
מיפוי ישיר. |
agent_fqdn |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
agent_install_type |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
agent_is_vdi |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
agent_os_sub_type |
target.platform_version |
מיפוי ישיר. |
agent_os_type |
target.platform |
אם מדובר ב-"Windows", מגדירים את הערך "WINDOWS". |
agent_version |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
alert_id |
security_result.rule_id |
מיפוי ישיר. |
app |
target.application |
מיפוי ישיר. |
cat |
security_result.category_details |
מוזג לשדה security_result.category_details. |
category |
security_result.category |
אם מדובר ב "תוכנה זדונית", מגדירים את הערך "SOFTWARE_MALICIOUS". |
category |
security_result.category_details |
המיזוג בוצע בשדה security_result.category_details. |
cn1 |
network.session_id |
מיפוי ישיר. |
cn1Label |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
contains_featured_host |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
contains_featured_ip |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
contains_featured_user |
לא ממופים | למרות שהשדה הזה קיים ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
creation_time |
metadata.event_timestamp |
הומר לחותמת זמן. |
cs1 |
security_result.rule_name |
הוצמד ל-cs1Label כדי ליצור את security_result.rule_name. |
cs1Label |
security_result.rule_name |
משורשר עם cs1 כדי ליצור את security_result.rule_name. |
cs2 |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם מפתח מ-cs2Label וערך מחרוזת מ-cs2. |
cs2Label |
additional.fields |
משמש כמפתח לערך cs2 ב-additional.fields. |
cs3 |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם מפתח מ-cs3Label וערך מחרוזת מ-cs3. |
cs3Label |
additional.fields |
משמש כמפתח לערך cs3 ב-additional.fields. |
cs4 |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם מפתח מ-cs4Label וערך מחרוזת מ-cs4. |
cs4Label |
additional.fields |
משמש כמפתח לערך cs4 ב-additional.fields. |
cs5 |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם מפתח מ-cs5Label וערך מחרוזת מ-cs5. |
cs5Label |
additional.fields |
משמש כמפתח לערך cs5 ב-additional.fields. |
cs6 |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם מפתח מ-cs6Label וערך מחרוזת מ-cs6. |
cs6Label |
additional.fields |
משמש כמפתח לערך cs6 ב-additional.fields. |
CSPaccountname |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם המפתח CSPaccountname וערך מחרוזת משדה היומן. |
description |
metadata.description |
מיפוי ישיר. משמש גם ל-security_result.description אם event_type הוא לא GENERIC_EVENT. |
destinationTranslatedAddress |
target.ip |
מוזג למערך target.ip. |
destinationTranslatedAddress |
target.asset.ip |
המידע מוזג למערך target.asset.ip. |
destinationTranslatedPort |
target.port |
הערך מומר למספר שלם אם הוא לא ריק או -1. |
deviceExternalId |
security_result.about.asset_id |
הקידומת היא 'מזהה חיצוני של המכשיר: '. |
dpt |
target.port |
הערך מומר למספר שלם אם destinationTranslatedPort ריק או -1. |
dst |
target.ip |
מוזג למערך target.ip. |
dst |
target.asset.ip |
מוזג למערך target.asset.ip. |
dst_agent_id |
target.ip |
הערך מומר לכתובת IP וממוזג למערך target.ip אם כתובת ה-IP תקינה. |
dst_agent_id |
target.asset.ip |
הערך מומר לכתובת IP וממוזג למערך target.asset.ip אם כתובת ה-IP תקינה. |
dvchost |
principal.hostname |
מיפוי ישיר. |
dvchost |
principal.asset.hostname |
מיפוי ישיר. |
endpoint_id |
target.process.product_specific_process_id |
עם הקידומת "cor:". |
event_id |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
event_sub_type |
לא ממופים | למרות שהשדה הזה קיים ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
event_timestamp |
metadata.event_timestamp |
הומר לחותמת זמן. משמש גם בשדה events בתצוגת עץ. |
event_type |
metadata.event_type |
ממופה לסוג אירוע ב-UDM על סמך לוגיקה. משמש גם בשדה events בתוך שכבות. |
event_type |
metadata.product_event_type |
מיפוי ישיר. |
event_type |
security_result.threat_name |
מיפוי ישיר. |
events |
אירועים מקוננים | השדות במערך events ממופים לשדות UDM תואמים באובייקטים בתצוגת עץ של events. לפרטים, אפשר לעיין במיפויים של שדות ספציפיים. |
external_id |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fileId |
target.resource.attribute.labels |
יוצר תווית עם המפתח fileId והערך משדה היומן. |
fileHash |
target.file.sha256 |
הומר לאותיות קטנות. מגדיר את metadata.event_type ל-FILE_UNCATEGORIZED. |
filePath |
target.file.full_path |
מיפוי ישיר. מגדיר את metadata.event_type ל-FILE_UNCATEGORIZED. |
fw_app_category |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_app_id |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_app_subcategory |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_app_technology |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_device_name |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_email_recipient |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_email_sender |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_email_subject |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_interface_from |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_interface_to |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_is_phishing |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_misc |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_rule |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_rule_id |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_serial_number |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_url_domain |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_vsys |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
fw_xff |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
host_ip |
principal.ip |
הנתונים פוצלו לפי פסיק ומוזגו למערך principal.ip. |
host_ip |
principal.asset.ip |
הנתונים פוצלו לפי פסיק ומוזגו למערך principal.asset.ip. |
host_name |
principal.hostname |
מיפוי ישיר. |
host_name |
principal.asset.hostname |
מיפוי ישיר. |
hosts |
target.hostname |
חילוץ שם המארח מהרכיב הראשון במערך hosts. |
hosts |
target.asset.hostname |
מחזירה את שם המארח מהרכיב הראשון במערך hosts. |
hosts |
target.user.employee_id |
הפונקציה מחלצת את מזהה המשתמש מהרכיב הראשון במערך hosts. |
incident_id |
metadata.product_log_id |
מיפוי ישיר. |
is_whitelisted |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
local_insert_ts |
לא ממופים | למרות שהשדה הזה מופיע ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
mac |
principal.mac |
הנתונים פוצלו לפי פסיק ומוזגו למערך principal.mac. |
matching_status |
לא ממופים | למרות שהשדה הזה קיים ביומן הגולמי, הוא לא ממופה לאובייקט IDM ב-UDM הסופי. |
metadata.description |
security_result.description |
הערך הזה משמש אם event_type הוא GENERIC_EVENT. |
metadata.event_type |
metadata.event_type |
ההגדרה מבוססת על לוגיקה באמצעות event_type, host_ip ושדות אחרים. |
metadata.log_type |
metadata.log_type |
ההגדרה צריכה להיות CORTEX_XDR. |
metadata.product_name |
metadata.product_name |
מגדירים את האפשרות Cortex. |
metadata.vendor_name |
metadata.vendor_name |
ההגדרה היא Palo Alto Networks. |
msg |
security_result.description |
מיפוי ישיר. |
name |
security_result.summary |
מיפוי ישיר. |
PanOSDGHierarchyLevel1 |
security_result.detection_fields |
יוצר צמד מפתח/ערך ב-security_result.detection_fields עם המפתח PanOSDGHierarchyLevel1 והערך משדה היומן. |
PanOSDestinationLocation |
target.location.country_or_region |
מיפוי ישיר. |
PanOSDynamicUserGroupName |
principal.group.group_display_name |
מיפוי ישיר אם השדה לא ריק או אם הערך הוא '-'. |
PanOSSourceLocation |
principal.location.country_or_region |
מיפוי ישיר. |
PanOSThreatCategory |
security_result.category_details |
המיזוג בוצע בשדה security_result.category_details. |
PanOSThreatID |
security_result.threat_id |
מיפוי ישיר. |
principal.asset.attribute.labels |
principal.asset.attribute.labels |
יוצר תווית עם המפתח Source והערך מהשדה source. |
proto |
network.ip_protocol |
הומר לאותיות רישיות. מגדיר את metadata.event_type ל-NETWORK_CONNECTION. |
request |
network.http.referral_url |
מיפוי ישיר. |
rt |
metadata.event_timestamp |
הומר לחותמת זמן. |
security_result.severity |
security_result.severity |
הוגדר לערך באותיות רישיות של severity. |
severity |
security_result.severity |
הומר לאותיות רישיות. |
shost |
principal.hostname |
מיפוי ישיר. מגדיר את metadata.event_type ל-STATUS_UPDATE. |
shost |
principal.asset.hostname |
מיפוי ישיר. מגדירים את metadata.event_type ל-STATUS_UPDATE. |
source |
principal.asset.attribute.labels |
הערך של התווית 'מקור'. |
source |
security_result.summary |
המסנן הזה משמש אם יש התאמה בין המסננים not_json ו-grok. |
sourceTranslatedAddress |
principal.ip |
מוזג למערך principal.ip. |
sourceTranslatedAddress |
principal.asset.ip |
מוזג למערך principal.asset.ip. |
sourceTranslatedPort |
principal.port |
הערך מומר למספר שלם אם הוא לא ריק או -1. |
spt |
principal.port |
הומר למספר שלם. |
sr_summary |
security_result.summary |
המסנן הזה משמש אם יש התאמה בין המסננים not_json ו-grok. |
src |
principal.ip |
מוזג למערך principal.ip. |
src |
principal.asset.ip |
מוזג למערך principal.asset.ip. |
suser |
principal.user.user_display_name |
מיפוי ישיר. |
tenantCDLid |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם המפתח tenantCDLid והערך string משדה היומן. |
tenantname |
additional.fields |
יוצר צמד מפתח/ערך ב-additional.fields עם המפתח tenantname וערך מחרוזת משדה היומן. |
users |
target.user.userid |
הפונקציה משתמשת ברכיב הראשון במערך users. |
xdr_url |
metadata.url_back_to_product |
מיפוי ישיר. |
יומן שינויים
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.