תוספים למנתח

נתמך ב:

במאמר הזה מוסבר איך ליצור תוספים לניתוח כדי לחלץ שדות מנתוני יומן גולמיים ולמפות אותם לשדות UDM (מודל נתונים מאוחד) ביעד בפלטפורמת Google Security Operations.

במסמך מפורט תהליך היצירה של תוסף הניתוח:

יצירת תוספים לניתוח

תוספי ניתוח מספקים דרך גמישה להרחבת היכולות של מנתחי ברירת מחדל (ומנתחים מותאמים אישית) קיימים. תוספי ניתוח מספקים דרך גמישה להרחבת היכולות של מנתחי ברירת מחדל (או מנתחים מותאמים אישית) קיימים, בלי להחליף אותם. התוספים מאפשרים להתאים אישית את צינור הניתוח על ידי הוספה של לוגיקת ניתוח חדשה, חילוץ ושינוי של שדות ועדכון או הסרה של מיפויי שדות UDM.

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

תהליך החילוץ והנרמול של מנתח התוכן

‫Google SecOps מקבל נתוני יומנים מקוריים בתור יומנים גולמיים. מנתחי ברירת מחדל (ומנתחים מותאמים אישית) מחלצים ומנרמלים שדות ליבה של יומנים לשדות מובנים של UDM ברשומות UDM. הנתונים האלה מייצגים רק קבוצת משנה של נתוני היומן הגולמיים המקוריים. אפשר להגדיר תוספים של מנתח כדי לחלץ ערכי יומן שלא מטופלים על ידי מנתחים שמוגדרים כברירת מחדל. אחרי ההפעלה, תוספי הניתוח הופכים לחלק מתהליך חילוץ הנתונים והנרמול של Google SecOps.

תהליך העבודה של הטמעה ונרמול

הגדרת תוספים חדשים של מנתח

מנתחים (parsers) שמוגדרים כברירת מחדל מכילים קבוצות מוגדרות מראש של הוראות מיפוי שמציינות איך לחלץ, לשנות ולנרמל ערכי אבטחה מרכזיים. אתם יכולים ליצור תוספים חדשים של מנתחים על ידי הגדרת הוראות מיפוי באמצעות הגישה ללא קוד (מיפוי שדות נתונים) או הגישה של קטע קוד:

  • גישה ללא קוד

    הגישה ללא קוד מתאימה בעיקר לחילוצים פשוטים מיומנים גולמיים בפורמט JSON,‏ XML או CSV מקורי. הוא מאפשר לציין שדות של מקור יומן גולמי ולמפות שדות תואמים של UDM ביעד.

    לדוגמה, כדי לחלץ נתוני יומן בפורמט JSON עם עד 10 שדות, באמצעות השוואות פשוטות של שוויון.

  • גישה של קטע קוד

    הגישה של קטעי קוד מאפשרת לכם להגדיר הוראות לחילוץ ערכים מהיומן הגולמי ולהמרה שלהם, ולהקצות אותם לשדות UDM. קטעי קוד משתמשים באותו תחביר שדומה ל-Logstash כמו מנתח ברירת המחדל (או מנתח בהתאמה אישית).

    הגישה הזו רלוונטית לכל פורמטי היומנים הנתמכים. האפשרות הזו מתאימה במיוחד לתרחישים הבאים:

    • שליפת נתונים מורכבת או לוגיקה מורכבת.
    • נתונים לא מובנים שנדרשים מנתחים מבוססי-Grok.
    • פורמטים שאינם JSON, כמו CSV ו-XML.

    קטעי הקוד משתמשים בפונקציות כדי לחלץ נתונים ספציפיים מנתוני היומן הגולמיים. לדוגמה, Grok,‏ JSON,‏ KV ו-XML.

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

מיזוג של ערכים שחולצו לאחרונה לשדות ב-UDM

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

  • החלפת ערכים קיימים: הערכים שחולצו מחליפים את הערכים הקיימים בשדות היעד של UDM.

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

  • התוסף של כלי הניתוח מקבל עדיפות: הוראות מיפוי הנתונים בתוסף של כלי הניתוח מקבלות עדיפות על פני ההוראות בכלי הניתוח שמוגדר כברירת מחדל (או בכלי ניתוח בהתאמה אישית) עבור סוג היומן הזה. אם יש סתירה בהוראות המיפוי, התוסף של כלי הניתוח יחליף את הערך שהוגדר כברירת מחדל.

    לדוגמה, אם מנתח ברירת המחדל ממפה שדה יומן גולמי לשדה event.metadata.description UDM, ותוסף המנתח ממפה שדה יומן גולמי אחר לאותו שדה UDM, תוסף המנתח מחליף את הערך שהוגדר על ידי מנתח ברירת המחדל.

