Splunk

במסמך הזה מוסבר איך לשלב את Splunk עם Google SecOps.

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

השיטה הראשונה נקראת מבוססת-משיכה. כדי להשתמש בשיטה הזו ולהעביר אירועים ל-Google SecOps, צריך להגדיר את Splunk Pull Connector, ששולף אירועים מאפליקציית Splunk. השיטה הזו לא דורשת הגדרה נוספת באפליקציית Splunk.

השיטה השנייה נקראת מבוססת-דחיפה. באמצעות השיטה הזו, אפליקציית Splunk מבצעת קריאות ל-Google SecOps API כדי להוסיף אירוע חדש. כדי להשתמש בשיטה הזו, צריך ליצור מפתח Google SecOps API ולהוסיף Google SecOps URI בהגדרות של האפליקציה.

כדי ליצור מפתח API:

  1. עוברים אל הגדרות > מתקדמות > API.

  2. לוחצים על סמל הפלוס בפינה השמאלית העליונה כדי להוסיף מפתח API חדש.

  3. מזינים את השם של מפתח ה-API ולוחצים על יצירה.

  4. מעתיקים את מפתח ה-API.

איך מגדירים את Splunk לעבודה עם Google SecOps

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

כדי להפעיל אימות באמצעות טוקן, צריך לעמוד בדרישות הבאות:

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

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

הפעלה של אימות טוקן באמצעות Splunk Web

כשאימות הטוקן מושבת, ההודעה הבאה מוצגת בדף Tokens ב-Splunk Web:

Token authentication is currently disabled > To enable token authentication, click Enable Token Authentication.

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

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

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

  3. לוחצים על הפעלת אימות טוקן. מופעל אימות באמצעות טוקן באופן מיידי במופע של פלטפורמת Splunk, ואין צורך להפעיל מחדש את המופע.

שימוש ב-Splunk Web ליצירת אסימוני אימות

  1. בסרגל המערכת, לוחצים על הגדרות > טוקנים.

  2. לוחצים על New Token (טוקן חדש).

  3. בתיבת הדו-שיח New Token, מזינים בשדה User את המשתמש בפלטפורמת Splunk שרוצים ליצור עבורו את האסימון.

  4. בשדה קהל, מזינים תיאור קצר של מטרת האסימון.

  5. (אופציונלי) ברשימה Expiration (תפוגה), בוחרים באפשרות Absolute Time (זמן מוחלט) או Relative Time (זמן יחסי). הבחירה הזו קובעת מה צריך להזין בשדה הטקסט שמתחת לרשימה.

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

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

      2. בשדה השני מזינים שעה תקינה בפורמט של 24 שעות.

    • אחרת, יופיע שדה טקסט אחד מתחת לרשימה הנפתחת.

      1. מזינים מחרוזת שמייצגת כמה זמן אחרי השעה הנוכחית הטוקן צריך להישאר בתוקף. לדוגמה, אם רוצים שהאסימון יפוג בעוד 10 ימים, מזינים +10d בשדה הזה.
  6. (אופציונלי) ברשימה Not Before, בוחרים באפשרות Absolute Time או Relative Time.

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

  7. לוחצים על יצירה. בחלון New Token (טוקן חדש), השדה Token (טוקן) מתעדכן ומוצג בו הטוקן שנוצר.

  8. בוחרים את כל הטקסט של האסימון בשדה. בהתאם למערכת ההפעלה ולדפדפן, אפשר ללחוץ על השדה Token ואז ללחוץ שלוש פעמים, או להקיש על Ctrl-A או על Command-A במקלדת. מוודאים שבחרתם את כל הטקסט של האסימון. לא תהיה לכם הזדמנות נוספת לראות את האסימון המלא אחרי שתסגרו את החלון.

  9. מעתיקים את הטקסט מהשדה Token (אסימון).

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

  11. לוחצים על Close.

  12. משתמשים בטוקן כדי להגדיר את השילוב של Google SecOps עם Splunk.

התקנה

ראש חיפוש יחיד

  1. מורידים את חבילת TA-Siemplify למחשב המקומי. https://splunkbase.splunk.com/app/5010/

  2. מתקינים את האפליקציה ב-search head.

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

  3. לוחצים על בחירת קובץ ובוחרים את קובץ האפליקציה.

  4. לוחצים על Upload. מחכים עד שהקובץ יועלה.

  5. מפעילים מחדש את Splunk.

הגדרת TA-Siemplify

  1. ב-Splunk Enterprise, עוברים לדף Apps.

  2. בוחרים באפשרות Siemplify.

  3. בכרטיסייה הגדרות של תוסף, מוסיפים את הפרטים הבאים:

    לשיטה מבוססת-דחיפה:

    • מגדירים את Siemplify API URI ל-URI של שרת Google SecOps.
    • מגדירים את המצב למצב Push.
    • בשדה API Key, מזינים את ערך האסימון שנוצר בקטע API Keys.

    בשיטה מבוססת-משיכה:

    • מגדירים את המצב למצב משיכה.
  4. לוחצים על Save.

