איסוף יומנים של Sysdig

נתמך ב:

הכלי הזה מנתח נתוני אירועי אבטחה מיומני Sysdig בפורמט JSON, וממפה את השדות של היומן הגולמי לפורמט UDM של Google Security Operations. הוא מטפל בשדות שונים, כולל מטא-נתונים, פרטי הגורם המבצע או היעד, פרטים על תוצאות האבטחה והקשר שקשור ל-Kubernetes, ומשפר את הנתונים לצורך ניתוח ב-Google SecOps. הכלי לניתוח נתונים מבצע גם המרות של סוגי נתונים, טיפול בשגיאות ולוגיקה מותנית על סמך ערכי שדות, כדי להבטיח ייצוג מדויק ומקיף של UDM.

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

חשוב לוודא שמתקיימות דרישות הסף הבאות:

  • מופע של Google SecOps.
  • גישה עם הרשאות ל-Sysdig Secure.

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

  1. עוברים אל Google Cloud מסוף > Credentials.

    כניסה לדף Credentials

  2. לוחצים על Create credentials ואז על API key.

  3. הגבלת הגישה למפתח ה-API ל-Google Security Operations API.

אפשרות 1

הגדרת פידים

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

  1. עוברים אל SIEM Settings > Feeds.
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. בשדה Feed name (שם הפיד), מזינים שם לפיד, למשל Sysdig Logs (יומני Sysdig).
  5. בוחרים באפשרות Webhook בתור סוג המקור.
  6. בוחרים באפשרות Sysdig בתור סוג היומן.
  7. לוחצים על הבא.
  8. אופציונלי: מציינים ערכים לפרמטרים הבאים של הקלט:

    • Split delimiter: התו המפריד שמשמש להפרדה בין שורות ביומן, כמו \n.
  9. לוחצים על הבא.

  10. בודקים את הגדרות הפיד במסך סיום ולוחצים על שליחה.

  11. לוחצים על יצירת מפתח סודי כדי ליצור מפתח סודי לאימות הפיד הזה.

  12. מעתיקים את המפתח הסודי ושומרים אותו. לא תהיה לך אפשרות לראות שוב את המפתח הסודי הזה. במקרה הצורך, אפשר ליצור מחדש מפתח סודי חדש, אבל הפעולה הזו מבטלת את התוקף של המפתח הסודי הקודם.

  13. בכרטיסייה פרטים, מעתיקים את כתובת ה-URL של נקודת הקצה של הפיד מהשדה פרטי נקודת הקצה. צריך לציין את כתובת ה-URL הזו של נקודת הקצה באפליקציית הלקוח.

  14. לוחצים על סיום.

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

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

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    המלצה: כדאי לציין את מפתח ה-API ככותרת במקום לציין אותו בכתובת ה-URL.

  3. אם לקוח ה-webhook שלכם לא תומך בכותרות בהתאמה אישית, אתם יכולים לציין את מפתח ה-API ואת המפתח הסודי באמצעות פרמטרים של שאילתות בפורמט הבא:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ENDPOINT_URL: כתובת ה-URL של נקודת הקצה של הפיד.
    • API_KEY: מפתח ה-API לאימות ב-Google SecOps.
    • SECRET: המפתח הסודי שיצרתם כדי לאמת את הפיד.

הגדרת webhook ב-Sysdig

  1. נכנסים ל-Sysdig Secure עם הרשאות אדמין.
  2. עוברים אל פרופיל > הגדרות > העברת אירועים.
  3. לוחצים על +הוספת שילוב ובוחרים באפשרות Webhook מהתפריט הנפתח.
  4. מציינים ערכים לפרמטרים הבאים של הקלט:

    • שם השילוב: מציינים שם תיאורי ל-webhook (לדוגמה, Google SecOps Webhook).
    • נקודת קצה: מזינים את ה-Webhook <ENDPOINT_URL>, ואז <API_KEY ו-<SECRET>.
    • נתונים לשליחה: בתפריט הנפתח, בוחרים את סוגי הנתונים של Sysdig שרוצים להעביר.

    • בודקים את השילוב ומעבירים את המתג Enabled (מופעל) כדי להפעיל אותו.

    • לוחצים על Save.

