הגדרת webhook של SIEM

נתמך ב:

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

  • מוודאים שמוגדר פרויקטGoogle Cloud ל-Google SecOps ושה-Chronicle API מופעל בפרויקט.
  • קישור של מכונת Google SecOps לשירותי Google Cloud .

שימוש בדוגמאות של שורת הפקודה

המסמך הזה כולל דוגמאות לפקודות curl שיעזרו לכם להגדיר ולבדוק את פיד ה-webhook. בדוגמאות האלה נעשה שימוש במשתנים של פלייסהולדרים שניתנים לעריכה. כדי להשתמש בהם ביעילות:

  1. עורכים את המשתנים: כשמבצעים את שלבי ההגדרה, מקבלים ערכים לנקודת הקצה של ה-webhook, מפתח API וסוד. לוחצים על המשתנים של ה-placeholder בקוד לדוגמה ומחליפים אותם בערכים האמיתיים:

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

  2. העתקת הפקודה: לוחצים על הסמל העתקת דוגמת הקוד בבלוק הקוד.

  3. מריצים את הפקודה: מדביקים את הפקודה שהועתקה בסביבת הטרמינל ומריצים אותה.

    מוודאים שהפקודה curl כוללת את הדגל --fail (או -f). כך, אם בקשת ה-HTTP תיכשל, הפונקציה curl תחזיר קוד יציאה שהוא לא אפס, ואם היא תצליח, הפונקציה תחזיר את קוד היציאה 0. הוא נדרש לשלב הבא.

  4. אימות ההצלחה: אם הפקודה curl בוצעה בהצלחה, לא יוחזר פלט. כדי לוודא שההגדרה בוצעה בהצלחה:

    אם הפקודה curl כללה את הדגל --fail (או -f), צריך לבדוק את קוד היציאה על ידי הרצת הפקודה הבאה מיד אחרי:

    echo $?
    

    קוד יציאה של 0 מציין הצלחה.

הגדרת פיד webhook ב-HTTPS

כדי להגדיר פיד של תגובה לפעולה מאתר אחר (webhook) ב-HTTPS:

  1. יוצרים פיד של תגובת אירוע לפעולה (webhook) מסוג HTTPS ומעתיקים את כתובת ה-URL של נקודת הקצה ואת המפתח הסודי.
  2. יוצרים מפתח API לשימוש עם כתובת ה-URL של נקודת הקצה. אתם יכולים גם להשתמש שוב במפתח ה-API הקיים כדי לבצע אימות ב-Google SecOps.
  3. מציינים את כתובת ה-URL של נקודת הקצה באפליקציה.

שליחת כמה אירועים בבקשת webhook אחת

דוגמת הקוד הבאה ממחישה איך להגדיר את הפורמט של גוף בקשה יחיד עם כמה אובייקטים של JSON שמופרדים באמצעות שורה חדשה:

curl --location 'ENDPOINT_URL' \
  --header 'Content-Type: application/json' \
  --header 'X-goog-api-key: API_KEY' \
  --header 'X-Webhook-Access-Key: SECRET' \
  --data $'{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}\n{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
  --fail

יצירת פיד של תגובה לפעולה מאתר אחר (webhook) ב-HTTPS

  1. בתפריט של Google SecOps, לוחצים על Settings > ניהול נתונים > Feeds. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
  2. לוחצים על הוספת פיד חדש.
  3. בשדה שם הפיד, מזינים שם לפיד.
  4. ברשימה Source type, בוחרים באפשרות Webhook.
  5. בוחרים את סוג היומן. לדוגמה, כדי ליצור פיד ל-Open Cybersecurity Schema Framework, בוחרים באפשרות Open Cybersecurity Schema Framework (OCSF)‎ בתור Log type.
  6. לוחצים על הבא.
  7. אופציונלי: מציינים ערכים לפרמטרים הבאים של הקלט:
    • Split delimiter: התו המשמש להפרדה בין שורות ביומן, כמו \n.
    • מרחב השמות של הנכס: מרחב השמות של הנכס.
    • תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה.
  8. לוחצים על הבא.
  9. בודקים את הגדרות הפיד החדש במסך סיום ולוחצים על שליחה.
  10. לוחצים על יצירת מפתח סודי כדי ליצור מפתח סודי לאימות הפיד הזה.
  11. מעתיקים ושומרים את המפתח הסודי, כי אי אפשר לראות אותו שוב. אתם יכולים ליצור מפתח סודי חדש, אבל המפתח הסודי הקודם יתבטל.
  12. בכרטיסייה פרטים, מעתיקים את כתובת ה-URL של נקודת הקצה של הפיד מהשדה פרטי נקודת הקצה. צריך לציין את כתובת ה-URL של נקודת הקצה הזו באפליקציית הלקוח.
  13. אופציונלי: לוחצים על המתג הפיד מופעל כדי להשבית את הפיד. הפיד מופעל כברירת מחדל.
  14. לוחצים על סיום.

יצירת מפתח API לפיד ה-Webhook

  1. נכנסים לדף Credentials במסוף Google Cloud .
  2. לוחצים על Create credentials ואז על מפתח API.
  3. מגבילים את הגישה של מפתח ה-API ל-Chronicle API.

מציינים את כתובת ה-URL של נקודת הקצה

  1. באפליקציית הלקוח, מציינים את נקודת הקצה (endpoint) ב-HTTPS שזמינה בפיד ה-webhook.
  2. כדי להפעיל את האימות, צריך לציין את מפתח ה-API ואת המפתח הסודי ככותרות בהתאמה אישית בפורמט הבא:

    X-goog-api-key: API_KEY
    X-Webhook-Access-Key: SECRET
    
    • מומלץ לציין את מפתח ה-API ככותרת במקום לציין אותו בכתובת ה-URL.

      curl --location 'ENDPOINT_URL' \
          --header 'Content-Type: application/json' \
          --header 'X-goog-api-key: API_KEY' \
          --header 'X-Webhook-Access-Key: SECRET' \
          --data '{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
          --fail
      
    • אם הלקוח של ה-webhook לא תומך בכותרות בהתאמה אישית, אפשר לציין את מפתח ה-API ואת המפתח הסודי באמצעות פרמטרים של שאילתה בפורמט הבא:

      ENDPOINT_URL?key=API_KEY&secret=>SECRET
      

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