הגדרת התראות

כדי לשלוח נתוני התראות ואירועים אל Google SecOps, צריך להוסיף פעולת טריגר להתראה קיימת ב-Splunk Alert.

השדות Environment (סביבה), Device Vendor (ספק המכשיר), Device Product (מוצר המכשיר) ו-Event Type (סוג האירוע) תומכים בתבניות של אירועים. תבניות של אירועים מאפשרות להגדיר באופן דינמי את השדות הספציפיים ב-Google SecOps על סמך ערכים בהתראה. כדי להשתמש בתבניות של אירועים, צריך להקיף את שם השדה בסוגריים מרובעים [ ]. האירוע הראשון בהתראה ישמש למילוי השדות האלה.

דוגמה: אם יש לכם התראה שמכילה את השדה device_vendor עם הערך Microsoft, אתם יכולים להזין [device_vendor] בפרמטר ההגדרה Device Vendor (ספק המכשיר). כשההתראה תישלח אל Google SecOps, הספק יוגדר כ-Microsoft.

  1. ב-Splunk, עוברים אל Alerts (התראות).

  2. ברשימה עריכה, בוחרים באפשרות עריכת ההתראה.

  3. בקטע Trigger Actions (פעולות מופעלות), עוברים אל Add Actions > Send Alert to Siemplify (הוספת פעולות > שליחת התראה ל-Siemplify).

  4. מגדירים את ההתראה באופן הבא:

    • שם: הערך שמוגדר כאן ישפיע על השם של ההתראה.
    • עדיפות: הערך שמוגדר כאן ישפיע על העדיפות של בקשת התמיכה ב-Google SecOps.
    • קטגוריה: משמשת להגדרת המשפחה החזותית.
    • סביבה: מיפוי לסביבה ב-Google SecOps. אפשר להשאיר את השדה ריק כדי לא להגדיר סביבה. יש תמיכה בשימוש בסוגריים מרובעים בתבניות.
    • ספק המכשיר: משמש להגדרת הספק של המערכת ששולחת את האירוע אל Google SecOps. אם ההתראות נוצרו על ידי Microsoft Sysmon, צריך להשתמש ב-Microsoft או בערך מתוך ההתראה או האירוע באמצעות תבניות.
    • מוצר המכשיר: משמש להגדרת המוצר של המערכת ששולחת את האירוע אל Google SecOps. אם ההתראות נוצרו על ידי Microsoft Sysmon, הערך הזה צריך להיות Sysmon או ערך מתוך alert/event באמצעות תבניות.
    • סוג האירוע: משמש להגדרת סוג האירוע בקטע Google SecOps Event Configuration (הגדרת אירועים ב-Google SecOps). אם ההתראה חיפשה תהליכים זדוניים, סוג האירוע צריך להיות משהו כמו Process Found או ערך מתוך ההתראה או האירוע באמצעות תבניות.
    • שדה זמן: משמש להגדרת StartTime ו-EndTime של Google SecOps Case. אם לא מסופק ערך, המערכת תבדוק את השדה _indextime. אם היא לא תמצא את _indextime, היא תשתמש בזמן שבו נוצרה ההתראה. לא ניתן להשתמש בתבניות.
    • הרחבת שדות עם כמה ערכים: אם מגדירים את האפשרות הזו ל-1, המערכת תאתר שדות עם כמה ערכים ותיצור שדות נוספים למיפוי כל ערך בשדה עם כמה ערכים. לדוגמה, אם שדה מרובה ערכים, src_hosts, מכיל את הערך: Server1, Server2, Server3. המערכת תיצור שדות חדשים: src_hosts_0: Server1, src_hosts_1: Server2, src_hosts_2: Server3. האפשרות הזו נתמכת רק אם האפשרות 'ייבוא כל נתוני האירועים' מושבתת.
    • העברת נתונים של כל האירועים: ההגדרה הזו תנסה להעביר את האירועים הגולמיים שמרכיבים התראה שמכילה פקודת שינוי (תרשים, תרשים זמן, נתונים סטטיסטיים, אירועים מובילים, אירועים נדירים, אירועים חריגים, הדגשה). כדי לתמוך בשינוי הזה, צריך לשנות את Splunk Search Head.
  5. כדי להפעיל אירועים גולמיים מחיפושים של טרנספורמציות, מעתיקים: $SPLUNK_HOME/etc/apps/TA-siemplify/default/savedsearches.conf אל $SPLUNK_HOME/etc/apps/TA-siemplify/local/savedsearches.conf עריכה: $SPLUNK_HOME/etc/apps/TA-siemplify/local/savedsearches.conf ביטול הערה: #dispatch.buckets =1

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

פתרון בעיות

כדי לשנות את רמת היומן ל-DEBUG, מבצעים את השלבים הבאים:

  1. ב-Splunk Web, בוחרים את האפליקציה.

  2. עוברים אל הגדרות > הגדרות שרת > רישום ביומן של השרת.

  3. בפרמטר Log level, בוחרים באפשרות DEBUG.

  4. לוחצים על Save.

