הגדרת webhook של SOAR

נתמך ב:

‫Webhooks הם פתרון קל משקל להעברת התראות מהארגון שלכם לפלטפורמת Google Security Operations SOAR.

ההתראות שנקלטות באמצעות Webhook מופיעות בפלטפורמה עם אותו מידע כמו התראות שנקלטות באמצעות מחברים.

כדי למנוע יצירה של כפילויות של כרטיסי תמיכה, Google ממליצה להשתמש במחבר או ב-webhook מאותו מקור, אבל לא בשניהם.

עדיף להשתמש ב-Webhooks בתרחישים שבהם נדרשת לוגיקת מיפוי בסיסית, ובמחברים בתרחישים שבהם נדרש מיפוי מתקדם וגמיש.

הגדרת webhook להעברת התראות

כדי להגדיר webhook להעברת התראות, מבצעים את השלבים הבאים:

  1. עוברים אל SOAR Settings > Ingestion > Webhooks.
  2. לוחצים על הוספה הוספת webhook נכנס.
  3. מזינים שם ל-webhook החדש ובוחרים סביבה.
  4. לוחצים על Save. אחרי השמירה, ה-webhook החדש יופיע בדף הראשי.
  5. מעתיקים את כתובת ה-URL של ה-webhook ורושמים אותה לשימוש בהמשך. צריך להזין אותו בפלטפורמת המקור כיעד של ה-webhook.

נתוני מפה

אחרי שמעלים קובץ JSON לדוגמה, אפשר להשתמש בקטע מיפוי נתונים כדי למפות שדות מקובץ ה-JSON של המקור לשדות המתאימים ב-Google Security Operations SOAR. המערכת מעבדת את ה-JSON הגולמי, ואתם משתמשים בממשק המשתמש כדי ליצור את המיפויים.

  1. בקטע מיפוי נתונים, לוחצים על העלאת דוגמה של JSON. צריך לספק דוגמה מייצגת של מטען ה-JSON הייעודי ששולח ה-webhook.
  2. ממפים את השדות של Google Security Operations לשדות התואמים בדוגמת ה-JSON. לדוגמה, כדי למפות את השדה StartTime שהוא חובה, אפשר לבחור שדה של חותמת זמן מתוך קובץ ה-JSON, כמו Detections.Last.Update.
  3. משתמשים בכלי ליצירת ביטויים כדי לצמצם את הנתונים. לדוגמה, אפשר להשתמש בפונקציה פורמט תאריך כדי להמיר את חותמת הזמן לפורמט הנדרש של מילישניות לפי תקופת הזמן של מערכת Unix. מידע נוסף זמין במאמר בנושא שימוש בכלי ליצירת ביטויים.
  4. לוחצים על Run (הפעלה) בכלי ליצירת ביטויים כדי לבדוק את המיפוי ולראות את התוצאה. סימן וי ירוק מציין שהמיפוי הצליח.
  5. מטען ה-JSON הייעודי של ה-Webhook חייב להכיל את השדות הנדרשים ליצירת אירוע ולהוספת התראה. פרטים נוספים זמינים במאמר הסבר על סכימת ה-JSON של webhook.
  6. אחרי שיוצרים מיפוי של כל השדות הנדרשים, לוחצים על שמירה ומפעילים את ה-webhook.

הסבר על מיפוי שדות יעד

כשממפים את נתוני ה-JSON, המיפוי מתבצע לשדות סטנדרטיים ב-Google Security Operations SOAR. השדות האלה מאורגנים בקטגוריות כדי לעזור לכם לנרמל את הנתונים הנכנסים ולבנות אותם בצורה מסודרת. השדות שזמינים בממשק המשתמש של מיפוי הנתונים מבוססים על האונטולוגיה של המערכת הפנימית. הקטגוריות העיקריות כוללות:

  • שדות של ישויות: השתמשו בשדות האלה לנקודות נתונים שהמערכת יכולה לחלץ ולעצב מהן ישויות באופן אוטומטי, כמו כתובות IP, שמות דומיינים, גיבובים של קבצים ושמות משתמשים. מיפוי לשדות האלה מעשיר את ההתראה ומשפר את הקורלציה וההסתעפות.
  • שדות אירוע כלליים: השדות האלה משמשים למטא-נתונים כלליים של אירועים, כמו חותמות זמן (StartTime, EndTime), תיאורים או הודעות של אירועים ומאפיינים נפוצים אחרים של אירועים.
  • מטא-נתונים טכניים ומטא-נתונים של המכשיר: השתמשו בשדות האלה לפרטים טכניים על מקור האירוע, כמו הספק והמוצר של מכשיר הדיווח (DeviceVendor, DeviceProduct), חומרת האירוע ומאפיינים טכניים דומים אחרים.

