Humio
במאמר הזה מוסבר איך לשלב את Humio עם Google SecOps.
הגדרת שילוב של Humio ב-Google Security Operations
הוראות מפורטות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.
פרמטרים של שילוב
משתמשים בפרמטרים הבאים כדי להגדיר את השילוב:
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| ספריית הבסיס של ה-API | String | https://cloud.us.humio.com | כן | שורש ה-API של מופע Humio. |
| טוקן API | סיסמה | לא רלוונטי | כן | טוקן ה-API של מופע Humio. |
| אימות SSL | תיבת סימון | סימן אישור | כן | אם האפשרות הזו מופעלת, צריך לוודא שאישור ה-SSL של החיבור לשרת Humio תקף. |
תרחישים לדוגמה
- ביצוע הטמעה של האירועים ממאגרי מידע
- ביצוע חיפוש
פעולות
פינג
תיאור
בודקים את הקישוריות ל-Humio באמצעות הפרמטרים שמופיעים בדף ההגדרות של השילוב בכרטיסייה Google Security Operations Marketplace.
פרמטרים
לא רלוונטי
ריצה
הפעולה הזו לא מופעלת על ישויות, ואין לה פרמטרים של קלט חובה.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
Case Wall
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה: אם הפעולה תצליח: "החיבור לשרת Humio בוצע בהצלחה עם פרמטרי החיבור שסופקו!" הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה: אם התגובה נכשלה: "החיבור לשרת Humio נכשל! השגיאה היא {0}".format(exception.stacktrace) |
כללי |
ביצוע חיפוש פשוט
תיאור
חיפוש אירועים על סמך פרמטרים ב-Humio.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם המאגר | String | לא רלוונטי | כן | מציינים את שם המאגר שרוצים לחפש בו. |
| מסנן שאילתות | String | לא רלוונטי | לא | מציינים את השאילתה שצריך להריץ במהלך החיפוש. הערה: אין לספק את הפונקציות head() ו-select(). |
| מסגרת זמן | DDL | בשעה האחרונה ערכים אפשריים:
|
לא | מציינים מסגרת זמן לתוצאות. אם בוחרים באפשרות 'בהתאמה אישית', צריך לציין גם את הפרמטר 'שעת התחלה'. |
| שעת ההתחלה | String | לא רלוונטי | לא | מציינים את שעת ההתחלה של התוצאות. הפרמטר הזה הוא חובה אם בוחרים באפשרות 'מותאם אישית' בפרמטר 'מסגרת זמן'. פורמט: ISO 8601 |
| שעת הסיום | String | לא רלוונטי | לא | מציינים את שעת הסיום של התוצאות. פורמט: ISO 8601. אם לא מספקים ערך ובפרמטר Time Frame (מסגרת זמן) בוחרים באפשרות Custom (התאמה אישית), המערכת משתמשת בזמן הנוכחי. |
| שדות להחזרה | CSV | לא רלוונטי | לא | מציינים את השדות שרוצים להחזיר. אם לא מציינים שדות, הפעולה מחזירה את כל השדות. |
| שדה המיון | String | לא רלוונטי | לא | מציינים באיזה פרמטר להשתמש למיון. כברירת מחדל, השאילתה ממיינת את הנתונים לפי חותמת זמן בסדר עולה. |
| סוג שדה המיון | DDL | String ערכים אפשריים:
|
לא | מציינים את סוג השדה שמשמש למיון. הפרמטר הזה נחוץ כדי להבטיח שהתוצאות הנכונות יוחזרו. |
| סדר המיון | DDL | ASC ערכים אפשריים:
|
לא | מציינים את סדר המיון. |
| המספר המקסימלי של תוצאות להחזרה | מספר שלם | 50 | לא | מציינים את מספר התוצאות שרוצים להחזיר. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"@timestamp": 1636028056292,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"method": "google",
"sensitive": false,
"timestamp": "2021-11-04T12:14:16.292Z",
"type": "user.signin"
},
"@id": "gZPMhXMMcScGXHwxZ7bRH6Ns_88_264_1636028056"
},
{
"@timestamp": 1636028057934,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"sensitive": false,
"timestamp": "2021-11-04T12:14:17.934Z",
"type": "notifications.user.create"
},
"@id": "lSLLg2gMDW8GwHtpZTGD8GU1_65_108_1636028057"
}
]
Case Wall
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| סוג התוצאה | ערך/תיאור | סוג |
| הודעת פלט* | הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה: If found at least one result (is_success=true): "Successfully returned results for the query "{query}" in Humio." אם לא נמצאו תוצאות (is_succees=true): "לא נמצאו תוצאות לשאילתה "{query}" ב-Humio". הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה: אם מופיעה שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'הפעלת חיפוש פשוט'". הסיבה: {0}''.format(error.Stacktrace) אם מדווח קוד הסטטוס 400: 'שגיאה בהפעלת הפעולה 'הפעלת חיפוש פשוט'. הסיבה: {0}''.format(response) אם מדווח על קוד סטטוס 404: 'שגיאה בהפעלת הפעולה 'הפעלת חיפוש מותאם אישית'. הסיבה: {0}''.format(response) |
כללי |
| Case Wall | שם: תוצאות | כללי |
ביצוע חיפוש מותאם אישית
תיאור
חיפוש אירועים באמצעות שאילתה מותאמת אישית ב-Humio.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם המאגר | String | לא רלוונטי | כן | מציינים את שם המאגר שרוצים לחפש בו. |
| שאילתה | String | לא רלוונטי | כן | מציינים את השאילתה שצריך להריץ ב-Humio. הערה: הפונקציה head() לא צריכה להיות חלק מהמחרוזת הזו. |
| המספר המקסימלי של תוצאות להחזרה | מספר שלם | 50 | לא | מציינים את מספר התוצאות שרוצים להחזיר. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"@timestamp": 1636028056292,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"method": "google",
"sensitive": false,
"timestamp": "2021-11-04T12:14:16.292Z",
"type": "user.signin"
},
"@id": "gZPMhXMMcScGXHwxZ7bRH6Ns_88_264_1636028056"
},
{
"@timestamp": 1636028057934,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"sensitive": false,
"timestamp": "2021-11-04T12:14:17.934Z",
"type": "notifications.user.create"
},
"@id": "lSLLg2gMDW8GwHtpZTGD8GU1_65_108_1636028057"
}
]
Case Wall
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה: אם נמצאה לפחות תוצאה אחת (is_success=true): "הוחזרו תוצאות בהצלחה לשאילתה "{query}" ב-Humio". אם לא נמצאו תוצאות (is_succees=true): "לא נמצאו תוצאות לשאילתה "{query}" ב-Humio" הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה: אם מדווחת שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת או שגיאה אחרת: "שגיאה בהפעלת הפעולה 'הפעלת חיפוש בהתאמה אישית'. הסיבה: {0}''.format(error.Stacktrace) אם קוד הסטטוס 400 מדווח: 'שגיאה בהפעלת הפעולה Execute Custom Search'. הסיבה: {0}''.format(response) אם מדווח על קוד סטטוס 404: 'שגיאה בהפעלת הפעולה 'הפעלת חיפוש מותאם אישית'. הסיבה: {0}''.format(response) |
כללי |
| Case Wall | שם: תוצאות | כללי |
מחברים
Humio - Events Connector
תיאור
שליפת מידע על אירועים במאגר מ-Humio.
הגדרה של Humio - Events Connector ב-Google SecOps
הוראות מפורטות להגדרת מחבר ב-Google SecOps מופיעות במאמר בנושא הגדרת המחבר.
פרמטרים של מחברים
משתמשים בפרמטרים הבאים כדי להגדיר את המחבר:
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם שדה המוצר | String | שם המוצר | כן | מזינים את שם שדה המקור כדי לאחזר את שם שדה המוצר. |
| שם השדה של האירוע | String | event_field | כן | מזינים את שם שדה המקור כדי לאחזר את שם שדה האירוע. |
| שם השדה בסביבה | String | "" | לא | מתאר את שם השדה שבו מאוחסן שם הסביבה. אם לא נמצא שדה סביבה, הסביבה היא סביבת ברירת המחדל. |
| תבנית ביטוי רגולרי (regex) של סביבה | String | .* | לא | תבנית regex להפעלה על הערך שנמצא בשדה 'שם שדה הסביבה'. ברירת המחדל היא .* כדי לתפוס את כל הערכים ולהחזיר אותם ללא שינוי. משמש כדי לאפשר למשתמש לשנות את שדה הסביבה באמצעות לוגיקה של ביטוי רגולרי. אם תבנית הביטוי הרגולרי היא null או ריקה, או שערך הסביבה הוא null, התוצאה הסופית של הסביבה היא סביבת ברירת המחדל. |
| זמן קצוב לסקריפט (בשניות) | מספר שלם | 360 | כן | מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי. |
| ספריית הבסיס של ה-API | String | https://cloud.us.humio.com | כן | שורש ה-API של מופע Humio. |
| טוקן API | סיסמה | לא רלוונטי | לא | טוקן ה-API של מופע Humio. |
| שם המאגר | String | לא רלוונטי | כן | השם של המאגר שממנו יאוחזרו התוצאות. |
| שאילתה | String | לא רלוונטי | לא | שליחת שאילתה לגבי האירועים. הערה: אין להוסיף כאן את הפונקציות select() ו-head(). |
| שם שדה ההתראה | String | לא רלוונטי | לא | שם המפתח שבו צריך להשתמש בשביל שם ההתראה. אם לא מספקים ערך או שמספקים ערך לא תקין, המחבר ישתמש ב-Humio Alert כברירת מחדל. |
| שם שדה החומרה | CSV | לא רלוונטי | כן | רשימה מופרדת בפסיקים של מפתחות שצריך להשתמש בהם למיפוי של רמת החומרה. הערה: אם המפתח מכיל ערכים מסוג 'מחרוזת', צריך למפות אותם באמצעות 'מיפוי חומרת הבעיה ב-JSON'. אם מזינים מפתח לא תקין, המערכת תשתמש בערך 'Default' מהפרמטר 'Severity Mapping JSON'. |
| מיפוי חומרה של JSON | JSON | { "fieldName": { "value_1": 100, "value_2": 75, "value_3": -1 }, "Default": 50 } |
כן | אובייקט JSON שמכיל את כל המפתחות עם ערכי מחרוזת ממופים. הערה: חובה להשתמש במפתח 'ברירת מחדל'. |
| מספר השעות המקסימלי אחורה | מספר שלם | 1 | לא | מספר השעות שממנו יאוחזרו האירועים. |
| מספר מקסימלי של אירועים לאחזור | מספר שלם | 20 | לא | מספר האירועים לעיבוד בכל איטרציה של המחבר. |
| שימוש ברשימת ההיתרים כרשימה שחורה | תיבת סימון | סימן אישור | כן | אם האפשרות הזו מופעלת, רשימת ההיתרים תשמש כרשימת חסימות. |
| אימות SSL | תיבת סימון | סימן אישור | כן | אם ההגדרה הזו מופעלת, המערכת מאמתת שאישור ה-SSL של החיבור ל-Humio תקף. |
| כתובת שרת ה-Proxy | String | לא רלוונטי | לא | הכתובת של שרת ה-Proxy שבו רוצים להשתמש. |
| שם משתמש של שרת proxy | String | לא רלוונטי | לא | שם המשתמש ב-proxy לאימות. |
| סיסמת שרת Proxy | סיסמה | לא רלוונטי | לא | סיסמת ה-proxy לאימות. |
כללים של מחברים
תמיכה בשרת proxy
המחבר תומך בשרת proxy.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.