השאילתות של נתוני יומנים מ-Google SecOps TA תלויות בהטמעה של Splunk. אם התקנתם את Splunk CIM, היומנים יהיו באינדקס cim_modactions. אחרת, היומנים יהיו באינדקס _internal.

רשת

גישה לרשת לגישה ל-Splunk API מ-Google SecOps ל-Splunk: צריך לאפשר תעבורה דרך יציאה 8089.

איך פורסים את התוסף Google SecOps בסביבת אשכול

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

  1. מתחברים לשרת הפריסה באמצעות SSH.

  2. מוודאים שהקובץ /opt/splunk/etc/system/local/serverclass.conf קיים. אם לא, מריצים את הפקודה:

    vi /opt/splunk/etc/system/local/serverclass.conf

    דוגמה להגדרה:

    [global] # whitelist matches all clients.
    [serverClass:AllApps] [serverClass:AllApps:app:*] [serverClass:
    Google Security OperationsAPP]
    
  3. מעלים את קובץ האפליקציה ומחלצים אותו בספרייה /opt/splunk/etc/deployment-apps.

  4. יצירת משתמש ב-Splunk אם הוא לא קיים:

    useradd splunk

  5. הקבוצה Create splunk group לא קיימת:

    groupadd splunk

  6. מוסיפים הרשאות למשתמשים ב-Splunk לאפליקציה:

    chown splunk:splunk {app path}

  7. מתחברים ל-search heads באמצעות SSH.

  8. מוסיפים את ראשי החיפוש כלקוחות לשרת הפריסה:

    /opt/splunk/bin/splunk set deploy-poll IP_ADDRESS:8089 #(deployment server ip address)

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

  10. מתחברים לממשק המשתמש של שרת הפריסה.

  11. עוברים אל הגדרות > סביבה מבוזרת > מנהל ההעברה.

  12. עוברים לכרטיסייה Server Classes (סוגי שרתים) ולוחצים על New Server Class (סוג שרת חדש).

  13. מזינים שם לסוג השרת.

  14. מוסיפים את התוסף Google SecOps כאפליקציה ואת ראשי החיפוש כלקוחות.

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

  16. מוודאים שהאפליקציה מוגדרת בצורה תקינה בכל ראשי החיפוש. ‫Splunk לא מסנכרן את האפליקציות באשכול באופן עקבי.

בעיות ידועות

אם השגיאה int() argument must be a string, a bytes-like object or a number, not 'NoneType'. Please double check spelling and also verify that a compatible version of Splunk_SA_CIM is installed מופיעה ביומנים, צריך לוודא שלפרמטרים של שורש ה-API ומפתח ה-API בהגדרה יש ערך, גם אם אתם עובדים עם מצב Pull.

הגדרת שילוב של Splunk ב-Google SecOps

השילוב עם Splunk מאפשר לאמת את החיבור באמצעות קובץ אישור CA. זו שיטת אימות חיבור נוספת.

כדי להשתמש בשיטה הזו, צריך לעמוד בדרישות הבאות:*

  • קובץ אישור CA
  • גרסה 26.0 ואילך של שילוב Splunk

מגדירים את השילוב ב-Google SecOps:

  1. מנתחים את קובץ האישור של רשות האישורים למחרוזת Base64.

  2. פותחים את דף הגדרות השילוב.

  3. בשדה CA Certificate File (קובץ אישור CA), מזינים את המחרוזת של אישור ה-CA.

  4. כדי לבדוק את החיבור, מסמנים את התיבה אימות SSL ולוחצים על בדיקה.

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

פרמטרים של שילוב

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

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם המכונה String לא רלוונטי לא שם המופע שרוצים להגדיר עבורו שילוב.
תיאור String לא רלוונטי לא תיאור המופע.
כתובת השרת String ‫{SCHEMA}://{IP}:{PORT} כן הכתובת של שרת Splunk.
שם משתמש String לא רלוונטי לא כתובת האימייל של המשתמש שבה צריך להשתמש כדי להתחבר ל-Splunk.
סיסמה סיסמה לא רלוונטי לא הסיסמה של המשתמש המתאים.
טוקן API סיסמה לא רלוונטי לא טוקן Splunk API. אם השדה הזה לא ריק, לאסימון API יש עדיפות על פני שיטות אימות אחרות.
אימות SSL תיבת סימון התיבה לא מסומנת לא מסמנים את תיבת הסימון הזו אם החיבור שלכם ל-Splunk דורש אימות SSL (התיבה לא מסומנת כברירת מחדל).
קובץ אישור CA String לא רלוונטי לא קובץ אישור CA בקידוד Base64.
הרצה מרחוק תיבת סימון התיבה לא מסומנת לא מסמנים את התיבה כדי להריץ את השילוב שהוגדר מרחוק. אחרי שמסמנים את התיבה, מופיעה האפשרות לבחור את המשתמש (הסוכן) מרחוק.

פעולות

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

תיאור