מגבלות

  • תוסף ניתוח אחד לכל סוג יומן: אפשר ליצור רק תוסף ניתוח אחד לכל סוג יומן.
  • רק גישה אחת להוראות מיפוי נתונים: אפשר ליצור תוסף לניתוח נתונים באמצעות גישת קטע הקוד או הגישה ללא קוד, אבל לא באמצעות שתי הגישות יחד.
  • דוגמאות של יומנים לצורך אימות: כדי לאמת תוסף של מנתח UDM, צריך דוגמאות של יומנים מ-30 הימים האחרונים. לפרטים נוספים, אפשר לעיין במאמר איך מוודאים שיש מנתח פעיל לסוג היומן.
  • שגיאות בניתוח הבסיסי: אי אפשר לזהות או לתקן שגיאות בניתוח הבסיסי בתוספי ניתוח.
  • שדות חוזרים בקטעי קוד: צריך להיזהר כשמחליפים אובייקטים חוזרים שלמים בקטעי קוד כדי למנוע אובדן נתונים לא מכוון. פרטים נוספים מופיעים במאמר מידע נוסף על הבורר של שדות חוזרים.
  • שדות חוזרים בגישה ללא קוד: בגישה הזו אפשר רק לצרף ערכים לאובייקטים חוזרים.
  • Additional.fields מתפרש כקבוצה של צמדי מפתח/ערך, ולא כשדה חוזר: לכן, אפשר לשלב בצורה חלקה בין מיפויי UDM של כלי הניתוח לבין פלט UDM של התוסף על ידי הוספת צמדי המפתח/ערך המתאימים לקבוצה.
  • אירועים שפוענחו: תוספי מנתח לא יכולים לטפל ביומנים עם כמה אירועים ייחודיים ברשומה אחת, לדוגמה, מערך Google Drive.
  • XML ופיתוח ללא קוד: מצב פיתוח ללא קוד לא נתמך ב-XML. במקום זאת, צריך להשתמש בשיטה של קטע קוד.
  • אין נתונים רטרואקטיביים: אי אפשר לנתח נתוני יומן גולמיים רטרואקטיבית.
  • מילות מפתח שמורות בגישה ללא קוד: אם היומנים מכילים מילות מפתח שמורות מהרשימה הבאה, צריך להשתמש בגישה של קטע קוד במקום בגישה ללא קוד:
    • collectionTimestamp
    • createTimestamp
    • enableCbnForLoop
    • event
    • filename
    • message
    • namespace
    • output
    • onErrorCount
    • timestamp
    • timezone
  • הסרת מיפויים קיימים: אפשר להסיר מיפויים קיימים של שדות UDM רק באמצעות קטע הקוד.
  • אי אפשר להסיר מיפוי של שדה UDM של שם מארח באמצעות תוסף: אי אפשר לבטל (להסיר) מיפוי של שדה UDM של שם מארח (לדוגמה, principal.hostname) באמצעות תוסף.

מושגים שקשורים למנתח

במסמכים הבאים מוסברים מושגים חשובים שקשורים לניתוח:

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

דרישות מוקדמות ליצירת תוסף לניתוח נתונים:

  • חייב להיות מנתח ברירת מחדל (או מנתח מותאם אישית) פעיל לסוג היומן.
  • מערכת Google SecOps צריכה להיות מסוגלת להטמיע ולנרמל את יומני הגישה הגולמיים באמצעות מנתח ברירת מחדל (או מנתח מותאם אישית).
  • צריך לוודא שהנתונים של יומן רישום גולמי מסוג היעד נקלטו על ידי מנתח ברירת המחדל (או מנתח מותאם אישית) הפעיל ב-30 הימים האחרונים. הנתונים האלה צריכים לכלול דוגמה של השדות שאתם מתכוונים לחלץ או להשתמש בהם כדי לסנן את רשומות היומן. הוא ישמש לאימות ההוראות החדשות למיפוי הנתונים.

קדימה, מתחילים

לפני שיוצרים תוסף לניתוח נתונים, צריך:

  1. בדיקה של הדרישות המוקדמות:

    מוודאים שיש מנתח פעיל לסוג היומן. אם עדיין אין לו מנתח, צריך ליצור מנתח מותאם אישית.

  2. מזהים את השדות שרוצים לחלץ מהיומנים הגולמיים:

    מזהים את השדות שרוצים לחלץ מהיומנים הגולמיים.

  3. בוחרים את השדות המתאימים ב-UDM:

    בוחרים את השדות המתאימים ב-UDM כדי למפות את השדות הגולמיים שחולצו מהיומן.

  4. בחירת גישה להגדרת תוסף לניתוח:

    בוחרים באחת משתי הגישות להרחבת הפונקציונליות (גישות למיפוי נתונים) כדי ליצור את תוסף הניתוח.

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

מוודאים שיש מנתח פעיל לסוג היומן שרוצים להרחיב, כמו שמתואר בקטעים הבאים:

מוודאים שיש מנתח פעיל לסוג היומן

מוודאים שיש מנתח פעיל של ברירת מחדל (או מנתח מותאם אישית) לסוג היומן שרוצים להרחיב.

מחפשים את סוג היומן ברשימות הבאות:

מוודאים שיש מנתח מותאם אישית לסוג היומן

כדי לוודא שיש מנתח מותאם אישית לסוג יומן:

  1. בסרגל הניווט, בוחרים באפשרות SIEM Settings (הגדרות SIEM) > Parsers (מנתחי נתונים).
  2. מחפשים בטבלה Parsers את סוג היומן שרוצים להרחיב.

מוודאים שהכלי לניתוח פעיל עבור סוג היומן

כדי לבדוק אם מנתח פעיל עבור סוג יומן מסוים, מבצעים את השלבים הבאים:

  1. בסרגל הניווט, בוחרים באפשרות SIEM Settings (הגדרות SIEM) > Parsers (מנתחי נתונים).
  2. מחפשים בטבלה Parsers את סוג היומן שרוצים להרחיב.

    אם מנתח התוכן (parser) של סוג היומן לא פעיל, מפעילים אותו:

זיהוי השדות לחילוץ מהיומנים הגולמיים

מנתחים את יומן הרישום הגולמי שממנו רוצים לחלץ נתונים כדי לזהות את השדות שלא חולצו על ידי מנתח התוכן שמוגדר כברירת מחדל (או מנתח תוכן מותאם אישית). חשוב לשים לב לאופן שבו מנתח התוכן שמוגדר כברירת מחדל (או מנתח תוכן מותאם אישית) מחלץ שדות מיומן רישום גולמי וממפה אותם לשדות התואמים ב-UDM.

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

פרטים על חיפוש ביומנים הגולמיים זמינים במאמרים הבאים:

בחירת שדות UDM מתאימים

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

בחירת שדה UDM נכון

המשאבים הבאים יכולים לעזור לפשט את התהליך:

