Elasticsearch
במסמך הזה מוסבר איך לשלב את Elasticsearch עם Google Security Operations.
גישה ל-Elasticsearch
ל-Google Security Operations יש גישה ל-Elasticsearch דרך RESTful API ביציאת TCP 9200 כברירת מחדל. לשרת Google SecOps תהיה גישה לצמתי Elasticsearch הרלוונטיים ב-TCP 9200 (ברירת מחדל) או ביציאה חלופית אם לא נעשה שימוש ביציאת ברירת המחדל במהלך הפריסה של Elasticsearch.
הגדרת שילוב של Elasticsearch ב-Google SecOps
הוראות מפורטות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.
הגדרת שילוב של Elasticsearch עם אישור CA
במקרה הצורך, אפשר לאמת את החיבור באמצעות קובץ אישור CA.
לפני שמתחילים, חשוב לוודא שיש לכם:
- קובץ אישור ה-CA
- הגרסה האחרונה של השילוב עם Elasticsearch
כדי להגדיר את השילוב עם אישור CA, מבצעים את השלבים הבאים:
- מנתחים את קובץ אישור ה-CA למחרוזת Base64.
- פותחים את הדף של פרמטרים להגדרת השילוב.
- מוסיפים את המחרוזת בשדה קובץ אישור CA.
- כדי לבדוק שהשילוב הוגדר בהצלחה, מסמנים את התיבה Verify SSL ולוחצים על Test.
פרמטרים של שילוב
משתמשים בפרמטרים הבאים כדי להגדיר את השילוב:
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם המכונה | String | לא רלוונטי | לא | שם המופע שרוצים להגדיר עבורו שילוב. |
| תיאור | String | לא רלוונטי | לא | תיאור המופע. |
| כתובת השרת | Sring | x.x.x.x | כן | כתובת ה-IP של שרת Elasticsearch. |
| שם משתמש | String | לא רלוונטי | כן | כתובת האימייל של המשתמש שבה צריך להשתמש כדי להתחבר ל-Elasticsearch. |
| סיסמה | סיסמה | לא רלוונטי | כן | הסיסמה של המשתמש המתאים. |
| אמת | תיבת סימון | התיבה לא מסומנת | לא | לא רלוונטי |
| אימות SSL | תיבת סימון | התיבה לא מסומנת | לא | מסמנים את תיבת הסימון הזו אם החיבור ל-Elasticsearch דורש אימות SSL. |
| הרצה מרחוק | תיבת סימון | התיבה לא מסומנת | לא | מסמנים את התיבה כדי להריץ את השילוב שהוגדר מרחוק. אחרי שמסמנים את התיבה, מופיעה האפשרות לבחור את המשתמש (הסוכן) מרחוק. |
פעולות
חיפוש מתקדם ב-ES
תיאור
בדיקת Elasticsearch מוכנה מראש ומחזירה מילון מילים.
פרמטרים
| פרמטרים | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| אינדקס | String | * | לא | דפוס חיפוש לאינדקס Elasticsearch. ב-Elasticsearch, אינדקס הוא כמו DatabaseName, והנתונים מאוחסנים בכמה אינדקסים.הפרמטר הזה מגדיר באילו אינדקסים לחפש. הוא יכול להיות שם מדויק, למשל: smp_playbooks-2019.06.13, או שאפשר להשתמש בתו כללי כדי לחפש לפי תבנית. למשל: smp_playbooks-2019.06 או smp. מידע נוסף על אינדקסים של Elasticsearch זמין בכתובת https://www.elastic.co/blog/what-is-an-elasticsearch-index |
| שאילתה | String | * | לא | שאילתת החיפוש שרוצים לבצע. היא בתחביר Lucene. IE1: "*" (זהו תו כללי שיחזיר את כל הרשומה) IE2: "level:error" IE3: "level:information" IE4: "level:error OR level:warning" מידע נוסף על התחביר של Lucene זמין בכתובות https://www.elastic.co/guide/en/kibana/current/lucene-query.html#lucene-query\r\nhttps://www.elastic.co/guide/en/elasticsearch/reference/7.1/query-dsl-query-string-query.html#query-string-syntax |
| הגבלה | String | 100 | לא | מגביל את מספר המסמכים שמוחזרים, למשל: 10. 0 = אין הגבלה. |
| שדה לתצוגה | String | * | לא | מגביל את השדות שמוחזרים. ברירת מחדל '*' = החזרת כל השדות. אפשר לציין שדה יחיד. למשל: 'רמה' |
| שדה חיפוש | String | _all | לא | שדה חיפוש לשאילתות טקסט חופשי (כשהשאילתה לא מציינת שם שדה). ברירת המחדל היא '_all', כלומר המערכת מחפשת בכל השדות. מומלץ להשתמש בתחביר Lucene מתאים בשדות '_all', או בחיפוש טקסטואלי בשדה ספציפי. דוגמה 1: שדה החיפוש = "_all". שאילתה = "level:error". השאילתה תחזיר את כל הרשומות שבהן השדה 'level' שווה ל-'error'. Ie2: שדה החיפוש = 'הודעה', שאילתה = 'התראה על כניסה'. השאילתה תחזיר את כל הרשומות שבהן השדה 'הודעה' מכיל את הטקסט 'התראה על כניסה' |
| שדה חותמת הזמן | String | @timestamp | לא | שם השדה שעל פיו יתבצע סינון לפי זמן. ברירת המחדל היא @timestamp. אם השדות 'התאריך המוקדם ביותר' ו'התאריך הכי ישן' ריקים, לא יתבצע סינון לפי זמן. |
| התאריך הכי ישן | String | now-1d | לא | תאריך ההתחלה של החיפוש. בחיפוש יוחזרו רק רשומות שנוצרו בנקודת הזמן הזו או אחריה. הקלט יכול להיות בפורמט UTC מדויק: פורמט: YYYY-MM-DDTHH:MM:SSZ למשל: 2019-06-04T10:00:00Z אפשר להזין גם ערך יחסי (באמצעות חישוב תאריכים): tie: "now", "now-1d", "now-1d/d", "now-2h/h" מידע נוסף על חישוב תאריכים זמין בכתובת https://www.elastic.co/guide/en/elasticsearch/reference/7.1/common-options.html#date-math |
| התאריך המוקדם ביותר | String | עכשיו | לא | תאריך הסיום של החיפוש. בחיפוש יוחזרו רק רשומות ששווות לנקודת הזמן הזו או שקדמו לה. הקלט יכול להיות בפורמט UTC מדויק: פורמט: YYYY-MM-DDTHH:MM:SSZ למשל: 2019-06-04T10:00:00Z אפשר להזין את התאריך גם בפורמט יחסי (באמצעות חישוב תאריכים): לדוגמה: now, now-1d, now-1d/d, now-2h/h מידע נוסף על חישוב תאריכים זמין בכתובת https://www.elastic.co/guide/en/elasticsearch/reference/7.1/common-options.html#date-math |
ריצה
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| תוצאות | לא רלוונטי | לא רלוונטי |
חיפוש DSL
תיאור
הפעולה הזו מחפשת בכל מה שיש ב-Elasticsearch ומחזירה תוצאות בפורמט של מילון. הפעולה הזו תומכת רק בשאילתות ללא טווח זמן. אם רוצים להשתמש בטווח זמן בשאילתה, צריך להשתמש בפעולה Advanced ES Search.
פרמטרים
| פרמטרים | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| אינדקס | String | * | לא | דפוס חיפוש לאינדקס Elasticsearch. ב-Elasticsearch, אינדקס הוא כמו DatabaseName, והנתונים מאוחסנים באינדקסים שונים. הפרמטר הזה מגדיר באילו אינדקסים לחפש. אפשר להזין שם מדויק, למשל: 'smp_playbooks-2019.06.13', או להשתמש בתו כללי () כדי לחפש לפי תבנית. למשל: 'smp_playbooks-2019.06' או 'smp*'. מידע נוסף על אינדקסים של Elasticsearch זמין בכתובת https://www.elastic.co/blog/what-is-an-elasticsearch-index |
| שאילתה | String | * | לא | שאילתת החיפוש שרוצים לבצע. היא בתחביר Lucene. IE1: * (זהו תו כללי לחיפוש שיחזיר את כל הרשומה) IE2: \"level:error\" IE3: \"level:information\" IE4: \"level:error OR level:warning\" מידע נוסף על התחביר של Lucene זמין בכתובות https://www.elastic.co/guide/en/kibana/current/lucene-query.html#lucene-query\r\nhttps://www.elastic.co/guide/en/elasticsearch/reference/7.1/query-dsl-query-string-query.html#query-string-syntax |
| הגבלה | String | 100 | לא | NoLimits מגביל את מספר המסמכים שמוחזרים, למשל: 10. 0 = ללא הגבלה |
ריצה
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| תוצאות | לא רלוונטי | לא רלוונטי |
תוצאת JSON
[
{
"_score": 0.2876821,
"_type": "person",
"_id": "2",
"_source": {
"lastname": "Smith",
"name": "John",
"job_description": "Systems administrator"
},
"_index": "accounts"
}, {
"_score": 0.28582606,
"_type": "person",
"_id": "1",
"_source":
{
"lastname": "Doe",
"name": "John",
"job_description": "Systems administrator and Linux specialist"
},
"_index": "accounts"
}
]
פינג
תיאור.
הבדיקה מאמתת את הקישוריות לשרת Elasticsearch.
פרמטרים
לא רלוונטי
ריצה
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
חיפוש פשוט ב-ES
תיאור
הפעולה מחפשת בכל מה שיש ב-Elasticsearch ומחזירה תוצאות בפורמט של מילון.
פרמטרים
| פרמטרים | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| אינדקס | String | * | לא | דפוס חיפוש לאינדקס Elasticsearch. ב-Elasticsearch, אינדקס הוא כמו DatabaseName, והנתונים מאוחסנים באינדקסים שונים. הפרמטר הזה מגדיר באילו אינדקסים לחפש. הוא יכול להיות שם מדויק, למשל: 'smp_playbooks-2019.06.13', או שאפשר להשתמש בתו כללי () כדי לחפש לפי תבנית. למשל: 'smp_playbooks-2019.06' או 'smp*'. מידע נוסף על אינדקסים של Elasticsearch זמין בכתובת https://www.elastic.co/blog/what-is-an-elasticsearch-index |
| שאילתה | String | * | לא | שאילתת החיפוש שרוצים לבצע. היא בתחביר Lucene. IE1: * (זהו תו כללי לחיפוש שיחזיר את כל הרשומה) IE2: \"level:error\" IE3: \"level:information\" IE4: \"level:error OR level:warning\" מידע נוסף על התחביר של Lucene זמין בכתובות https://www.elastic.co/guide/en/kibana/current/lucene-query.html#lucene-query\r\nhttps://www.elastic.co/guide/en/elasticsearch/reference/7.1/query-dsl-query-string-query.html#query-string-syntax |
| הגבלה | String | 100 | לא | מגביל את מספר המסמכים שמוחזרים, למשל: 10. 0 = אין הגבלה. |
ריצה
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| תוצאות | לא רלוונטי | לא רלוונטי |
תוצאת JSON
[{
"_score": 0.2876821,
"_type": "person",
"_id": "2",
"_source":
{
"lastname": "Smith",
"name": "John",
"job_description": "Systems administrator"
},
"_index": "accounts"
},
{
"_score": 0.28582606,
"_type": "person",
"_id": "1",
"_source":
{
"lastname": "Doe",
"name": "John",
"job_description": "Systems administrator and Linux specialist"
},
"_index": "accounts"
}
]
מחברים
הגדרת מחברים של Elasticsearch ב-Google SecOps
הוראות מפורטות להגדרת מחבר ב-Google SecOps מופיעות במאמר בנושא הגדרת המחבר.
כדי להגדיר את המחבר שנבחר, משתמשים בפרמטרים הספציפיים למחבר שמפורטים בטבלאות הבאות:
Elasticsearch Connector
תיאור
במאמר הזה נסביר איך Google SecOps משלב את Elasticsearch עם המנגנון וההגדרה להטמעה ולעיבוד.
העברת התראות מ-Elasticsearch אל Google SecOps
Google SecOps יחפש באינדקסים שצוינו של Elasticsearch באמצעות שאילתה שסופקה (בשימוש בתחביר של שאילתת Lucene), ויחזיר מסמכי Elasticsearch שיתורגמו ויוצגו כ'התראות' בהקשר של מקרים.
פרמטרים של מחברים
משתמשים בפרמטרים הבאים כדי להגדיר את המחבר:
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| סביבת ברירת מחדל | String | לא רלוונטי | לא | בוחרים את הסביבה הנדרשת. לדוגמה, 'לקוח מספר אחד'. |
| תדירות ההרצה | מספר שלם | 0:0:0:10 | לא | בוחרים את משך הזמן שבו החיבור יפעל. לדוגמה, 'כל יום'. |
| שם שדה המוצר | String | device_product | כן | שם השדה שמשמש לקביעת מוצר המכשיר. דוגמה: _type. |
| שם השדה של האירוע | String | name | כן | שם השדה שמשמש לקביעת שם האירוע (סוג משנה). דוגמה: _source_match_event_id. |
| זמן קצוב לסקריפט (בשניות) | String | 60 | כן | מגבלת הזמן הקצוב לתפוגה (בשניות) לתהליך Python שמריץ את הסקריפט הנוכחי. |
| כתובת השרת | String | לא רלוונטי | כן | כתובת שרת Elasticsearch, לדוגמה: http://{ip_address}:{port} |
| שם משתמש | String | לא רלוונטי | כן | שם המשתמש ב-Elasticsearch. |
| סיסמה | סיסמה | לא רלוונטי | כן | סיסמת Elasticsearch. |
| אמת | תיבת סימון | התיבה לא מסומנת | כן | האם לבצע אימות בחיבור או לא. |
| אימות SSL | תיבת סימון | התיבה לא מסומנת | לא | האם להשתמש ב-SSL בחיבור או לא. |
| שדה שם ההתראה | String | לא רלוונטי | כן | שם השדה שבו נמצא שם ההתראה (נתיב שדה שטוח). דוגמה: _source_alert_info_alert |
| שדה חותמת הזמן | String | לא רלוונטי | כן | שם השדה שבו נמצאת חותמת הזמן (נתיב שדה שטוח). דוגמה: source@timestamp |
| שדה סביבה | String | לא רלוונטי | לא | שם השדה שבו נמצאת הסביבה (נתיב שטוח של השדה). לדוגמה: _source_environment |
| מדדים | String | לא רלוונטי | לא | דפוס האינדקס לחיפוש. דוגמה: '*' |
| שאילתה | String | לא רלוונטי | לא | שאילתת דפוס החיפושים (תחביר שאילתות של Lucene). לדוגמה: '*' |
| מגבלת מספר ההתראות | מספר שלם | 20 | כן | המספר המקסימלי של התראות שאפשר לשלוף במחזור אחד. דוגמה: 20 |
| מספר הימים המקסימלי אחורה | מספר שלם | 1 | כן | מספר הימים המקסימלי שחלף מאז שהתקבלו ההתראות. דוגמה: 3. |
| שם שדה החומרה | String | לא רלוונטי | לא | אם רוצים למפות את רמת החומרה על סמך ערך המחרוזת, צריך ליצור קובץ מיפוי. פרטים נוספים מופיעים בפורטל התיעוד. |
| כתובת שרת ה-Proxy | String | לא רלוונטי | לא | הכתובת של שרת ה-Proxy שבו רוצים להשתמש. |
| שם משתמש של שרת proxy | String | לא רלוונטי | לא | שם המשתמש ב-proxy לאימות. |
| סיסמת שרת Proxy | סיסמה | לא רלוונטי | לא | סיסמת ה-proxy לאימות. |
| תבנית ביטוי רגולרי (regex) של סביבה | String | .* | לא | תבנית regex להפעלה על הערך שנמצא בשדה 'שם שדה הסביבה'. ברירת המחדל היא .* כדי לתפוס את כל הערכים ולהחזיר את הערך ללא שינוי. משמש כדי לאפשר למשתמש לשנות את שדה הסביבה באמצעות לוגיקה של ביטוי רגולרי אם תבנית הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, התוצאה הסופית של הסביבה היא ''. |
| קובץ אישור CA | String | לא רלוונטי | לא | קובץ אישור CA |
איך ממפים את רמת החומרה במחבר
כדי למפות את חומרת הבעיה, צריך לציין באיזה שדה להשתמש כדי לקבל את הערך של חומרת הבעיה בפרמטר Severity Field Name (שם השדה של חומרת הבעיה). בתגובה אפשר לקבל 3 סוגים של ערכים: מספרים שלמים, מספרים עשרוניים ומחרוזות. למספרים שלמים ולמספרים עשרוניים, לא צריך לבצע הגדרה נוספת. המחבר יקרא את הערכים האלה וימפה אותם בהתאם לתקנים של Google SecOps. תזכורת קצרה לגבי המיפוי של ערכים מספריים שלמים:
- 100 – קריטית
- 100 > x >= 80 גבוה
- 80 > x >=60 בינוני
- 60 > x >=40 נמוך
- 40 > x לצורך מידע
אם בתגובה אנחנו עובדים עם מחרוזות, נדרש תהליך הגדרה נוסף. בתיקייה שבה נמצאים סקריפטים של מחברים, יהיה קובץ הגדרות בשם severity_map_config.json. בקובץ הזה מוגדרים כללי מיפוי לרמת החומרה.
בהתחלה, הקובץ ייראה כך:
{
"Default": 50
}
נניח שהערכים הנדרשים נמצאים בשדה event.severity. event.severity יכול להכיל את הערכים הבאים:
"Malicious", "Benign", "Unknown".
קודם כל, צריך לציין בפרמטר 'שם שדה חומרת הבעיה' שנשתמש ב-event.severity.
בשלב השני, צריך לעדכן את קובץ ההגדרות.
אחרי השינויים, הקובץ severity_map_config.json צריך להיראות כך:
{
"event.severity": {
"Malicious": 100,
"Unknown": 60,
"Benign": -1
},
"Default": 50
}
עכשיו, כשהמחבר יקבל אירוע עם event.severity = "Malicious", הוא יקצה לו חומרה קריטית.
כללים של Connectors
רשימת היתרים/רשימת חסימה
המחבר לא תומך ברשימת היתרים או ברשימה שחורה.
תמיכה ב-Proxy
המחבר תומך בשרת proxy.
מחבר Elasticsearch DSL
תיאור
המחבר פועל על ידי ביצוע קריאה ל-REST API עם שאילתת DSL.
תרחישי שימוש ודוגמאות
אפשרות להשתמש בשאילתות DSL כפרמטר חיפוש ב-Elasticsearch.
פרמטרים של מחברים
משתמשים בפרמטרים הבאים כדי להגדיר את המחבר:
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם שדה המוצר | String | device_product | כן | מתאר את שם השדה שבו מאוחסן שם המוצר. |
| שם השדה בסביבה | String | "" | לא | מתאר את שם השדה שבו מאוחסן שם הסביבה. אם לא נמצא שדה הסביבה, הסביבה היא ''. |
| תבנית ביטוי רגולרי (regex) של סביבה | String | .* | לא | תבנית regex להפעלה על הערך שנמצא בשדה 'שם שדה הסביבה'. ברירת המחדל היא .* כדי לתפוס את כל הערכים ולהחזיר את הערך ללא שינוי. משמש כדי לאפשר למשתמש לשנות את שדה הסביבה באמצעות לוגיקה של ביטוי רגולרי אם תבנית הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, התוצאה הסופית של הסביבה היא ''. |
| זמן קצוב לסקריפט (בשניות) | מספר שלם | 60 | כן | מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי. |
| כתובת השרת | String | לא רלוונטי | כן | כתובת ה-IP של שרת ה-API של Elasticsearch. |
| יציאה | String | לא רלוונטי | כן | העברה של שרת Elasticsearch API. |
| שאילתה | String | לא רלוונטי | כן | שאילתת DSL שמשמשת לחיפוש. נדרש פורמט JSON תקין. כדי שהמחבר יהיה יציב יותר, מומלץ להוסיף מפתח של חותמת זמן למיון בסדר עולה. |
| אינדקס | String | לא רלוונטי | כן | אינדקס שמשמש לחיפוש. לדוגמה: _all |
| שדה חותמת הזמן | String | לא רלוונטי | כן | שם השדה שבו נמצאת חותמת הזמן. דוגמה: source@timestamp |
| שם שדה ההתראה | String | לא רלוונטי | כן | השם של השדה שבו נמצא שם ההתראה. דוגמה: _source_info_alertname |
| שדה התיאור | String | לא רלוונטי | לא | שם השדה שבו נמצא התיאור. דוגמה: _source_alert_info_description |
| חוּמרה | String | בינוני | כן | רמת החומרה של ההתראות. מידע נמוכה בינונית גבוהה קריטית |
| מגבלת מספר ההתראות | מספר שלם | 100 | לא | הגבלת מספר ההתראות שמוחזרות על ידי המחבר לכל איטרציה. |
| אמת | תיבת סימון | התיבה לא מסומנת | לא | האם לבצע אימות בחיבור או לא. |
| שם משתמש | String | לא רלוונטי | לא | שם המשתמש בחשבון Elasticsearch. |
| סיסמה | סיסמה | לא רלוונטי | לא | סיסמת החשבון ב-Elasticsearch. |
| שימוש ב-SSL | תיבת סימון | התיבה לא מסומנת | לא | אפשרות להפעלת חיבור SSL/TLS. |
| שם שדה החומרה | String | לא רלוונטי | לא | אם רוצים למפות את רמת החומרה על סמך ערך המחרוזת, צריך ליצור קובץ מיפוי. פרטים נוספים מופיעים בפורטל התיעוד. |
| מידת החומרה של ההתראה | String | לא רלוונטי | לא | רמת החומרה של ההתראות. הערכים האפשריים: מידע, נמוכה, בינונית, גבוהה, קריטית. הערה: לפרמטר הזה יש עדיפות על פני 'שם שדה חומרת הבעיה'. אם רוצים לעבוד עם 'שם שדה חומרת הבעיה', צריך להשאיר את השדה הזה ריק. |
| כתובת שרת ה-Proxy | String | לא רלוונטי | לא | הכתובת של שרת ה-Proxy שבו רוצים להשתמש. |
| שם משתמש של שרת proxy | String | לא רלוונטי | לא | שם המשתמש ב-proxy לאימות. |
| סיסמת שרת Proxy | סיסמה | לא רלוונטי | לא | סיסמת ה-proxy לאימות. |
סימונים נתמכים
המחבר תומך בשלושה סימונים. לדוגמה, אם רוצים להשתמש ב-event.type בפרמטר Event Field Name (שם שדה האירוע). במקרה כזה, אפשר לספק את _source_event_type, event_type או event.type. כל הערכים האלה יתנהגו באותו אופן.
לפרמטרים:
- שם שדה המוצר
- שם השדה של האירוע
- שם שדה החומרה
- שדה סביבה
- שדה חותמת הזמן
- שדה שם ההתראה
- שדה תיאור ההתראה – השדה הזה מיועד רק למחברים של DSL
איך ממפים את רמת החומרה במחבר
כדי למפות את חומרת הבעיה, צריך לציין באיזה שדה להשתמש כדי לקבל את הערך של חומרת הבעיה בפרמטר Severity Field Name (שם השדה של חומרת הבעיה). בתגובה אפשר לקבל 3 סוגים של ערכים: מספרים שלמים, מספרים עשרוניים ומחרוזות. למספרים שלמים ולמספרים עשרוניים, לא צריך לבצע הגדרה נוספת. המחבר יקרא את הערכים האלה וימפה אותם בהתאם לתקנים של Google SecOps. תזכורת קצרה לגבי המיפוי של ערכים מספריים שלמים:
- 100 – קריטית
- 100 > x >= 80 גבוה
- 80 > x >=60 בינוני
- 60 > x >=40 נמוך
- 40 > x לצורך מידע
אם בתגובה אנחנו עובדים עם מחרוזות, נדרש תהליך הגדרה נוסף. בתיקייה שבה נמצאים סקריפטים של מחברים, יהיה קובץ הגדרות בשם severity_map_config.json. בקובץ הזה מוגדרים כללי מיפוי לרמת החומרה.
בהתחלה, הקובץ ייראה כך:
{
"Default": 50
}
נניח שהערכים הנדרשים נמצאים בשדה event.severity. event.severity יכול להכיל את הערכים הבאים:
"Malicious", "Benign", "Unknown".
קודם כל, צריך לציין בפרמטר 'שם שדה חומרת הבעיה' שנשתמש ב-event.severity.
בשלב השני, צריך לעדכן את קובץ ההגדרות.
אחרי השינויים, הקובץ severity_map_config.json צריך להיראות כך:
{
"event.severity": {
"Malicious": 100,
"Unknown": 60,
"Benign": -1
},
"Default": 50
}
עכשיו, כשהמחבר יקבל אירוע עם event.severity = "Malicious", הוא יקצה לו חומרה קריטית.
כללים של Connectors
רשימת היתרים/רשימת חסימה
המחבר לא תומך ברשימת היתרים או ברשימה שחורה.
תמיכה ב-Proxy
המחבר תומך בשרת proxy.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.