קבלת אירועים שקשורים למארחים ב-Splunk.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
הגבלה על מספר האירועים לכל מארח מספר שלם 100 כן מציינים כמה אירועים להחזיר לכל מארח.
תוצאות מ- String ‫‎-24h כן מציינים את שעת ההתחלה של האירועים.
תוצאות אל String עכשיו כן מציינים את שעת הסיום של האירועים.
שדות תוצאות CSV לא רלוונטי לא מציינים רשימה מופרדת בפסיקים של שדות שצריך להחזיר.
אינדקס String לא רלוונטי לא מציינים באיזה אינדקס צריך להשתמש כשמחפשים אירועים שקשורים למארח. אם לא מציינים אינדקס, הפעולה לא תשתמש באינדקס.
מפתח מארח String מארח לא מציינים באיזה מפתח להשתמש כדי לקבל מידע על אירועים של מארחים. ברירת מחדל: host.

ריצה

הפעולה הזו מופעלת בישות Hostname (שם מארח).

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
הפעולה בוצעה נכון/לא נכון success:False
תוצאת JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
Case Wall
סוג התוצאה ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם הפעולה הצליחה ויש תוצאות: 'Successfully returned events for the following hosts in Splunk: \n {0}'.format(entity.identifier)

אם הפקודה הצליחה וחלק מהתוצאות לא זמינות: "No events were found for the following hosts in Splunk:\n {0}".format(entity.identifier)

אם הפקודה הצליחה אבל התוצאות לא זמינות לכולם: "לא נמצאו אירועים למארחים שצוינו ב-Splunk"

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "Error executing action "Get Host Events". Reason: {0}''.format(error.Stacktrace)

אם השגיאה היא 400: "Error executing action "Get Host Events". הסיבה: {0}''.format(messages/text)

כללי
Case Wall Table

שם: אירועים של {Entity.identifier}

עמודות: על סמך התוצאות.

פינג

תיאור

בודקים את הקישוריות ל-Splunk באמצעות הפרמטרים שמופיעים בדף הגדרת השילוב בכרטיסייה Google Security Operations Marketplace.

פרמטרים

לא רלוונטי

ריצה

הפעולה הזו לא מופעלת על ישויות, ואין לה פרמטרים של קלט חובה.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
Case Wall
סוג התוצאה ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההרצה של פלייבוק:
אם הפעולה הצליחה: "החיבור לשרת Splunk הצליח עם פרמטרי החיבור שסופקו"

הפעולה צריכה להיכשל ולהפסיק את ההפעלה של playbook:
אם הפעולה לא מצליחה: 'החיבור לשרת Splunk נכשל! השגיאה היא {0}".format(exception.stacktrace)

כללי

Splunk Csv Viewer

תיאור

פרמטרים

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

ריצה

הפעולה הזו מופעלת על כל הישויות.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_succeed נכון/לא נכון is_succeed:False

SplunkQuery

תיאור

מריצים שאילתה ב-Splunk.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
מצב חיפוש DDL

Smart

ערכים אפשריים:

  • רישום מפורט (verbose)
  • Smart
  • זריז

לא מציינים את המצב להפעלת החיפוש.
שאילתה String כן מציינים את השאילתה שצריך להריץ. דוגמה: index="_internal"
מגבלת מספר התוצאות מספר שלם 100 לא

מציינים כמה תוצאות להחזיר.
הערה: הפרמטר הזה מוסיף את מילת המפתח 'head' לשאילתה שצוינה. ברירת המחדל היא 100.

תוצאות מ- String ‫‎-24h לא מציינים את שעת ההתחלה של השאילתה. ברירת מחדל: ‎-24h
תוצאות עד String עכשיו לא מציינים את שעת הסיום של השאילתה. ברירת מחדל: עכשיו.
שדות תוצאות CSV לא

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

ריצה

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_succeed נכון/לא נכון is_succeed:False
תוצאת JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
Case Wall
סוג התוצאות ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם הפעולה הצליחה ויש תוצאות: 'Successfully returned results for the query "{0}" in Splunk'.format(query)

אם הפעולה הצליחה אבל אין תוצאות: "לא נמצאו תוצאות לשאילתה {0} ב-Splunk".format(query)

הודעה אסינכרונית: "Waiting for query {0} to finish execution.".format(query name)

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה SplunkQuery". הסיבה: {0}''.format(error.Stacktrace)

אם השגיאה היא 400: "Error executing action "SplunkQuery". הסיבה: {0}''.format(messages/text)

כללי
Case Wall Table

שם: Splunk Query Results

עמודות – על סמך התוצאות.

כללי

שליחת אירוע

תיאור

שליחת אירוע ל-Splunk.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
אינדקס String ראשי כן מציינים את האינדקס שבו צריך ליצור את האירוע.
אירוע String לא רלוונטי כן מציינים את האירוע הגולמי שצריך לשלוח.
מארח String לא רלוונטי לא מציינים את המארח שקשור לאירוע.
מקור String לא רלוונטי לא מציינים את מקור האירוע. לדוגמה: www.
Sourcetype String לא רלוונטי לא מציינים את סוג המקור של האירוע. דוגמה: web_event