כדאי להכיר את המושגים העיקריים של UDM

  • אובייקטים לוגיים: אירוע וישות

    סכימת ה-UDM מתארת את כל המאפיינים הזמינים שמאחסנים נתונים. כל רשומה ב-UDM מתארת אירוע או ישות. הנתונים נשמרים בשדות שונים בהתאם לסוג הרשומה: אירוע או ישות.

    • אובייקט UDM Event מאחסן נתונים על הפעולה שהתרחשה בסביבה. יומן האירועים המקורי מתאר את הפעולה כפי שהיא תועדה על ידי המכשיר, כמו חומת אש או שרת proxy לאינטרנט.
    • אובייקטים מסוג UDM Entity מאחסנים נתונים על המשתתפים או הישויות שמעורבים באירוע UDM, כמו נכסים, משתמשים או משאבים בסביבה שלכם.
  • המבנה של אירוע UDM

  • המבנה של ישות UDM

  • שמות עצם ב-UDM: שם עצם מייצג משתתף או ישות באירוע UDM. שם עצם יכול להיות, לדוגמה, המכשיר או המשתמש שמבצע את הפעילות שמתוארת באירוע. שם עצם יכול להיות גם המכשיר או המשתמש שמוגדרים כיעד של הפעילות שמתוארת באירוע.

    שם עצם ב-UDM תיאור
    principal היישות שאחראית על הפעלת הפעולה שמתוארת באירוע.
    target הישות שמקבלת את הפעולה או שהיא האובייקט של הפעולה. בחיבור של חומת אש, המכונה שמקבלת את החיבור היא היעד.
    src ישות מקור שהפעולה העיקרית מתבצעת עליה. לדוגמה, אם משתמש מעתיק קובץ ממחשב אחד למחשב אחר, הקובץ והמחשב שממנו הוא הגיע ייוצגו בתור src.
    intermediary כל ישות שמשמשת כמתווכת באירוע, כמו שרת proxy. הן יכולות להשפיע על הפעולה, כמו חסימה או שינוי של בקשה.
    observer גורם שמנטר את האירוע ומדווח עליו, אבל לא מקיים אינטראקציה ישירה עם התנועה. לדוגמה, מערכות לזיהוי פריצות לרשת או מערכות לניהול אבטחת מידע ואירועים (SIEM).
    about כל ישות אחרת שמעורבת באירוע ולא מתאימה לקטגוריות הקודמות. לדוגמה, קבצים שמצורפים לאימייל או קובצי DLL שנטענים במהלך הפעלת תהליך.

    בפועל, האובייקטים העיקריים והמטרה של שם העצם הם אלה שנמצאים בשימוש הכי תדיר. חשוב גם לציין שהתיאורים הקודמים מייצגים את השימוש המומלץ בשמות עצם. השימוש בפועל עשוי להשתנות בהתאם להטמעה של מנתח בסיס ברירת מחדל או מותאם אישית.

הסבר על מיפוי הנתונים שנעשה על ידי מנתח התוכן הקיים

מומלץ להבין את מיפוי הנתונים הקיים שבו נעשה שימוש במנתח ברירת המחדל (או במנתח בהתאמה אישית), בין שדות המקור של היומן הגולמי לבין שדות היעד שלהם ב-UDM.

כדי לראות את מיפוי הנתונים בין שדות מקור היומן הגולמי לבין שדות UDM של היעד שמשמשים במנתח ברירת המחדל (או במנתח המותאם אישית) הקיים:

  1. בסרגל הניווט, בוחרים באפשרות SIEM Settings (הגדרות SIEM) > Parsers (מנתחי נתונים).
  2. מחפשים בטבלה Parsers את סוג היומן שרוצים להרחיב.
  3. עוברים לשורה הרלוונטית ולוחצים על תפריט > תצוגה.

    בכרטיסייה Parser Code מוצג מיפוי הנתונים בין שדות המקור של היומן הגולמי לבין שדות היעד של UDM שמשמשים בניתוח ברירת המחדל הקיים (או בניתוח מותאם אישית).

שימוש בכלי UDM Lookup

אפשר להשתמש בכלי UDM Lookup כדי לזהות שדות UDM שתואמים לשדות של מקור היומן הגולמי.

‫Google SecOps מספקת את הכלי UDM Lookup כדי לעזור לכם למצוא במהירות שדות יעד של UDM. כדי לגשת לכלי UDM Lookup, עוברים אל Investigation > SIEM Search.

פרטים על השימוש בכלי UDM Lookup מופיעים בנושאים הבאים:

דוגמה לכלי UDM Lookup

לדוגמה, אם יש לכם שדה מקור ביומן הגולמי בשם packets, אתם יכולים להשתמש בכלי UDM Lookup כדי למצוא שדות יעד פוטנציאליים של UDM עם packets בשם שלהם:

  1. עוברים אל חקירה > חיפוש SIEM.

  2. בדף SIEM Search (חיפוש SIEM), מזינים packets (מנות) בשדה Look up UDM fields by value (חיפוש שדות UDM לפי ערך) ולוחצים על UDM Lookup (חיפוש UDM).

    תיבת הדו-שיח UDM Lookup תיפתח. הכלי לחיפוש מתאים לשדות UDM לפי שם השדה או לפי ערך השדה:

    • חיפוש לפי שם שדה – התאמה של מחרוזת הטקסט שהזנתם לשמות שדות שמכילים את הטקסט הזה.
    • חיפוש לפי ערך שדה – המערכת מחפשת שדות שמכילים את הערך שהזנתם בנתוני היומן המאוחסנים.
  3. בתיבת הדו-שיח UDM Lookup (חיפוש UDM), בוחרים באפשרות UDM Fields (שדות UDM).

    פונקציית החיפוש תציג רשימה של שדות UDM פוטנציאליים שמכילים את הטקסט 'packets' בשמות השדות שלהם.

  4. לוחצים על כל שורה בנפרד כדי לראות את התיאור של כל שדה ב-UDM.