כדי למצוא את שדה היעד המתאים ביותר לכל נתון במטען הייעודי (payload) של ה-JSON, אפשר לעיין בשדות הזמינים בכלי למיפוי נתונים בממשק המשתמש של Google Security Operations SOAR.

הסבר על סכימת ה-JSON של ה-webhook

כדי לוודא שההתראות שלכם נקלטות ומעובדות בצורה נכונה על ידי Google Security Operations SOAR, מטען ה-JSON הייעודי (payload) של ה-webhook צריך להיות במבנה מסוים. בטבלאות הבאות מפורטים השדות העיקריים שצפויים ב-payload של ה-JSON.

השדות העיקריים של אירועים והתראות

השדות האלה מייצגים את המאפיינים ברמה העליונה של ההתראה או בקשת התמיכה שנוצרו.

שדה סוג פורמט מומלץ חובה תיאור דוגמה
TicketId String UUID כן
  • מזהה ייחודי גלובלי (GUID) פנימי של פנייה בפלטפורמת SOAR.
  • הדרישה לערך ייחודי של TicketId היא מותנית ותלויה ב-DisplayId:
    • אם מספקים ערך ייחודי למאפיין DisplayId, לא צריך לספק ערך ייחודי למאפיין TicketId.
    • אם לא מציינים את DisplayId, הערך של TicketId חייב להיות ייחודי.
  • לרוב, הערך של TicketId זהה לערך של DisplayId.
"f7167971-f641-432f-a06f-ebca3caaa9dd"
SourceSystemName String טקסט כן השם של המערכת החיצונית (לדוגמה, SIEM או מערכת לזיהוי ותגובה של נקודות קצה (EDR)) ששלחה את ההתראות המקוריות ל-SOAR. "Splunk"
Name String טקסט כן הכותרת או השם של ה-Case, שלרוב נלקחים מסוג ההתראה או הסיכום של המקור. "Suspicious Login Attempt"
DeviceVendor String טקסט כן הספק של המכשיר או המוצר שיצר את ההתראה. אפשר גם למפות את הנתונים האלה מנתוני האירוע. "Palo Alto Networks"
RuleGenerator String טקסט כן השם של הכלל במערכת המקור (לדוגמה, כלל קורלציה של SIEM) שיצר את ההתראה. "Brute Force Attempt Detected"
StartTime מחרוזת או מספר שלם פרק הזמן, באלפיות השנייה (UTC) או מחרוזת בפורמט ISO8601 (לדוגמה, ‎"2026-04-09T14:30:00Z"‎) כן שעת ההתחלה של האירוע המוקדם ביותר בפנייה. אם מציינים מספר שלם, הוא צריך להיות באלפיות השנייה לפי ראשית זמן יוניקס (Unix epoch). 1670000000000 או "2026-04-09T14:30:00Z"
Environment String טקסט לא השם של סביבת ה-SOAR שאליה ההתראה הזו שייכת. היא צריכה להיות זהה לסביבה שמוגדרת בהגדרות SOAR. "Default Environment"
Description String טקסט לא תיאור קצר של המקרה או ההתראה. "Failed login followed by success from new IP"
DisplayId String מזהה ייחודי אוניברסלי (UUID) או מחרוזת לא
  • מזהה שמשמש למטרות הצגה בממשק המשתמש של SOAR.
  • השדה הזה הוא המפתח הראשי שהמערכת בודקת כדי לזהות התראות כפולות.
  • התראה נדחית כהתראה כפולה אם הערך של DisplayId לא ייחודי. בדיקת הייחודיות הזו ב-DisplayId מקבלת עדיפות על פני TicketId.
  • לרוב, הערך של DisplayId זהה לערך של TicketId.
"f7167971-f641-432f-a06f-ebca3caaa9dd"
Reason String טקסט לא הסיבה ליצירת ההתראה או להפעלתה. "Unusual file access patterns detected."
DeviceProduct String טקסט לא שם המוצר מהספק שיצר את ההתראה. אפשר גם למפות את הנתונים האלה מנתוני האירוע. "Cortex XDR"
EndTime מחרוזת או מספר שלם פרק הזמן, באלפיות השנייה (UTC) או מחרוזת בפורמט ISO8601 (לדוגמה, ‎"2026-04-09T14:30:00Z"‎) לא שעת הסיום של האירוע האחרון בפנייה. אם מציינים מספר שלם, הוא צריך להיות באלפיות השנייה לפי ראשית זמן יוניקס (Unix epoch). 1670000060000 או "2026-04-09T14:31:00Z"
Priority מספר שלם 0-100 לא רמת העדיפות של בקשת התמיכה. אם לא מציינים ערך, ברירת המחדל היא 40. ‫(0-19: מידע, 20-39: נמוך, 40-59: בינוני, 60-79: גבוה, 80-100: קריטי) 80
EventsList מערך מערך של אובייקטים מסוג JSON לא מערך שמכיל אובייקט אחד או יותר של אירועים גולמיים כפי שהתקבלו מהמקור. שליחת נתוני אירועים גולמיים [ { ... }, { ... } ]
EventProduct String טקסט לא המוצר שיצר את האירועים. "Cortex XDR"
EventName String טקסט לא הכותרת או השם של האירוע, שלרוב נלקחים מסוג ההתראה או מהסיכום של המקור. "Suspicious Login Attempt"

