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:
עוברים אל הגדרות > מתקדמות > API.
לוחצים על סמל הפלוס בפינה השמאלית העליונה כדי להוסיף מפתח API חדש.
מזינים את השם של מפתח ה-API ולוחצים על יצירה.
מעתיקים את מפתח ה-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.
מבצעים את השלבים הבאים במופע שבו רוצים להפעיל אימות באמצעות טוקן:
מתחברים למופע של פלטפורמת Splunk בתור משתמש אדמין או משתמש שיש לו הרשאה לנהל את הגדרות האסימונים. אי אפשר להשתמש באסימון כדי להיכנס ל-Splunk Web. צריך לספק שם משתמש וסיסמה תקינים.
אחרי שנכנסים לחשבון, בסרגל המערכת בוחרים באפשרות הגדרות > אסימונים.
לוחצים על הפעלת אימות טוקן. מופעל אימות באמצעות טוקן באופן מיידי במופע של פלטפורמת Splunk, ואין צורך להפעיל מחדש את המופע.
שימוש ב-Splunk Web ליצירת אסימוני אימות
בסרגל המערכת, לוחצים על הגדרות > טוקנים.
לוחצים על New Token (טוקן חדש).
בתיבת הדו-שיח New Token, מזינים בשדה User את המשתמש בפלטפורמת Splunk שרוצים ליצור עבורו את האסימון.
בשדה קהל, מזינים תיאור קצר של מטרת האסימון.
(אופציונלי) ברשימה Expiration (תפוגה), בוחרים באפשרות Absolute Time (זמן מוחלט) או Relative Time (זמן יחסי). הבחירה הזו קובעת מה צריך להזין בשדה הטקסט שמתחת לרשימה.
אם בחרתם באפשרות זמן מוחלט, יופיעו שני שדות טקסט מתחת לרשימה.
מזינים תאריך תקין בשדה הראשון. אפשר גם ללחוץ על השדה כדי לבחור תאריך מלוח שנה קופץ.
בשדה השני מזינים שעה תקינה בפורמט של 24 שעות.
אחרת, יופיע שדה טקסט אחד מתחת לרשימה הנפתחת.
- מזינים מחרוזת שמייצגת כמה זמן אחרי השעה הנוכחית הטוקן צריך להישאר בתוקף. לדוגמה, אם רוצים שהאסימון יפוג בעוד 10 ימים, מזינים
+10dבשדה הזה.
- מזינים מחרוזת שמייצגת כמה זמן אחרי השעה הנוכחית הטוקן צריך להישאר בתוקף. לדוגמה, אם רוצים שהאסימון יפוג בעוד 10 ימים, מזינים
(אופציונלי) ברשימה Not Before, בוחרים באפשרות Absolute Time או Relative Time.
חוזרים על השלב שבו השתמשתם כדי לשלוט בתפוגה. התאריך והשעה של 'לא לפני' לא יכולים להיות בעבר, ולא יכולים להיות מאוחרים יותר מהתאריך והשעה של 'תפוגה'.
לוחצים על יצירה. בחלון New Token (טוקן חדש), השדה Token (טוקן) מתעדכן ומוצג בו הטוקן שנוצר.
בוחרים את כל הטקסט של האסימון בשדה. בהתאם למערכת ההפעלה ולדפדפן, אפשר ללחוץ על השדה Token ואז ללחוץ שלוש פעמים, או להקיש על Ctrl-A או על Command-A במקלדת. מוודאים שבחרתם את כל הטקסט של האסימון. לא תהיה לכם הזדמנות נוספת לראות את האסימון המלא אחרי שתסגרו את החלון.
מעתיקים את הטקסט מהשדה Token (אסימון).
מדביקים את האסימון בקובץ טקסט, באימייל או בכל אמצעי תקשורת אחר ושולחים אותו לאדם שהרשיתם לו להשתמש באסימון. חשוב לוודא שאתם משתפים את האסימון רק עם מי שהרשיתם לו להשתמש בו. כל מי שיש לו את האסימון המלא יכול להשתמש בו כדי לבצע אימות.
לוחצים על Close.
משתמשים בטוקן כדי להגדיר את השילוב של Google SecOps עם Splunk.
התקנה
ראש חיפוש יחיד
מורידים את חבילת TA-Siemplify למחשב המקומי. https://splunkbase.splunk.com/app/5010/
מתקינים את האפליקציה ב-search head.
בוחרים באפשרות אפליקציה: חיפוש ודיווח. מופיעה תיבת הדו-שיח העלאת אפליקציה.
לוחצים על בחירת קובץ ובוחרים את קובץ האפליקציה.
לוחצים על Upload. מחכים עד שהקובץ יועלה.
מפעילים מחדש את Splunk.
הגדרת TA-Siemplify
ב-Splunk Enterprise, עוברים לדף Apps.
בוחרים באפשרות Siemplify.
בכרטיסייה הגדרות של תוסף, מוסיפים את הפרטים הבאים:
לשיטה מבוססת-דחיפה:
- מגדירים את Siemplify API URI ל-URI של שרת Google SecOps.
- מגדירים את המצב למצב Push.
- בשדה API Key, מזינים את ערך האסימון שנוצר בקטע API Keys.
בשיטה מבוססת-משיכה:
- מגדירים את המצב למצב משיכה.
לוחצים על Save.
הגדרת התראות
כדי לשלוח נתוני התראות ואירועים אל Google SecOps, צריך להוסיף פעולת טריגר להתראה קיימת ב-Splunk Alert.
השדות Environment (סביבה), Device Vendor (ספק המכשיר), Device Product (מוצר המכשיר) ו-Event Type (סוג האירוע) תומכים בתבניות של אירועים. תבניות של אירועים מאפשרות להגדיר באופן דינמי את השדות הספציפיים ב-Google SecOps על סמך ערכים בהתראה. כדי להשתמש בתבניות של אירועים, צריך להקיף את שם השדה בסוגריים מרובעים [ ]. האירוע הראשון בהתראה ישמש למילוי השדות האלה.
דוגמה: אם יש לכם התראה שמכילה את השדה device_vendor עם הערך Microsoft, אתם יכולים להזין [device_vendor] בפרמטר ההגדרה Device Vendor (ספק המכשיר). כשההתראה תישלח אל Google SecOps, הספק יוגדר כ-Microsoft.
ב-Splunk, עוברים אל Alerts (התראות).
ברשימה עריכה, בוחרים באפשרות עריכת ההתראה.
בקטע Trigger Actions (פעולות מופעלות), עוברים אל Add Actions > Send Alert to Siemplify (הוספת פעולות > שליחת התראה ל-Siemplify).
מגדירים את ההתראה באופן הבא:
- שם: הערך שמוגדר כאן ישפיע על השם של ההתראה.
- עדיפות: הערך שמוגדר כאן ישפיע על העדיפות של בקשת התמיכה ב-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.
כדי להפעיל אירועים גולמיים מחיפושים של טרנספורמציות, מעתיקים:
$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שומרים את הקובץ ומפעילים מחדש את Splunk כדי שההגדרות ייכנסו לתוקף.
פתרון בעיות
כדי לשנות את רמת היומן ל-DEBUG, מבצעים את השלבים הבאים:
ב-Splunk Web, בוחרים את האפליקציה.
עוברים אל הגדרות > הגדרות שרת > רישום ביומן של השרת.
בפרמטר Log level, בוחרים באפשרות DEBUG.
לוחצים על Save.
השאילתות של נתוני יומנים מ-Google SecOps TA תלויות בהטמעה של Splunk. אם התקנתם את Splunk CIM, היומנים יהיו באינדקס cim_modactions. אחרת, היומנים יהיו באינדקס _internal.
רשת
גישה לרשת לגישה ל-Splunk API מ-Google SecOps ל-Splunk: צריך לאפשר תעבורה דרך יציאה 8089.
איך פורסים את התוסף Google SecOps בסביבת אשכול
כדי ליצור שרת פריסה וראשי חיפוש, מבצעים את השלבים הבאים:
מתחברים לשרת הפריסה באמצעות SSH.
מוודאים שהקובץ
/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]מעלים את קובץ האפליקציה ומחלצים אותו בספרייה
/opt/splunk/etc/deployment-apps.יצירת משתמש ב-Splunk אם הוא לא קיים:
useradd splunkהקבוצה Create splunk group לא קיימת:
groupadd splunkמוסיפים הרשאות למשתמשים ב-Splunk לאפליקציה:
chown splunk:splunk {app path}מתחברים ל-search heads באמצעות SSH.
מוסיפים את ראשי החיפוש כלקוחות לשרת הפריסה:
/opt/splunk/bin/splunk set deploy-poll IP_ADDRESS:8089 #(deployment server ip address)מפעילים מחדש את כל ראשי החיפוש.
מתחברים לממשק המשתמש של שרת הפריסה.
עוברים אל הגדרות > סביבה מבוזרת > מנהל ההעברה.
עוברים לכרטיסייה Server Classes (סוגי שרתים) ולוחצים על New Server Class (סוג שרת חדש).
מזינים שם לסוג השרת.
מוסיפים את התוסף Google SecOps כאפליקציה ואת ראשי החיפוש כלקוחות.
מפעילים מחדש את כל ראשי החיפוש.
מוודאים שהאפליקציה מוגדרת בצורה תקינה בכל ראשי החיפוש. 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:
מנתחים את קובץ האישור של רשות האישורים למחרוזת Base64.
פותחים את דף הגדרות השילוב.
בשדה CA Certificate File (קובץ אישור CA), מזינים את המחרוזת של אישור ה-CA.
כדי לבדוק את החיבור, מסמנים את התיבה אימות 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
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההרצה של פלייבוק: הפעולה צריכה להיכשל ולהפסיק את ההפעלה של playbook: |
כללי |
Splunk Csv Viewer
תיאור
פרמטרים
| פרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| תוצאות | מחרוזת | לא רלוונטי | כן | תוצאות גולמיות. |
ריצה
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_succeed | נכון/לא נכון | is_succeed:False |
SplunkQuery
תיאור
מריצים שאילתה ב-Splunk.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מצב חיפוש | DDL | Smart ערכים אפשריים:
|
לא | מציינים את המצב להפעלת החיפוש. |
| שאילתה | String | כן | מציינים את השאילתה שצריך להריץ. דוגמה: index="_internal" | |
| מגבלת מספר התוצאות | מספר שלם | 100 | לא | מציינים כמה תוצאות להחזיר. |
| תוצאות מ- | String | -24h | לא | מציינים את שעת ההתחלה של השאילתה. ברירת מחדל: -24h |
| תוצאות עד | String | עכשיו | לא | מציינים את שעת הסיום של השאילתה. ברירת מחדל: עכשיו. |
| שדות תוצאות | CSV | לא | מציינים רשימה מופרדת בפסיקים של שדות שצריך להחזיר. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| 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 ערכים אפשריים:
|
לא | מציינים את המצב להפעלת החיפוש. |
| שאילתה | String | כן | מציינים את השאילתה שצריך להריץ בלי פסוקית ה-Where. דוגמה: index="_internal" | |
| מגבלת מספר התוצאות | מספר שלם | 100 | לא | מציינים כמה תוצאות להחזיר. הערה: הפרמטר הזה מוסיף את מילת המפתח head לשאילתה שצוינה. ברירת המחדל היא 100. |
| תוצאות מ- | String | -24h | לא | מציינים את שעת ההתחלה של השאילתה. ברירת מחדל: -24h |
| תוצאות עד | String | עכשיו | לא | מציינים את שעת הסיום של השאילתה. ברירת מחדל: עכשיו. |
| שדות תוצאות | CSV | לא רלוונטי | לא | מציינים רשימה מופרדת בפסיקים של שדות שצריך להחזיר. |
| מפתח ישות 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
- פרמטרים להגדרת Splunk Pull Connector
- פרמטרים להגדרת מחבר של Splunk ES – Notable Events
Splunk Query Connector
המחבר שולח שאילתות שהן חלק מהרשימה הדינמית (whitelist), מאחזר תוצאות ויוצר אירוע על סמך התוצאות שאוחזרו.
דוגמאות לשאילתות ב-Splunk לצפייה ביומנים
צריך להזין את השאילתות ככללים של רשימה דינמית (
whitelist).בשאילתות חיפוש עם כמה מסננים צריך להשתמש ברווח כמפריד בין מסנני החיפוש – לדוגמה,
index=cim_modactions sourcetype=modular_alerts:risk.שימוש בכמה כללים של רשימה דינמית (
whitelist) במקום להזין כמה מסנני חיפוש מופרדים ברווחים באותו כלל, גורם לביצוע חיפוש נפרד לכל כלל שנוסף.index=cim_modactionssourcetype=modular_alerts:send_data_to_siemplifyindex=_internal sourcetype=splunkdcomponent=sendmodalertaction=send_data_to_siemplifyindex=_internal source=/opt/splunk/var/log/splunk/send_data_to_siemplify_modalert.log
פרמטרים של מחברים
כדי להגדיר את המחבר, משתמשים בפרמטרים הבאים:
| פרמטרים | |
|---|---|
Product Field Name |
חובה
מזינים את שם שדה המקור כדי לאחזר את ערך ברירת המחדל הוא |
Event Field Name |
חובה
מזינים את שם שדה המקור כדי לאחזר את השם ערך ברירת המחדל הוא |
API Root |
חובה
כתובת ה-API הבסיסית של מופע Splunk. ערך ברירת המחדל הוא |
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 באמצעות לוגיקה של ביטויים רגולריים. אם תבנית הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, התוצאה הסופית של הסביבה היא סביבת ברירת המחדל. |
כללים של Connectors
המחבר תומך בשרת proxy.
Splunk Pull Connector
שליפת התראות ואירועים מ-Splunk אל Google SecOps.
פרמטרים של מחברים
כדי להגדיר את המחבר, משתמשים בפרמטרים הבאים:
| פרמטרים | |
|---|---|
Product Field Name |
חובה
מזינים את שם שדה המקור כדי לאחזר את ערך ברירת המחדל הוא |
Event Field Name |
חובה
מזינים את שם שדה המקור כדי לאחזר את השם ערך ברירת המחדל הוא |
Environment Field Name |
אופציונלי
שם השדה שבו מאוחסן שם הסביבה. אם השדה environment לא נמצא, סביבת התוצאה היא ערך ברירת המחדל הוא |
Environment Regex Pattern |
אופציונלי
תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה ערך ברירת המחדל הפרמטר מאפשר לכם לשנות את השדה environment באמצעות לוגיקה של ביטויים רגולריים. אם תבנית הביטוי הרגיל ריקה או שהערך של הסביבה הוא null, התוצאה הסופית של הסביבה היא |
PythonProcessTimeout (Seconds) |
חובה מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי. ערך ברירת המחדל הוא 60 שניות. |
Server Address |
חובה
כתובת ה-IP של שרת ה-API של Splunk. |
Port |
חובה
היציאה של מכונת Splunk. ערך ברירת המחדל הוא |
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 |
חובה
מזינים את שם שדה המקור כדי לאחזר את ערך ברירת המחדל הוא |
Event Field Name |
חובה
מזינים את שם שדה המקור כדי לאחזר את השם ערך ברירת המחדל הוא |
Environment Field Name |
אופציונלי
שם השדה שבו מאוחסן שם הסביבה. אם השדה environment לא נמצא, המערכת משתמשת בסביבת ברירת המחדל. ערך ברירת המחדל הוא |
Environment Regex Pattern |
אופציונלי
תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה ערך ברירת המחדל הפרמטר מאפשר לכם לשנות את השדה environment באמצעות לוגיקה של ביטויים רגולריים. אם תבנית הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, התוצאה הסופית של הסביבה היא סביבת ברירת המחדל. |
Script Timeout (Seconds) |
חובה מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי. ערך ברירת המחדל הוא 180 שניות. |
Server Address |
חובה
כתובת השרת של המכונה ב-Splunk. ערך ברירת המחדל הוא |
Username |
אופציונלי
שם המשתמש בחשבון Splunk. |
Password |
אופציונלי
הסיסמה של חשבון Splunk. |
API Token |
חובה
טוקן Splunk API. אם יש ערך בשדה הזה, לאסימון ה-API יש עדיפות על פני שיטות אימות אחרות. |
Lowest Urgency To Fetch |
חובה
רמת הדחיפות הכי נמוכה שמשמשת לאחזור אירועים חשובים. הערכים שאפשר לבחור הם:
ערך ברירת המחדל הוא |
Fetch Max Hours Backwards |
אופציונלי
מספר השעות שממנו יאוחזרו אירועים חשובים. ערך ברירת המחדל הוא שעה אחת. |
Only Drilldown 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 על סמך האירוע הבולט. אם הפרמטר הזה מוגדר ל- מופעל כברירת מחדל. |
Multivalue Fields |
אופציונלי
רשימה מופרדת בפסיקים של שדות שמכילים כמה ישויות. לדוגמה, אם שדה מכיל שני שמות מארחים, האירוע הבולט מפוצל לשני אירועים ב-Google SecOps כדי למפות את הישויות בצורה נכונה. |
Notable Event Data Along Base Event |
אופציונלי
אם האפשרות הזו מופעלת, המחבר מוסיף אירועים של Google SecOps על סמך האירוע הבולט בנוסף לאירועים בסיסיים. ההגדרה מושבתת כברירת מחדל. |
Rule Generator Field Name |
אופציונלי
השם של השדה שמשמש למיפוי הערך של מחולל הכללים. רק
מידע על האירוע המשמעותי עצמו משמש למיפוי, והמערכת מתעלמת מאירועים. אם מספקים ערך לא תקין, המחבר מגדיר את השדה לערך |
Alert Name Source |
אופציונלי
מקור השם של ההתראה. הערכים שאפשר לבחור הם:
ערך ברירת המחדל הוא |
איך משתמשים בפרמטר 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.