שיקולים חשובים לגבי UDM כדי להימנע משגיאות

  • שדות שנראים דומים: המבנה ההיררכי של UDM יכול להוביל לשדות עם שמות דומים. הנחיות מפורטות זמינות במאמר בנושא מנתחי ברירת מחדל. לפרטים נוספים, אפשר לעיין במאמר הסבר על מיפוי הנתונים שנעשה על ידי מנתח התוכן הקיים.
  • מיפוי שרירותי של שדות: משתמשים באובייקט additional לנתונים שלא ממופים ישירות לשדה UDM. פרטים נוספים זמינים במאמר בנושא מיפוי שרירותי של שדות ל-UDM.
  • שדות חוזרים: צריך להיזהר כשעובדים עם שדות חוזרים בקטעי קוד. החלפה של אובייקט שלם עלולה לגרום לדריסת הנתונים המקוריים. שימוש בגישה ללא קוד מאפשר שליטה רבה יותר בשדות חוזרים. לפרטים נוספים, אפשר לעיין במאמר מידע נוסף על בורר השדות החוזרים.
  • שדות חובה של UDM לסוגי אירועים של UDM: כשמקצים שדה UDM‏ metadata.event_type לרשומת UDM, כל event_type מחייב קבוצה שונה של שדות קשורים שיופיעו ברשומת ה-UDM. פרטים נוספים מופיעים במאמר מידע נוסף על הקצאת שדות של UDM metadata.event_type.
  • בעיות בניתוח הבסיסי: תוספי ניתוח לא יכולים לתקן שגיאות בניתוח הבסיסי. מנתח הבסיס הוא מנתח ברירת המחדל (או מנתח מותאם אישית) שיצר את רשומת ה-UDM. כדאי לשקול אפשרויות כמו שיפור של תוסף הניתוח, שינוי של מנתח הבסיס או סינון מראש של היומנים.
מיפוי שרירותי של שדות ל-UDM

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

בחירת גישה להגדרת תוסף לניתוח

לפני שבוחרים גישה להגדרת תוסף לניתוח, צריך לעבור על החלקים הבאים:

בשלבים הבאים צריך לפתוח את הדף Parser extensions ולבחור את שיטת ההרחבה שבה רוצים להשתמש כדי להגדיר את תוסף הניתוח:

פתיחת הדף של תוספי הניתוח

בדף Parser extensions (תוספי מנתח) אפשר להגדיר את תוסף המנתח החדש.

אפשר לפתוח את הדף Parser extensions באחת מהדרכים הבאות: מתפריט ההגדרות, מחיפוש יומן גולמי או מחיפוש יומן גולמי מדור קודם:

פתיחה מתפריט ההגדרות

כדי לפתוח את הדף Parser extensions (תוספים של מנתח) מתפריט ההגדרות:

  1. בסרגל הניווט, בוחרים באפשרות SIEM Settings (הגדרות SIEM) > Parsers (מנתחי נתונים).

    בטבלה Parsers מוצגת רשימה של default parsers לפי סוג היומן.

  2. מוצאים את סוג היומן שרוצים להרחיב, לוחצים על תפריט > יצירת תוסף.

    ייפתח הדף Parser extensions.

כדי לפתוח את הדף Parser extensions מתוך Raw log search:

  1. עוברים אל חקירה > חיפוש SIEM.
  2. בשדה החיפוש, מוסיפים את הקידומת raw = לארגומנט החיפוש ומקיפים את מונח החיפוש במירכאות. לדוגמה, raw = "example.com".
  3. לוחצים על הפעלת חיפוש. התוצאות מוצגות בחלונית יומנים גולמיים.
  4. לוחצים על יומן (שורה) בחלונית יומנים גולמיים. החלונית תצוגת אירועים מוצגת.
  5. לוחצים על הכרטיסייה יומן גולמי בחלונית תצוגת אירועים. היומן הגולמי מוצג.
  6. לוחצים על ניהול כלי הניתוח > יצירת תוסף > הבא.

    ייפתח הדף Parser extensions.

כדי לפתוח את הדף Parser extensions מתוך Raw log search מדורי קודמים:

  1. אפשר להשתמש בחיפוש ביומן גולמי מדור קודם כדי לחפש רשומות דומות לאלה שינותחו.
  2. בוחרים אירוע בחלונית אירועים > ציר זמן.
  3. מרחיבים את החלונית נתוני אירועים.
  4. לוחצים על ניהול כלי הניתוח > יצירת תוסף > הבא.

    ייפתח הדף Parser extensions.

דף התוספים של כלי הניתוח

