איסוף יומני התראות של 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

  1. נכנסים לפורטל Cortex XDR.
  2. בתפריט הגדרות, לוחצים על הגדרות.
  3. לוחצים על +מפתח חדש.
  4. בקטע רמת אבטחה, בוחרים באפשרות מתקדם.
  5. בקטע Roles, בוחרים באפשרות Viewer.
  6. לוחצים על יצירה.
  7. מעתיקים את מפתח ה-API ולוחצים על סיום. מפתח ה-API מייצג את מפתח ההרשאה הייחודי שלכם ומוצג רק בזמן היצירה. היא נדרשת כשמגדירים את הפיד של Google Security Operations.

קבלת מזהה מפתח API של התראות ב-Palo Alto Cortex XDR

בקטע Configurations, עוברים אל מפתחות API > ID. שימו לב למספר המזהה התואם, שמייצג את האסימון של x-xdr-auth-id:{key_id}.

קבלת FQDN

  1. עוברים אל מפתחות API.
  2. לוחצים על העתקת כתובת ה-URL. שומרים את כתובת ה-URL, שנדרשת כשמגדירים את הפיד של Google Security Operations.

הגדרת פידים

כדי להגדיר את סוג היומן הזה:

  1. עוברים אל SIEM Settings > Feeds.
  2. לוחצים על הוספת פיד חדש.
  3. בוחרים את חבילת הפידים Cortex XDR.
  4. מגדירים את פרמטרי הקלט הבאים (חובה):

    • סוג המקור: API של צד שלישי (מומלץ)
    • כותרות HTTP של אימות: מציינים את מפתח ההרשאה ואת מזהה מפתח ההרשאה שהעתקתם קודם לכן.
    • שם המארח של ה-API: מזינים את כתובת ה-URL שקיבלתם קודם.
    • ‫Endpoint: מציינים את נקודת הקצה.

    אפשרויות מתקדמות

    • שם הפיד: ערך שמאכלס מראש את השדה ומזהה את הפיד.
    • מרחב שמות של נכס: מרחב השמות שמשויך לפיד.
    • תוויות להעברה: תוויות שמוחלות על כל האירועים מהפיד הזה.
  5. לוחצים על יצירת פיד.

למידע נוסף על הגדרת כמה פידים לסוגי יומנים שונים במשפחת המוצרים הזו, ראו הגדרת פידים לפי מוצר.

מידע נוסף על פידים של 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:

  1. נכנסים למסוף הניהול של Cortex XDR.
  2. עוברים להגדרות.
  3. ניגשים אל מפתחות API.
  4. יוצרים מפתח חדש.
  5. מזינים שם מפתח (לדוגמה, SecOps Integration).
  6. מקצים למפתח ה-API את ההרשאות הנדרשות לגישה לנתונים. זה חיוני לאבטחה ומוודא שלמפתח יש גישה רק למה שהוא צריך. כדאי לעיין במסמכי התיעוד של Cortex XDR כדי לראות אילו הרשאות ספציפיות נדרשות לתרחיש השימוש שלכם.
  7. מאחסנים את מפתח ה-API בצורה מאובטחת. תצטרכו אותו כדי להגדיר את הפיד של Google SecOps. זו הפעם היחידה שבה יוצג המפתח המלא, לכן חשוב להעתיק אותו עכשיו.
  8. (אופציונלי) מגדירים תאריך תפוגה למפתח ה-API כדי לשפר את האבטחה.

חלק 2: הגדרת הפיד ב-Google SecOps

אחרי שיוצרים את מפתח ה-API, מגדירים את הפיד ב-Google SecOps לקבלת נתונים מ-Cortex XDR:

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספה.
  3. בוחרים באפשרות Third Party API (API של צד שלישי) בתור Source type (סוג המקור).
  4. בוחרים את סוג היומן הנדרש שמתאים לנתונים שרוצים להעביר מ-Cortex XDR.
  5. לוחצים על הבא.
  6. מגדירים את פרמטרי הקלט הבאים:
    • נקודת קצה ל-API: מזינים את כתובת ה-URL הבסיסית של Cortex XDR API. אפשר למצוא את המידע הזה במאמרי העזרה של Cortex XDR API.
    • מפתח API: מדביקים את מפתח ה-API שיצרתם קודם.
    • פרמטרים אחרים: בהתאם ל-Cortex XDR API הספציפי שבו אתם משתמשים, יכול להיות שתצטרכו לספק פרמטרים נוספים, כמו מסנני נתונים ספציפיים או טווחי תאריכים. פרטים נוספים זמינים במאמרי העזרה של ה-API של Cortex XDR.
  7. לוחצים על הבא ואז על שליחה.

שיקולים חשובים:

  • הגבלת קצב של יצירת בקשות: חשוב לשים לב למגבלות על קצב של יצירת בקשות שמוגדרות ב-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.