ריצה

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
הפעולה בוצעה נכון/לא נכון success:False
תוצאת JSON
{
    "index": "default",
    "bytes": 70,
    "host": "dogo",
    "source": "www",
    "sourcetype": "web_event"
}
Case Wall
סוג התוצאות ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם הפעולה הצליחה: "Successfully added a new event to index "{0}" in Splunk.".format(index)

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "Error executing action "Submit Event". Reason: {0}''.format(error.Stacktrace)

אם השגיאה היא 400: "Error executing action "Submit Event". הסיבה: {0}''.format(messages/text)

כללי

עדכון אירועים חשובים

תיאור

עדכון אירועים בולטים ב-Splunk ES.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
מזהי אירועים בולטים CSV לא רלוונטי כן מציינים מזהים של אירועים חשובים. דוגמה: 1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7@@notable@@cb87390ae72763679d3f6f8f097ebe2b,1D234D5B-1531-2D2B-BB94-41C439BE12B7@@notable@@cb87390ae72763679d3f6f8f097ebe2b
סטטוס DDL

יש לבחור טווח

ערכים אפשריים:

יש לבחור טווח

לא הוקצה

חדש

בתהליך

בהמתנה

הסתיים

סגור

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

יש לבחור טווח

ערכים אפשריים:

יש לבחור טווח

קריטית

גבוהה

בינוני

נמוכה

לצורך מידע

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

ריצה

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
Case Wall
סוג התוצאה ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם הפעולה הצליחה והנתונים זמינים (is_success=true)

print "Successfully updated {0} notable events in Splunk.".format(count(notable_events))

אם העדכון נכשל (status_code=400, is_success=false):

print "Action wasn't able to update notable events. Reason:{0}".format(string_from_response)

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

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

print "Error executing action "Update Notable Events". הסיבה: {0}''.format(error.Stacktrace)

כללי

ביצוע שאילתת ישות

תיאור

מריצים שאילתת ישות ב-Splunk.

איך עובדים עם פרמטרים של פעולות?

הפעולה הזו מאפשרת לאחזר בקלות מידע שקשור לישויות. לדוגמה, אפשר לפתור את תרחיש השימוש שבו רוצים לראות את מספר האירועים של נקודות הקצה שהושפעו מהגיבובים שסופקו, בלי לבנות שאילתה מסובכת. כדי לפתור את הבעיה הזו ב-Splunk, צריך להכין את השאילתה הבאה: index="main" | where (device_ip="10.0.0.1" or device_ip="10.12.12.12") and (hash="bad_hash_1" or hash="bad_hash_2") כדי ליצור את אותה שאילתה באמצעות הפעולה Execute Entity Query (הפעלת שאילתת ישות), צריך למלא את פרמטרי הפעולה באופן הבא:

שאילתה index="main"
מפתח ישות IP device_ip
מפתח ישות של גיבוב (hash) קובץ hash
מפעיל חוצה ישויות וגם

אפשר להשאיר את כל שאר השדות ריקים.

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

שאילתה index="main"
מפתח ישות של גיבוב (hash) קובץ hash

האופרטור Cross Entity לא ישפיע במקרה הזה, כי הוא משפיע רק על השאילתה, כשמספקים כמה Entity Keys.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
מצב חיפוש DDL

Smart

ערכים אפשריים:

  • רישום מפורט (verbose)
  • Smart
  • זריז

לא מציינים את המצב להפעלת החיפוש.
שאילתה String כן מציינים את השאילתה שצריך להריץ בלי פסוקית ה-Where. דוגמה: index="_internal"
מגבלת מספר התוצאות מספר שלם 100 לא מציינים כמה תוצאות להחזיר. הערה: הפרמטר הזה מוסיף את מילת המפתח head לשאילתה שצוינה. ברירת המחדל היא 100.
תוצאות מ- String ‫‎-24h לא מציינים את שעת ההתחלה של השאילתה. ברירת מחדל: ‎-24h
תוצאות עד String עכשיו לא מציינים את שעת הסיום של השאילתה. ברירת מחדל: עכשיו.
שדות תוצאות CSV לא רלוונטי לא

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