בדף מוצגות החלוניות Raw log ו-Extension definition:

  • חלונית יומן גולמי:

    מוצגים נתונים לדוגמה מיומן גולמי עבור סוג היומן שנבחר. אם פתחתם את הדף מחיפוש יומנים גולמיים, נתוני הדגימה הם התוצאה של החיפוש שלכם. אפשר לעצב את הדוגמה באמצעות התפריט View as (הצגה כ) (RAW,‏ JSON,‏ CSV,‏ XML וכו') ותיבת הסימון Wrap Text (גלישת טקסט).

    1. בודקים שהמדגם של נתוני היומן הגולמיים שמוצג מייצג את היומנים שהתוסף של מנתח הנתונים יעבד.

    2. לוחצים על Preview UDM Output כדי לראות את פלט ה-UDM עבור נתוני היומן הגולמי לדוגמה.

  • החלונית הגדרת התוסף:

    באמצעות אחת משתי הגישות להוראות מיפוי אפשר להגדיר תוסף לניתוח: מיפוי שדות נתונים (ללא קוד) או כתיבת קטע קוד. אי אפשר להשתמש בשתי הגישות באותו תוסף לניתוח.

    בהתאם לגישה שתבחרו, תוכלו לציין את השדות של נתוני יומן המקור לחילוץ מיומני הגולמיים הנכנסים ולמפות אותם לשדות UDM התואמים, או לכתוב קטע קוד לביצוע המשימות האלה ועוד.

בחירת גישת ההרחבה

בדף Parser extensions (תוספי מנתח), בחלונית Extension definition (הגדרת התוסף), בשדה Extension method (שיטת התוסף), בוחרים באחת מהגישות הבאות ליצירת תוסף מנתח:

  • גישה לשדות של נתוני המפה (ללא קוד):

    הגישה הזו מאפשרת לכם לציין את השדות ביומן הגולמי ולמפות אותם לשדות היעד ב-UDM.

    הגישה הזו פועלת עם הפורמטים הבאים של יומנים גולמיים:

    • ‫JSON מקורי, XML מקורי או CSV.
    • כותרת Syslog בתוספת JSON מקורי, XML מקורי או CSV. אפשר ליצור מיפוי של סוגי שדות נתונים ליומנים גולמיים בפורמטים הבאים: JSON,‏ XML,‏ CSV,‏ SYSLOG + JSON,‏ SYSLOG + XML ו-SYSLOG + CSV.

    אפשר לעיין בהוראות לשלבים הבאים, יצירת הוראות ללא קוד (מיפוי שדות נתונים).

  • הגישה Write code snippet:

    הגישה הזו מאפשרת להשתמש בתחביר שדומה ל-Logstash כדי לציין הוראות לחילוץ ערכים מיומן הגולמי ולהמרה שלהם, ולהקצות אותם לשדות UDM ברשומת UDM.

    • קטעי קוד משתמשים באותו תחביר ובאותם קטעים כמו מנתחים שמוגדרים כברירת מחדל (או מנתחים מותאמים אישית). מידע נוסף זמין במאמר בנושא תחביר של כלי הניתוח.

    • הגישה הזו פועלת עם כל פורמטי הנתונים הנתמכים עבור סוג היומן הזה.

    בקטע הבא מפורטות הוראות ליצירת קטע קוד.

יצירת הוראות ללא קוד (מיפוי שדות נתונים)

הגישה ללא קוד (שנקראת גם השיטה מיפוי שדות נתונים) מאפשרת לציין את הנתיבים של שדות היומן הגולמיים ולמפות אותם לשדות היעד התואמים ב-UDM.

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

השלבים הבאים להגדרת תוסף הניתוח הם:

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

הגדרת הכלי לבחירת שדות חוזרים

בחלונית הגדרת התוסף, בשדה שדות חוזרים, מגדירים איך תוסף הניתוח צריך לשמור ערך בשדות חוזרים (שדות שתומכים במערך של ערכים, לדוגמה principal.ip):

  • הוספת ערכים: הערך החדש שחולץ מתווסף לקבוצת הערכים הקיימת שמאוחסנת בשדה המערך של UDM.
  • החלפת ערכים: הערך החדש שחולץ מחליף את מערך הערכים הקיים בשדה המערך של UDM, שאוחסן קודם על ידי מנתח ברירת המחדל.

ההגדרות בבורר Repeated Fields (שדות חוזרים) לא משפיעות על שדות לא חוזרים.

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

הגדרת הוראת מיפוי נתונים לכל שדה

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

  1. אם דוגמת היומן הגולמי שמוצגת בחלונית Raw log מכילה כותרת Syslog, השדות Syslog ו-Target מוצגים. (חלק מפורמטים של יומנים לא מכילים כותרת Syslog, למשל, JSON מקורי, XML מקורי או CSV).

    צוות Google SecOps יצטרך את השדות Syslog ו-Target כדי לבצע עיבוד מקדים של כותרת ה-Syslog, כדי לחלץ את החלק המובנה של היומן.

    1. מגדירים את השדות הבאים:

      • Syslog: דפוס שמוגדר על ידי המשתמש, שמבצע עיבוד מקדים ומפריד בין כותרת Syslog לבין החלק המובנה של יומן גולמי.

        מציינים את תבנית החילוץ באמצעות Grok וביטויים רגולריים, שמזהים את הכותרת של Syslog ואת הודעת היומן הגולמית. פרטים נוספים מופיעים במאמר בנושא הגדרת השדות של כלי החילוץ של Syslog.

      • יעד: שם המשתנה בשדה Syslog שבו מאוחסן החלק המובנה של היומן.

        מציינים את שם המשתנה בתבנית החילוץ שמאחסנת את החלק המובנה של היומן.

      זו דוגמה לתבנית חילוץ ולשם משתנה עבור השדות Syslog ו-Target, בהתאמה.

      שדות של כלי לחילוץ נתונים מ-Syslog

    2. אחרי שמזינים ערכים בשדות Syslog וTarget, לוחצים על הלחצן Validate.

      תהליך האימות בודק שגיאות תחביר וניתוח, ואז מחזיר את אחת מהאפשרויות הבאות:

      • הצלחה: שדות מיפוי הנתונים מופיעים. מגדירים את השארית של תוסף הניתוח.
      • כשל: מוצגת הודעת שגיאה. צריך לתקן את השגיאה לפני שממשיכים.
  2. אפשר גם להגדיר הוראה של תנאי מוקדם.

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

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

    • שדה של תנאי מוקדם: מזהה השדה ביומן הגולמי שמכיל את הערך להשוואה. מזינים את הנתיב המלא לשדה אם פורמט נתוני היומן הוא JSON או XML, או את מיקום העמודה אם פורמט הנתונים הוא CSV.
    • Precondition Operator: בוחרים באפשרות EQUALS או NOT EQUALS.
    • ערך התנאי המוקדם: הערך הסטטי שיושווה לשדה התנאי המוקדם ביומן הגולמי.

    דוגמה נוספת להוראת תנאי מוקדם מופיעה במאמר No-code - Extract fields with precondition value.

  3. ממפים את שדה הנתונים של יומן הגולמי לשדה היעד ב-UDM:

    • שדה נתונים גולמיים: מזינים את הנתיב המלא לשדה אם פורמט נתוני היומן הוא JSON (לדוגמה: jsonPayload.connection.dest_ip) או XML (לדוגמה: /Event/Reason-Code), או את מיקום העמודה אם פורמט הנתונים הוא CSV (הערה: מיקומי האינדקס מתחילים ב-1).

    • שדה יעד: מזינים את שם השדה המוגדר במלואו ב-UDM שבו הערך יישמר, לדוגמה udm.metadata.collected_timestamp.seconds.

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

דוגמה נוספת למיפוי השדות מופיעה במאמר No-code – Extract fields.

שליחה והפעלה של תוסף הניתוח

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

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

‫Google SecOps מאמת את הוראות המיפוי:

  • אם תהליך האימות מצליח, המצב משתנה לפעיל והמערכת מתחילה לעבד את נתוני היומן הנכנסים בהתאם להוראות המיפוי.
  • אם תהליך האימות נכשל, המצב משתנה לנכשל ושגיאה מוצגת בשדה 'יומן גולמי'.

    זו דוגמה לשגיאת אימות:

      ERROR: generic::unknown: pipeline.ParseLogEntry failed: LOG_PARSING_CBN_ERROR:
      "generic::invalid_argument: pipeline failed: filter mutate (7) failed: copy failure:
      copy source field \"jsonPayload.dest_instance.region\" must not be empty
      (try using replace to provide the value before calling copy)
    
      "LOG: {"insertId":"14suym9fw9f63r","jsonPayload":{"bytes_sent":"492",
      "connection":{"dest_ip":"10.12.12.33","dest_port":32768,"protocol":6,
      "src_ip":"10.142.0.238","src_port":22},"end_time":"2023-02-13T22:38:30.490546349Z",
      "packets_sent":"15","reporter":"SRC","src_instance":{"project_id":"example-labs",
      "region":"us-east1","vm_name":"example-us-east1","zone":"us-east1-b"},
      "src_vpc":{"project_id":"example-labs","subnetwork_name":"default",
      "vpc_name":"default"},"start_time":"2023-02-13T22:38:29.024032655Z"},
      "logName":"projects/example-labs/logs/compute.googleapis.com%2Fvpc_flows",
      "receiveTimestamp":"2023-02-13T22:38:37.443315735Z","resource":{"labels":
      {"location":"us-east1-b","project_id":"example-labs",
        "subnetwork_id":"00000000000000000000","subnetwork_name":"default"},
        "type":"gce_subnetwork"},"timestamp":"2023-02-13T22:38:37.443315735Z"}
    

    מצבי מחזור החיים של תוסף ניתוח

    תוספי ניתוח נתונים כוללים את מצבי מחזור החיים הבאים:

  • DRAFT: תוסף חדש של מנתח שלא נשלח עדיין.

  • VALIDATING: Google SecOps מאמת את הוראות המיפוי מול יומנים גולמיים קיימים כדי לוודא שהשדות מנותחים ללא שגיאות.

  • LIVE: תוסף המנתח עבר אימות ועכשיו הוא נמצא בייצור. הוא מחלץ נתונים מיומנים גולמיים נכנסים ומשנה אותם לרשומות UDM.

  • FAILED: האימות של תוסף מנתח התוכן נכשל.

