הגדרת webhook של SIEM

נתמך ב:

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

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

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

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

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

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

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

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

    מוודאים שהפקודה curl כוללת את הדגל --fail (או -f). כך מובטח שהפונקציה curl תחזיר קוד יציאה שאינו אפס אם בקשת ה-HTTP נכשלת, וקוד יציאה 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, בוחרים באפשרות הגדרות ואז לוחצים על פידים.
  2. לוחצים על הוספת חדש.
  3. בשדה שם הפיד, מזינים שם לפיד.
  4. ברשימה סוג המקור, בוחרים באפשרות Webhook.
  5. בוחרים את סוג היומן. לדוגמה, כדי ליצור פיד עבור Open Cybersecurity Schema Framework (מסגרת סכימה פתוחה לאבטחת סייבר), בוחרים באפשרות Open Cybersecurity Schema Framework (OCSF) בתור סוג היומן.
  6. לוחצים על הבא.
  7. אופציונלי: מציינים ערכים לפרמטרים הבאים של הקלט:
    • Split delimiter: התו או התווים שמשמשים להפרדה בין שורות ביומן, כמו \n.
    • מרחב השמות של הנכס: מרחב השמות של הנכס.
    • תוויות להוספה: התווית שתתווסף לאירועים מהפיד הזה.
  8. לוחצים על הבא.
  9. בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
  10. לוחצים על יצירת מפתח סודי כדי ליצור מפתח סודי לאימות הפיד הזה.
  11. חשוב להעתיק ולשמור את המפתח הסודי כי לא תהיה לך אפשרות לראות אותו שוב. אפשר ליצור מפתח סודי חדש, אבל פעולה כזו תגרום לכך שהמפתח הסודי הקודם יהיה לא רלוונטי.
  12. בכרטיסייה Details (פרטים), מעתיקים את כתובת ה-URL של נקודת הקצה של הפיד מהשדה Endpoint Information (פרטי נקודת הקצה). צריך לציין את כתובת ה-URL של נקודת הקצה הזו באפליקציית הלקוח.
  13. אופציונלי: לוחצים על המתג הפיד מופעל כדי להשבית את הפיד. הפיד מופעל כברירת מחדל.
  14. לוחצים על סיום.

יצירת מפתח API ל-Webhook Feed

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

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

  1. באפליקציית הלקוח, מציינים את נקודת הקצה מסוג 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.