מפתח ישות IP String לא רלוונטי לא מציינים באיזה מפתח צריך להשתמש עם ישויות של כתובות IP. פרטים נוספים זמינים במסמכי התיעוד של הפעולה.
מפתח הישות של שם המארח String לא רלוונטי לא מציינים באיזה מפתח צריך להשתמש עם ישויות של שמות מארחים, כשמכינים את ה- פרטים נוספים מופיעים במסמכי העזרה של הפעולה.
מפתח ישות של גיבוב (hash) קובץ String לא רלוונטי לא מציינים באיזה מפתח צריך להשתמש עם ישויות של גיבוב קבצים. פרטים נוספים מופיעים במסמכי העזרה של הפעולה.
מפתח ישות המשתמש String לא רלוונטי לא מציינים באיזה מפתח צריך להשתמש עם ישויות משתמש. פרטים נוספים מופיעים במסמכי העזרה של הפעולה.
מפתח ישות של כתובת URL String לא רלוונטי לא מציינים באיזה מפתח צריך להשתמש עם ישויות של כתובות URL. פרטים נוספים מופיעים במסמכי העזרה של הפעולה.
מפתח הישות של כתובת האימייל String לא רלוונטי לא מציינים באיזה מפתח להשתמש עם ישויות של כתובות אימייל. פרטים נוספים מופיעים במסמכי העזרה של הפעולה.
הפסקה אם אין מספיק ישויות תיבת סימון סימן אישור כן אם האפשרות הזו מופעלת, הפעולה לא תתחיל להתבצע אלא אם כל סוגי הישויות זמינים עבור '.. מפתחות ישות' שצוינו. לדוגמה: אם צוינו 'מפתח ישות של כתובת IP' ו'מפתח ישות של גיבוב קובץ', אבל בהיקף אין גיבובי קבצים, הפעולה לא תבצע את השאילתה אם הפרמטר הזה מופעל.
מפעיל חוצה ישויות DDL

או

ערכים אפשריים:

או

וגם

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

ריצה

הפעולה הזו מופעלת בישויות הבאות:

  • כתובת IP
  • מארח
  • משתמש
  • גיבוב (hash)
  • כתובת URL

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_succeed נכון/לא נכון is_succeed:False
תוצאת JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
Case Wall
סוג התוצאות ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם הפעולה הצליחה ויש תוצאות: 'Successfully returned results for the query "{0}" in Splunk'.format(query)

אם הפעולה הצליחה אבל אין תוצאות: "לא נמצאו תוצאות לשאילתה {0} ב-Splunk".format(query)

הודעה אסינכרונית: "Waiting for query {0} to finish execution.".format(query name)

אם האפשרות 'הפסקה אם אין מספיק ישויות' מופעלת ואין מספיק סוגי ישויות זמינים עבור 'מפתחות הישות' שצוינו (is_success=false): הפעולה לא הצליחה ליצור את השאילתה, כי לא סופקו מספיק סוגי ישויות עבור 'מפתחות הישות' שצוינו. צריך להשבית את הפרמטר 'הפסקה אם אין מספיק ישויות' או לספק לפחות ישות אחת לכל 'מפתח ישות' שצוין.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'הפעלת שאילתת ישות'. הסיבה: {0}''.format(error.Stacktrace)

אם השגיאה היא 400: "הייתה שגיאה בביצוע הפעולה 'ביצוע שאילתת ישות'. הסיבה: {0}''.format(messages/text)

כללי
Case Wall Table

שם: Splunk Query Results

עמודות: על סמך התוצאות.

כללי

מחברים

הוראות מפורטות להגדרת מחבר ב-Google SecOps מופיעות במאמר בנושא הגדרת המחבר.

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

Splunk Query Connector

המחבר שולח שאילתות שהן חלק מהרשימה הדינמית (whitelist), מאחזר תוצאות ויוצר אירוע על סמך התוצאות שאוחזרו.

דוגמאות לשאילתות ב-Splunk לצפייה ביומנים

  1. צריך להזין את השאילתות ככללים של רשימה דינמית (whitelist).

  2. בשאילתות חיפוש עם כמה מסננים צריך להשתמש ברווח כמפריד בין מסנני החיפוש – לדוגמה, index=cim_modactions sourcetype=modular_alerts:risk.

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

    • index=cim_modactions
    • sourcetype=modular_alerts:send_data_to_siemplify
    • index=_internal sourcetype=splunkd
    • component=sendmodalert
    • action=send_data_to_siemplify
    • index=_internal source=/opt/splunk/var/log/splunk/send_data_to_siemplify_modalert.log

פרמטרים של מחברים

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

פרמטרים
Product Field Name חובה

מזינים את שם שדה המקור כדי לאחזר את Product Field השם.

ערך ברירת המחדל הוא device_product.

Event Field Name חובה

מזינים את שם שדה המקור כדי לאחזר את השם Event Field.

ערך ברירת המחדל הוא app.

API Root חובה

כתובת ה-API הבסיסית של מופע Splunk.

ערך ברירת המחדל הוא https://IP:8089.

Username חובה

שם המשתמש בחשבון Splunk.

Password חובה

הסיסמה של חשבון Splunk.

API Token אופציונלי

טוקן Splunk API.

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

Verify SSL חובה

אם מסומנת, המערכת בודקת שאישור ה-SSL של החיבור לשרת CrowdStrike תקף.

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

Environment Field Name אופציונלי

שם השדה שבו מאוחסן שם הסביבה.

Rule Generator Field חובה

השם של השדה שמשמש למיפוי הערך של מחולל הכללים.

Alert Name Field Name חובה

שם ההתראה.

Events Count Limit Per Query אופציונלי

המספר המקסימלי של אירועים לאחזור לכל שאילתה.

Max Day Backwards אופציונלי

מספר הימים שממנו יאוחזרו האירועים.

Aggregate Events Query אופציונלי

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

ההגדרה מושבתת כברירת מחדל.