מידע נוסף על הכלי לבחירת שדות חוזרים

חלק מהשדות במודל UDM מאחסנים מערך של ערכים, כמו השדה principal.ip. הסלקטור Repeated fields מאפשר לכם לקבוע איך תוסף הניתוח יאחסן נתונים חדשים שחולצו בשדה חוזר:

  • צירוף ערכים:

    תוסף הניתוח יצרף את הערך החדש שחולץ למערך של הערכים הקיימים בשדה UDM.

  • החלפת ערכים:

    תוסף הניתוח יחליף את מערך הערכים הקיים בשדה UDM בערך החדש שחולץ.

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

  • אפשר למפות ערכים אל udm.principal.ip כי השדה החוזר ip נמצא ברמה הנמוכה ביותר בהיררכיה, ו-principal הוא לא שדה חוזר.
  • אי אפשר למפות ערכים ל-udm.intermediary.hostname כי intermediary הוא שדה חוזר, והוא לא ברמה הנמוכה ביותר בהיררכיה.

בטבלה הבאה מוצגות דוגמאות לאופן שבו ההגדרה של בורר Repeated Fields משפיעה על רשומת ה-UDM שנוצרת.

בחירת שדות חוזרים יומן לדוגמה הגדרת תוסף לניתוח תוצאה שנוצרה על ידי AI
הוספת ערכים {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"1.1.1.1, 2.2.2.2"}}} שדה של תנאי מוקדם: protoPayload.requestMetadata.callerIp
ערך של תנאי מוקדם: " "
אופרטור של תנאי מוקדם: NOT_EQUALS
שדה של נתונים גולמיים: protoPayload.requestMetadata.callerIp
שדה יעד: event.idm.read_only_udm.principal.ip
metadata:{event_timestamp:{}.....}principal:{Ip:"1.1.1.1, 2.2.2.2"} } }
הוספת ערכים {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2, 3.3.3.3", "name":"Akamai Ltd"}}} תנאי מוקדם 1:
שדה של תנאי מוקדם:protoPayload.requestMetadata.callerIp
ערך של תנאי מוקדם: " "
אופרטור של תנאי מוקדם: NOT_EQUALS
שדה של נתונים גולמיים: protoPayload.requestMetadata.callerIp
שדה יעד: event.idm.read_only_udm.principal.ip

תנאי מוקדם 2:
שדה נתונים גולמיים: protoPayload.requestMetadata.name
שדה יעד: event.idm.read_only_udm.metadata.product_name

אירועים שנוצרו על ידי מנתח מובנה לפני החלת התוסף.
metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

הפלט אחרי הפעלת התוסף.
timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} .... product_name: "Akamai Ltd"}principal:{ip:"1.1.1.1, 2.2.2.2, 3.3.3.3"}}}