שליחת נתוני אירועים גולמיים – המערך EventsList

צריך לשלוח את המטען הייעודי (payload) של JSON הגולמי שמייצג את האירועים כפי שהם מגיעים ממערכת המקור במערך EventsList. האובייקט הזה הוא רכיב אחד במערך EventsList. אחר כך ממפים שדות כמו source_ip ו-timestamp באמצעות ממשק המשתמש של מיפוי הנתונים.

דוגמה לאובייקט אירוע במערך EventsList

{
  "event_id": "9a8b7c-1234-5678",
  "timestamp": "2026-07-01T07:29:50Z",
  "signature": "UserLoginFailed",
  "severity": "Medium",
  "user_name": "administrator",
  "source_ip": "192.168.1.50",
  "destination_ip": "10.0.0.10",
  "domain": "CORP",
  "status": "Failure",
  "Reason": "Wrong Password",
  "EventProduct": "Acme Firewall",
  "EventName": "Failed Login Attempt"
}

שיקולים חשובים ושיטות מומלצות

  • חותמות זמן: צריך להשתמש במילישניות של ראשית זמן יוניקס (Unix epoch) עבור כל השדות StartTime ו-EndTime ברמה העליונה (כמספר שלם). בנתוני האירועים, צריך לספק חותמות זמן כמו שהן במקור, ולהמיר אותן בממשק המשתמש של מיפוי הנתונים.
  • שדות חובה: צריך לוודא שכל השדות שמסומנים ב'כן' בעמודה 'חובה' מופיעים במטען הייעודי (payload) של ה-JSON.
  • EventsList array: המערך הזה הוא קריטי. גם אם ההתראה מייצגת אירוע יחיד, צריך להוסיף אותה למערך EventsList.
  • ממשק משתמש למיפוי נתונים: משתמשים בכלי למיפוי נתונים בממשק המשתמש של הגדרת ה-Webhook כדי למפות שדות מקובץ ה-JSON הגולמי לשדות המתאימים ב-Google Security Operations SOAR.
  • ייחודיות: הערך של DisplayId צריך להיות ייחודי לכל התראה חדשה כדי למנוע ביטול כפילויות. TicketId חייב להיות ייחודי אם לא צוין DisplayId.
  • בדיקה: משתמשים בכרטיסיות העלאת דוגמה של JSON ובדיקה בדף הגדרת Webhook ב-SOAR כדי לאמת את המיפויים ואת מבנה המטען הייעודי (payload).

בדיקת ה-webhook

בכרטיסייה בדיקה אפשר לבדוק את הפונקציונליות מקצה לקצה של ה-webhook ולראות תיאורים מפורטים של השגיאות.

  1. בכרטיסייה בדיקה, מעתיקים את כתובת ה-URL של ה-webhook.
  2. מעלים קובץ JSON עם הנתונים הרלוונטיים.
  3. לוחצים על Run. התוצאות מוצגות יחד עם הפלט.

הגדרת פלטפורמת CrowdStrike

בתרחיש השימוש הזה מוסבר איך להגדיר את ה-webhook ב-CrowdStrike כדי להתחיל להעביר התראות לפלטפורמת Google SecOps.

  1. במרכז הבקרה של CrowdStrike Falcon, עוברים אל חנות Falcon ומתקינים את התוסף Webhooks.
  2. מגדירים את ה-webhook עם השם וכתובת ה-URL של ה-webhook שהעתקתם מפלטפורמת Google SecOps, ואז לוחצים על שמירה.
  3. עוברים לקטע תהליכי עבודה.
  4. לוחצים על יצירת תהליך עבודה.
  5. בוחרים טריגר, כמו New detection (זיהוי חדש), ולוחצים על Next (הבא).
  6. בוחרים באפשרות הוספת פעולה.
  7. בקטע התאמה אישית של הפעולה, בוחרים באפשרות התראות בתפריט סוג הפעולה, ואז בוחרים באפשרות הפעלת webhook בתפריט פעולה.
  8. בוחרים את השם שהוספתם בשלב הראשון ואת כל השדות הנדרשים, ואז לוחצים על סיום.

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