PythonProcessTimeout (Seconds) חובה

מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי.

ערך ברירת המחדל הוא 60 שניות.

Proxy Server Address אופציונלי

הכתובת של שרת ה-Proxy שבו רוצים להשתמש.

Proxy Username אופציונלי

שם המשתמש של ה-proxy לאימות.

Proxy Password אופציונלי

סיסמת ה-proxy לאימות.

Environment Regex Pattern אופציונלי

תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה Environment Field Name.

ערך ברירת המחדל .* תופס את כל הערכים ומחזיר את הערך ללא שינוי.

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

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

כללים של Connectors

המחבר תומך בשרת proxy.

Splunk Pull Connector

שליפת התראות ואירועים מ-Splunk אל Google SecOps.

פרמטרים של מחברים

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

פרמטרים
Product Field Name חובה

מזינים את שם שדה המקור כדי לאחזר את Product Field השם.

ערך ברירת המחדל הוא device_product.

Event Field Name חובה

מזינים את שם שדה המקור כדי לאחזר את השם Event Field.

ערך ברירת המחדל הוא name.

Environment Field Name אופציונלי

שם השדה שבו מאוחסן שם הסביבה.

אם השדה environment לא נמצא, סביבת התוצאה היא "" .

ערך ברירת המחדל הוא "".

Environment Regex Pattern אופציונלי

תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה Environment Field Name.

ערך ברירת המחדל .* תופס את כל הערכים ומחזיר את הערך ללא שינוי.

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

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

PythonProcessTimeout (Seconds) חובה

מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי.

ערך ברירת המחדל הוא 60 שניות.

Server Address חובה

כתובת ה-IP של שרת ה-API של Splunk.

Port חובה

היציאה של מכונת Splunk.

ערך ברירת המחדל הוא 8089.

Username חובה

שם המשתמש בחשבון Splunk.

Password חובה

הסיסמה של חשבון Splunk.

Time Frame אופציונלי

מסגרת הזמן לאחזור ההתראות.

ערך ברירת המחדל הוא שעה אחת.

דוגמאות:

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

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

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

Alerts Count Limit אופציונלי

מספר ההתראות שמוחזרות על ידי המחבר לכל איטרציה.

ערך ברירת המחדל הוא 100.

Use SSL אופציונלי

מסמנים את התיבה כדי להפעיל את חיבור ה-SSL או ה-TLS.

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

Proxy Server Address אופציונלי

הכתובת של שרת ה-Proxy שבו רוצים להשתמש.

Proxy Username אופציונלי

שם המשתמש של ה-proxy לאימות.

Proxy Password אופציונלי

סיסמת ה-proxy לאימות.

כללים של Connectors

המחבר תומך בשרת proxy.

Splunk ES - Notable Events Connector

הטמעה של אירועים בולטים מ-Splunk ES.

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

העדיפות של הפנייה מוגדרת על ידי הפרמטר Urgency באירוע הבולט. רק הפרמטר הזה נלקח בחשבון כשמייבאים את האירוע הבולט אל Google SecOps.

פרמטרים של מחברים

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

פרמטרים
Product Field Name חובה

מזינים את שם שדה המקור כדי לאחזר את Product Field השם.

ערך ברירת המחדל הוא Product Name.

Event Field Name חובה

מזינים את שם שדה המקור כדי לאחזר את השם Event Field.

ערך ברירת המחדל הוא index.

Environment Field Name אופציונלי

שם השדה שבו מאוחסן שם הסביבה.

אם השדה environment לא נמצא, המערכת משתמשת בסביבת ברירת המחדל.

ערך ברירת המחדל הוא "".

Environment Regex Pattern אופציונלי

תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה Environment Field Name.

ערך ברירת המחדל .* תופס את כל הערכים ומחזיר את הערך ללא שינוי.

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

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

Script Timeout (Seconds) חובה

מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי.

ערך ברירת המחדל הוא 180 שניות.

Server Address חובה

כתובת השרת של המכונה ב-Splunk.

ערך ברירת המחדל הוא https://:8089.

Username אופציונלי

שם המשתמש בחשבון Splunk.

Password אופציונלי

הסיסמה של חשבון Splunk.

API Token חובה

טוקן Splunk API.

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

Lowest Urgency To Fetch חובה

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

הערכים שאפשר לבחור הם:

  • Informational
  • Low
  • Medium
  • High
  • Critical

ערך ברירת המחדל הוא Medium.

Fetch Max Hours Backwards אופציונלי

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

ערך ברירת המחדל הוא שעה אחת.

Only Drilldown Events אופציונלי

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

ההגדרה מושבתת כברירת מחדל.

Padding Time אופציונלי

כמות השעות שתשמש כהפרש.

אם לא מספקים ערך, הפרמטר הזה לא רלוונטי.

הערך המקסימלי הוא 12 שעות.

Max Notable Events To Fetch אופציונלי

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

ערך ברירת המחדל הוא 10.

Use whitelist as a blacklist חובה

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

ההגדרה מושבתת כברירת מחדל.