החלפת ערכים {"protoPayload":{"@type":"type..AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2"}}} שדה של תנאי מוקדם: protoPayload.authenticationInfo.principalEmail
ערך של תנאי מוקדם: " "
אופרטור של תנאי מוקדם: NOT_EQUALS
שדה של נתונים גולמיים: protoPayload.authenticationInfo.principalEmail
שדה יעד: event.idm.read_only_udm.principal.ip
אירועי UDM שנוצרו על ידי מנתח מובנה לפני החלת התוסף.
timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

פלט UDM אחרי החלת התוסף timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ....} principal:{ip:"2.2.2.2"}}}

מידע נוסף על השדות של כלי החילוץ Syslog

השדות של כלי החילוץ Syslog מאפשרים להפריד את הכותרת של Syslog מיומן אירועים מובנה על ידי הגדרת Grok, ביטוי רגולרי וטוקן עם שם בתבנית הביטוי הרגולרי כדי לאחסן את הפלט.

הגדרת השדות של כלי החילוץ Syslog

הערכים בשדות Syslog וTarget פועלים יחד כדי להגדיר איך תוסף הניתוח מפריד בין כותרת ה-Syslog לבין החלק המובנה של יומן גולמי. בשדה Syslog, מגדירים ביטוי באמצעות שילוב של Grok ותחביר של ביטוי רגולרי. הביטוי כולל שם משתנה שמזהה את החלק המובנה של היומן הגולמי. בשדה Target, מציינים את שם המשתנה הזה.

הדוגמה הבאה ממחישה איך השדות האלה פועלים יחד.

זו דוגמה ליומן גולמי:

<13>1 2022-09-14T15:03:04+00:00 fieldname fieldname - - - {"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

היומן הגולמי מכיל את הקטעים הבאים:

  • כותרת Syslog: <13> 2022-09-14T15:03:04+00:00 fieldname fieldname - - -

  • אירוע בפורמט JSON: {"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

כדי להפריד את כותרת Syslog מחלק ה-JSON של היומן הגולמי, משתמשים בביטוי לדוגמה הבא בשדה Syslog: %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg}

  • החלק הזה של הביטוי מזהה את כותרת ה-Syslog: %{TIMESTAMP\_ISO8601} %{WORD} %{WORD} ([- ]+)?
  • החלק הזה של הביטוי מתעד את קטע ה-JSON של היומן הגולמי: %{GREEDYDATA:msg}

בדוגמה הזו, שם המשתנה הוא msg. אתם בוחרים את שם המשתנה. תוסף הניתוח מחלץ את פלח ה-JSON של היומן הגולמי ומקצה אותו למשתנה msg.

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

בדוגמה של יומן הגולמי, הפלח הבא הוא קלט להוראה של מיפוי נתונים:

{"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

באיור הבא מוצגים השדות Syslog ו-Target אחרי שמילאו אותם:

שדות של כלי לחילוץ נתונים מ-Syslog

בטבלה הבאה מופיעות דוגמאות נוספות עם יומנים לדוגמה, תבנית החילוץ של Syslog, שם משתנה היעד והתוצאה.

יומן גולמי לדוגמה שדה Syslog שדה יעד תוצאה
<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg} msg field_mappings { field: "msg" value: "{\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" }
<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\"} - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"} %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg1} ([- ]+)?%{GREEDYDATA:msg2} msg2 field_mappings { field: "msg2" value: "{\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" }
"<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\"} - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:message} ([- ]+)?%{GREEDYDATA:msg2} msg2 Error - message already exists in state and not overwritable.

מידע נוסף על הקצאת שדות של UDM metadata.event_type

כשמקצים שדה UDM‏ metadata.event_type לרשומת UDM, המערכת בודקת שהשדות הקשורים הנדרשים מופיעים ברשומת ה-UDM. כל שדה UDM‏ metadata.event_type דורש קבוצה שונה של שדות קשורים. לדוגמה, אירוע USER_LOGIN ללא user לא שימושי.

אם חסר שדה חובה קשור, האימות של UDM מחזיר שגיאה:

  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT"
  }

מנתח grok מחזיר שגיאה מפורטת יותר:

  generic::unknown:
  invalid event 0: LOG_PARSING_GENERATED_INVALID_EVENT:
  "generic::invalid_argument: udm validation failed: target field is not set"

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

לדוגמה, פותחים את המסמך ומחפשים את סוג האירוע GROUP_CREATION.

אתם אמורים לראות את השדות המינימליים הבאים של UDM, שמוצגים כאובייקט UDM:

  {
      "metadata": {
          "event_timestamp": "2023-07-03T13:01:10.957803Z",
          "event_type": "GROUP_CREATION"
      },
      "principal": {
          "user": {
              "userid": "pinguino"
          }
      },
      "target": {
          "group": {
              "group_display_name": "foobar_users"
          }
      }
  }

יצירת הוראות לקטע קוד

הגישה של קטע קוד מאפשרת להשתמש בתחביר שדומה ל-Logstash כדי להגדיר איך לחלץ ערכים מהיומן הגולמי ולהמיר אותם, ולהקצות אותם לשדות UDM ברשומת UDM.

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

השלבים הבאים להגדרת תוסף הניתוח הם:

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

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

הוראות לקטע קוד עלולות להיכשל בגלל בעיות כמו דפוסי Grok שגויים, פעולות החלפה או שינוי שם שנכשלו או שגיאות תחביר. בהמשך מפורטים טיפים ושיטות מומלצות:

יצירת הוראה של קטע קוד

ההוראות בקטע הקוד משתמשות באותו תחביר ובאותם קטעים כמו מנתח התוכן שמוגדר כברירת מחדל (או מנתח תוכן מותאם אישית):

  • חלק 1. לחלץ נתונים מהיומן הגולמי.
  • חלק 2. להפוך את הנתונים שחולצו.
  • סעיף 3. מקצים ערך אחד או יותר לשדה UDM.
  • סעיף 4. מקשרים שדות של אירועים ב-UDM למקש @output.