אפשרות 2

העברת נתונים ישירות אל Google SecOps

  1. נכנסים ל-Sysdig Secure באמצעות פרטי הכניסה של האדמין.
  2. עוברים אל הגדרות > העברת אירועים.
  3. לוחצים על +הוספת שילוב ובוחרים באפשרות Google Chronicle בתפריט הנפתח.
  4. מציינים ערכים לפרמטרים הבאים של הקלט:
    • שם השילוב: מציינים שם תיאורי לשילוב (למשל, Google SecOps Integration).
    • מספר לקוח: מספר הלקוח ב-Google שמשויך ל Google Cloud חשבון שלכם. (ב-Google SecOps, אפשר למצוא את זה בהגדרות > פרופיל).
    • Namespace: אופציונלי: משמש כתג לזיהוי תחום הנתונים המתאים לאינדוקס ולהעשרה.
    • פרטי כניסה ל-JSON: מעלים את פרטי הכניסה ל-JSON של Google SecOps.
    • אזור: בוחרים את האזור, למשל ארה"ב, אירופה או אסיה.
    • נתונים לשליחה: בתפריט הנפתח, בוחרים את סוגי הנתונים של Sysdig שרוצים להעביר.
    • בודקים את השילוב ומעבירים את המתג Enabled (מופעל) כדי להפעיל אותו.
    • לוחצים על Save.

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
agentId read_only_udm.metadata.product_deployment_id הערך של agentId מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
category read_only_udm.security_result.category_details הערך של category מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.container.id read_only_udm.target.asset.asset_id הערך של content.fields.container.id מיומן הגולמי מתווסף עם התחילית container_id:‎ וממופה לשדה הזה ב-UDM. הערך הזה משמש אם containerId ריק.
content.fields.container.image.repository read_only_udm.target.file.full_path הערך של content.fields.container.image.repository מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.container.image.tag read_only_udm.metadata.ingestion_labels.value where key is tag הערך של content.fields.container.image.tag מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.evt.res read_only_udm.metadata.ingestion_labels.value where key is evt_res הערך של content.fields.evt.res מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.evt.type read_only_udm.metadata.event_type הערך של content.fields.evt.type מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.falco.rule read_only_udm.security_result.rule_name הערך של content.fields.falco.rule מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM. הערך הזה משמש אם content.ruleName ריק.
content.fields.group.gid read_only_udm.target.group.product_object_id הערך של content.fields.group.gid מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.group.name read_only_udm.target.group.group_display_name הערך של content.fields.group.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.proc.cmdline read_only_udm.target.process.command_line הערך של content.fields.proc.cmdline מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.proc.pcmdline read_only_udm.target.process.parent_process.command_line הערך של content.fields.proc.pcmdline מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.proc.pid read_only_udm.target.process.pid הערך של content.fields.proc.pid מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.proc.ppid read_only_udm.target.process.parent_process.pid הערך של content.fields.proc.ppid מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.proc.sid read_only_udm.metadata.ingestion_labels.value where key is sid הערך של content.fields.proc.sid מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.user.loginname read_only_udm.principal.user.user_display_name הערך של content.fields.user.loginname מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.fields.user.uid read_only_udm.principal.user.userid הערך של content.fields.user.uid מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.output read_only_udm.additional.fields.value.string_value where key is content_output הערך של content.output מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.policyId read_only_udm.security_result.rule_id הערך של content.policyId מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.policyOrigin read_only_udm.additional.fields.value.string_value where key is content_policyOrigin הערך של content.policyOrigin מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.policyVersion read_only_udm.additional.fields.value.string_value where key is content_policyVersion הערך של content.policyVersion מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.ruleName read_only_udm.security_result.rule_name הערך של content.ruleName מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
content.ruleTags read_only_udm.security_result.rule_labels הערכים במערך content.ruleTags מיומני הגולמיים ממופים לשדה הזה ב-UDM, והמפתחות נוצרים באופן דינמי כ-ruletag_index.
content.ruleType read_only_udm.additional.fields.value.string_value where key is content_ruleType הערך של content.ruleType מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
containerId read_only_udm.target.asset.asset_id הערך של containerId מיומן הגולמי מתווסף עם התחילית container_id:‎ וממופה לשדה הזה ב-UDM.
description read_only_udm.metadata.description הערך של description מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
id read_only_udm.metadata.product_log_id הערך של id מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.container.label.io.kubernetes.container.name read_only_udm.additional.fields.value.string_value where key is container_name הערך של labels.container.label.io.kubernetes.container.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.container.label.io.kubernetes.pod.name read_only_udm.additional.fields.value.string_value where key is pod_name הערך של labels.container.label.io.kubernetes.pod.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM. הערך הזה משמש אם labels.kubernetes.pod.name ריק.
labels.container.label.io.kubernetes.pod.namespace read_only_udm.principal.namespace הערך של labels.container.label.io.kubernetes.pod.namespace מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM. הערך הזה משמש אם labels.kubernetes.namespace.name ריק.
labels.aws.instanceId read_only_udm.target.resource.product_object_id הערך של labels.aws.instanceId מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.aws.region read_only_udm.target.resource.attribute.cloud.availability_zone הערך של labels.aws.region מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.host.hostName read_only_udm.principal.ip או read_only_udm.principal.hostname אם הערך מכיל ip, הוא מנותח ככתובת IP וממופה ל-principal.ip. אחרת, הוא ממופה ל-principal.hostname.
labels.host.mac read_only_udm.principal.mac הערך של labels.host.mac מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM. הערך הזה משמש אם machineId ריק.
labels.kubernetes.cluster.name read_only_udm.additional.fields.value.string_value where key is kubernetes_cluster_name הערך של labels.kubernetes.cluster.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.kubernetes.deployment.name read_only_udm.additional.fields.value.string_value where key is kubernetes_deployment_name הערך של labels.kubernetes.deployment.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.kubernetes.namespace.name read_only_udm.principal.namespace הערך של labels.kubernetes.namespace.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.kubernetes.node.name read_only_udm.additional.fields.value.string_value where key is kubernetes_node_name הערך של labels.kubernetes.node.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.kubernetes.pod.name read_only_udm.additional.fields.value.string_value where key is pod_name הערך של labels.kubernetes.pod.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
labels.kubernetes.service.name read_only_udm.additional.fields.value.string_value where key is kubernetes_service_name הערך של labels.kubernetes.service.name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
machineId read_only_udm.principal.mac הערך של machineId מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
name read_only_udm.security_result.summary הערך של name מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
severity read_only_udm.security_result.severity הערך של severity מיומן הרישום הגולמי ממופה לערך מחרוזת על סמך הטווחים הבאים: <4 = HIGH, >3 and <6 = MEDIUM, 6 = LOW, 7 = INFORMATIONAL.
source read_only_udm.security_result.description הערך של source מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
timestampRFC3339Nano read_only_udm.metadata.event_timestamp הערך של timestampRFC3339Nano מיומן הגולמי מנותח כחותמת זמן וממופה לשדה הזה ב-UDM.
type read_only_udm.metadata.product_event_type הערך של type מיומן הגולמי ממופה ישירות לשדה הזה ב-UDM.
(Parser Logic) read_only_udm.metadata.product_name הערך מוטמע בקוד כ-SYSDIG.
(Parser Logic) read_only_udm.metadata.vendor_name הערך מוטמע בקוד כ-SYSDIG.
(Parser Logic) read_only_udm.metadata.event_type ברירת המחדל היא PROCESS_UNCATEGORIZED, או GENERIC_EVENT אם labels.host.hostName ריק.
(Parser Logic) read_only_udm.metadata.log_type הערך מוטמע בקוד כ-SYSDIG.
(Parser Logic) read_only_udm.target.resource.resource_type אם labels.aws.instanceId קיים, הערך הוא CLOUD_PROJECT.

שנה רישום

צפייה ביומן השינויים של כלי הניתוח הזה

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