Verify SSL חובה

אם מסומנת, המערכת בודקת שאישור ה-SSL של החיבור לשרת CrowdStrike תקף.

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

Proxy Server Address אופציונלי

הכתובת של שרת ה-Proxy שבו רוצים להשתמש.

Proxy Username אופציונלי

שם המשתמש של ה-proxy לאימות.

Proxy Password אופציונלי

סיסמת ה-proxy לאימות.

Query Filter אופציונלי

מסנן שאילתות נוסף שנשלח אל Splunk כדי לקבל אירועים בולטים.

הערך שמסופק כאן מצורף לסעיף השאילתה WHERE.

Extract Base Events אופציונלי

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

אם הפרמטר הזה מוגדר ל-True אבל המחבר לא יכול לעבוד עם משימות, המחבר משתמש במידע על אירועים חשובים כמנגנון חלופי.

מופעל כברירת מחדל.

Multivalue Fields אופציונלי

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

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

Notable Event Data Along Base Event אופציונלי

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

ההגדרה מושבתת כברירת מחדל.

Rule Generator Field Name אופציונלי

השם של השדה שמשמש למיפוי הערך של מחולל הכללים.

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

Alert Name Source אופציונלי

מקור השם של ההתראה.

הערכים שאפשר לבחור הם:

  • Search Name
  • Rule Name

ערך ברירת המחדל הוא Search Name.

איך משתמשים בפרמטר Query Filter

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

דוגמה לשאילתה שנשלחה:

(`get_notable_index` OR `get_sequenced_index`) | eval `get_event_id_meval`,
rule_id=event_id | tags outputfield=tag | `mvappend_field(tag,orig_tag)` |
`notable_xref_lookup` | `get_correlations` | `get_current_status` | `get_owner`
| `get_urgency` | typer | where (urgency="medium" AND urgency="low") AND
(status_label="Unassigned" OR status_label="New")  | tail 50 | fields *

לדוגמה, אם Query Filter = isTesting = True, השאילתה תופיע כך:

search (`get_notable_index` OR `get_sequenced_index`) | eval epoch=_time | eval
`get_event_id_meval`,rule_id=event_id | tags outputfield=tag |
`mvappend_field(tag,orig_tag)` | `notable_xref_lookup` | `get_correlations` |
`get_current_status` | `get_owner` | `get_urgency` | typer | where
(urgency!="informational" AND urgency!="low" **AND isTesting = "True"**) |
fields *

כללים של Connectors

המחבר של Splunk ES משתמש ברשימת היתרים דינמית וברשימת חסימה (whitelist ו-blacklist). המחבר משתמש בשדה search_name מהאירוע כדי להשוות אותו לרשימת ההיתרים הדינמית.

אירוע של מתקן טעינה

[{
    "indicator": "2012/06/29_21:50", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-578a9be5-0e03-4ec0-940d-4b1842f40fd0", 
    "date_last": "2020-07-15 08:12:07 AM",
"Url": "indicator"
  },{
    "indicator": "2010/12/19_16:35", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-52cadd07-330a-45fd-962f-32e22d36a89a", 
    "date_last": "2020-07-15 08:12:07 AM"
  }]

תעסוקה

סנכרון אירועים סגורים ב-Splunk ES

תיאור

סנכרון של אירועים בולטים סגורים ב-Splunk ES והתראות ב-Google SecOps.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
כתובת השרת String https://IP:8089 כן כתובת השרת של המכונה ב-Splunk.
שם משתמש String לא רלוונטי לא שם המשתמש בחשבון Splunk.
סיסמה סיסמה לא רלוונטי לא הסיסמה של חשבון Splunk.
טוקן API סיסמה לא רלוונטי כן טוקן Splunk API. אם השדה הזה לא ריק, לאסימון API יש עדיפות על פני שיטות אימות אחרות.
מספר השעות המקסימלי אחורה מספר שלם 24 כן מציינים כמה שעות אחורה לסנכרון הסטטוסים. ברירת מחדל: 24 שעות.
אימות SSL תיבת סימון סימן אישור כן אם ההגדרה הזו מופעלת, המערכת מאמתת שאישור ה-SSL של החיבור לשרת Splunk תקף.

סנכרון של הערות ב-Splunk ES

תיאור

העבודה הזו תסנכרן תגובות באירועים של Splunk ES ובבקשות תמיכה של Google SecOps.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
כתובת השרת String https://IP:8089 כן כתובת השרת של המכונה ב-Splunk.
שם משתמש String לא רלוונטי לא שם המשתמש בחשבון Splunk.
סיסמה סיסמה לא רלוונטי לא הסיסמה של חשבון Splunk.
טוקן API סיסמה לא רלוונטי כן טוקן Splunk API. אם השדה הזה לא ריק, לאסימון API יש עדיפות על פני שיטות אימות אחרות.
אימות SSL תיבת סימון סימן אישור כן אם ההגדרה הזו מופעלת, המערכת מאמתת שאישור ה-SSL של החיבור לשרת Splunk תקף.

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