כדי ליצור תוסף ניתוח באמצעות הגישה של קטע קוד:

  1. בחלונית CBN Snippet בדףParser extensions, מזינים קטע קוד כדי ליצור את תוסף מנתח הנתונים.
  2. לוחצים על אימות כדי לאמת את הוראות המיפוי.

דוגמאות להוראות לקטע קוד

בדוגמה הבאה מוצג קטע קוד.

זו דוגמה ליומן הגולמי:

  {
      "insertId": "00000000",
      "jsonPayload": {
          ...section omitted for brevity...
          "packets_sent": "4",
          ...section omitted for brevity...
      },
      "timestamp": "2022-05-03T01:45:00.150614953Z"
  }

זו דוגמה לקטע קוד שממפה את הערך ב-jsonPayload.packets_sent לשדה network.sent_bytes UDM:

filter {
  mutate {
    replace => {
      "jsonPayload.packets_sent" => ""
    }
  }
  # Section 1. extract data from the raw JSON log
  json {
    source => "message"
    array_function => "split_columns"
    on_error => "_not_json"
  }
  if [_not_json] {
    drop {
      tag => "TAG_UNSUPPORTED"
    }
  } else {
    # Section 2. transform the extracted data
    if [jsonPayload][packets_sent] not in ["", 0] {
      mutate {
        convert => {
          "jsonPayload.packets_sent" => "uinteger"
        }
        on_error => "_exception1"
      }
      # Section 3. assign the value to a UDM field
      mutate {
        Replace => {
          "event.idm.read_only_udm.network.sent_bytes" => "jsonPayload.packets_sent"
        }
        on_error => "_exception2"
      }
      if ![_exception1] and![_exception2] {
        # Section 4. Bind the UDM fields to the @output key
        mutate {
          merge => {
            "@output" => "event"
          }
        }
      }
    }
  }
}

שליחת הוראה לגבי קטע קוד

  1. לוחצים על שליחה כדי לשמור את הוראות המיפוי.

  2. מערכת Google SecOps מאמתת את הוראות המיפוי.

    • אם תהליך האימות מצליח, המצב משתנה לפעיל והמערכת מתחילה לעבד את נתוני היומן הנכנסים בהתאם להוראות המיפוי.
    • אם תהליך האימות נכשל, המצב משתנה לנכשל ושגיאה מוצגת בשדה 'יומן גולמי'.

ניהול תוספים קיימים של מנתח

אתם יכולים להציג, לערוך, למחוק ולשלוט בגישה לתוספי ניתוח קיימים.

צפייה בתוסף קיים של ניתוח

  1. בסרגל הניווט, בוחרים באפשרות SIEM Settings (הגדרות SIEM) > Parsers (מנתחי נתונים).
  2. ברשימת מנתחי הנתונים, מוצאים את מנתח הנתונים (סוג היומן) שרוצים להציג. מנתחי נתונים עם תוסף מנתח נתונים מסומנים בטקסט EXTENSION לצד השם שלהם.
  3. עוברים לשורה הרלוונטית ולוחצים על תפריט > הצגת התוסף.

    מופיעה האפשרות View Custom/Prebuilt Parser (הצגת מנתח מותאם אישית/מוכן מראש) > Extension tab (כרטיסיית התוסף) עם פרטים על תוסף המנתח. חלונית הסיכום מציגה כברירת מחדל את LIVE תוסף הניתוח.

עריכה של תוסף ניתוח

  1. פותחים את View Custom/Prebuilt Parser (הצגת מנתח מותאם אישית או מובנה) > Extension tab (כרטיסיית התוסף), כמו שמתואר במאמר View an existing parser extension (הצגת תוסף מנתח קיים).

  2. לוחצים על הלחצן עריכת התוסף.

    יופיע הדף Parser extensions.

  3. עורכים את תוסף הניתוח.

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

    • כדי למחוק את תוסף הניתוח בכל שלב, לוחצים על מחיקת תוסף שנכשל.

    • כשמסיימים לערוך את תוסף הניתוח, לוחצים על שליחה.

      תהליך האימות מופעל כדי לאמת את ההגדרה החדשה.

מחיקה של תוסף ניתוח

  1. פותחים את View Custom/Prebuilt Parser (הצגת מנתח מותאם אישית או מובנה) > Extension tab (כרטיסיית התוסף), כמו שמתואר במאמר View an existing parser extension (הצגת תוסף מנתח קיים).

  2. לוחצים על הלחצן מחיקת התוסף.

שליטה בגישה לתוספי ניתוח

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

בטבלה הבאה מפורטים התפקידים החדשים ב-Google SecOps.

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

הסרה של מיפויי שדות UDM באמצעות תוספי ניתוח

אפשר להשתמש בתוספי ניתוח כדי להסיר מיפוי קיים של שדה UDM.

  1. לוחצים על SIEM Settings (הגדרות SIEM) > Parsers (מנתחי נתונים).
  2. כדי לגשת לדף Parser extension:
    • כדי להציג תוסף קיים, לוחצים על תפריט > הרחבת כלי הניתוח > הצגת התוסף.
    • כדי ליצור תוסף חדש לניתוח, לוחצים על תפריט > הרחבת כלי הניתוח > יצירת תוסף.
  3. בוחרים באפשרות כתיבת קטע קוד כשיטת ההרחבה כדי להוסיף קטע קוד מותאם אישית שמסיר ערכים משדות ספציפיים של UDM.

    כדי לערוך תוסף קיים, בחלונית Parser extension לוחצים על Edit ואז מוסיפים את קטע הקוד.

    דוגמאות לקטעי קוד מופיעות במאמר בנושא קטע קוד – הסרת מיפויים קיימים.

  4. פועלים לפי השלבים שבקטע שליחת הוראה של קטע קוד כדי לשלוח את התוסף.

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