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 תקף.

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

  1. ביצוע הטמעה של האירועים ממאגרי מידע
  2. ביצוע חיפוש

פעולות

פינג

תיאור

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

פרמטרים

לא רלוונטי

ריצה

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

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

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

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

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

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

אם התגובה נכשלה: "החיבור לשרת Humio נכשל! השגיאה היא {0}".format(exception.stacktrace)

כללי

תיאור

חיפוש אירועים על סמך פרמטרים ב-Humio.

פרמטרים

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

מציינים את השאילתה שצריך להריץ במהלך החיפוש.

הערה: אין לספק את הפונקציות head() ו-select().

מסגרת זמן DDL

בשעה האחרונה

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

  • בשעה האחרונה
  • 6 השעות האחרונות
  • 24 השעות האחרונות
  • בשבוע שעבר
  • בחודש שעבר
  • בהתאמה אישית
לא

מציינים מסגרת זמן לתוצאות.

אם בוחרים באפשרות 'בהתאמה אישית', צריך לציין גם את הפרמטר 'שעת התחלה'.

שעת ההתחלה String לא רלוונטי לא

מציינים את שעת ההתחלה של התוצאות.

הפרמטר הזה הוא חובה אם בוחרים באפשרות 'מותאם אישית' בפרמטר 'מסגרת זמן'.

פורמט: ISO 8601

שעת הסיום String לא רלוונטי לא

מציינים את שעת הסיום של התוצאות.

פורמט: ISO 8601.

אם לא מספקים ערך ובפרמטר Time Frame (מסגרת זמן) בוחרים באפשרות Custom (התאמה אישית), המערכת משתמשת בזמן הנוכחי.

שדות להחזרה CSV לא רלוונטי לא

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

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

שדה המיון String לא רלוונטי לא

מציינים באיזה פרמטר להשתמש למיון.

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

סוג שדה המיון DDL

String

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

  • String
  • מספר
  • Hex
לא

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

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

סדר המיון DDL

ASC

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

  • ASC
  • DESC
לא מציינים את סדר המיון.
המספר המקסימלי של תוצאות להחזרה מספר שלם 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.