Tanium

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

דרישות מוקדמות

‫Tanium משתמשת באסימוני API כדי לאמת קריאות לממשקי ה-API בארכיטקטורת REST. למידע נוסף על יצירת אסימוני API, קראו את המאמר ניהול אסימוני API במסמכי התיעוד של Tanium.

שילוב של Tanium עם Google Security Operations

איך מגדירים שילובים ב-Google SecOps

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

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

שם הפרמטר לתצוגה סוג ערך ברירת המחדל חובה תיאור
הרמה הבסיסית (root) של ה-API כתובת URL לא רלוונטי כן צריך לציין את ה-API Root של Tanium שבו השילוב צריך להשתמש.
טוקן API סיסמה לא רלוונטי כן צריך לציין את אסימון ה-API של Tanium שבו השילוב צריך להשתמש.
אימות SSL תיבת סימון סימן אישור לא אם האפשרות מופעלת, השרת של Google SecOps בודק שהאישור מוגדר לשורש ה-API.

פעולות

פינג

בודקים את הקישוריות להתקנה של Tanium באמצעות הפרמטרים שמופיעים בדף הגדרת השילוב בדף Google SecOps Content Hub.

הפעלה ב-

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

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

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

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

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

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

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

כללי

העשרת ישויות

העשרת ישויות באמצעות מידע מ-Tanium. הפעולה היא פעולה אסינכרונית של Google SecOps. ישויות נתמכות: שם מארח, כתובת IP.

פרמטרים

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

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

הפרמטר מקבל כמה ערכים כמחרוזת מופרדת בפסיקים.

הפעלה ב-

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

  • כתובת IP
  • שם המארח

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "data": {
        "now": "2022/01/28 10:18:54 GMT-0000",
        "max_available_age": "",
        "result_sets": [
            {
                "age": 0,
                "id": X,
                "report_count": 2,
                "saved_question_id": 0,
                "question_id": X,
                "archived_question_id": 0,
                "seconds_since_issued": 0,
                "issue_seconds": 0,
                "expire_seconds": 0,
                "tested": 4,
                "passed": 1,
                "mr_tested": 4,
                "mr_passed": 4,
                "estimated_total": 4,
                "select_count": 10,
                "error_count": 0,
                "no_results_count": 0,
                "columns": [
                    {
                        "hash": X,
                        "name": "Computer ID",
                        "type": 1
                    },
                    {
                        "hash": 0,
                        "name": "Count",
                        "type": 3
                    }
                ],
                "cache_id": "X",
                "expiration": 0,
                "filtered_row_count": 1,
                "filtered_row_count_machines": 1,
                "row_count": 1,
                "row_count_machines": 1,
                "item_count": 1,
                "rows": [
                    {
                        "id": x,
                        "cid": x,
                        "data": [
                            [
                                {
                                    "text": "X"
                                }
                            ],
                            [
                                {
                                    "text": "No User"
                                }
                            ],
                            [
                                {
                                    "text": "1"
                                }
                            ]
                        ]
                    }
                ]
            }
        ]
    }
}
טבלת העשרה

קידומת: Tanium_‎

שם שדה ההעשרה לוגיקה – מתי להחיל
Computer_ID כשהוא זמין ב-JSON
Operating_System כשהוא זמין ב-JSON
OS_Platform כשהוא זמין ב-JSON
Service_Pack כשהוא זמין ב-JSON
Domain_Name כשהוא זמין ב-JSON
זמן הפעולה התקינה כשהוא זמין ב-JSON
System_UUID כשהוא זמין ב-JSON
IP_Address כשהוא זמין ב-JSON
קיר של נרתיק הטעינה
סוג התוצאות ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

אם יש נתונים זמינים לישות אחת (is_success = true): "העשרת הישויות הבאות באמצעות מידע מ-Tanium בוצעה בהצלחה: {entity.identifier}".

אם הנתונים לא זמינים לישות אחת (is_success=true): "הפעולה לא הצליחה להעשיר את הישויות הבאות באמצעות מידע מ-Tanium:‏ {entity.identifier}"

אם יש כמה התאמות ב-Tanium לישות שצוינה (is_success=true): "Multiple results found in Tanium for the entities, taking first match: {entity.identifier}"

אם אין נתונים זמינים לאף אחת מהישויות (is_success=false): "None of the provided entities were enriched."‎

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

אם מדווח קוד הסטטוס 400 (תחביר שגוי של השאלה): "שגיאה בביצוע הפעולה "העשרת ישויות" כי טקסט השאלה שסופק לא תקין. "‎

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

כללי
שולחן קיר עם ארונית

שם הטבלה: {entity.identifier}

עמודות בטבלה:

  • מפתח
  • ערך
ישות

יצירת שאלה

יצירת שאלה חדשה ב-Tanium על סמך הפרמטרים שצוינו, והשאלה נשאלת באופן מיידי. הפעולה מחזירה את מזהה השאלה שאפשר להעביר לפעולה "קבלת תוצאות של שאלה" כדי לקבל את תוצאות השאלה. שימו לב שהפעולה לא פועלת עם ישויות של Google SecOps.

פרמטרים

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

מציינים את התוכן של השאלה ב-Tanium.

דוגמה: קבלת מערכת ההפעלה מכל המכונות

הפעלה ב-

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

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "data": {
        "id": X
    }
}
קיר של נרתיק הטעינה
סוג התוצאות ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

אם הנתונים זמינים (is_success = true): "Successfully created Tanium question with id {question_id_from_response}".

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

אם מדווח קוד הסטטוס 400 (תחביר שגוי של השאלה): "Error executing action "Create Question" because provided question text is invalid.‎ "‎

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

כללי

קבלת תוצאות השאלה

אחזור תוצאות לשאלה ב-Tanium. הפעולה היא פעולה אסינכרונית של Google SecOps. שימו לב שהפעולה לא פועלת עם ישויות של Google SecOps.

פרמטרים

שם הפרמטר לתצוגה סוג ערך ברירת המחדל חובה תיאור
מזהה השאלה מספר שלם לא רלוונטי כן ציינו את מזהה השאלה ב-Tanium שאתם רוצים לקבל תוצאות לגביה.
יצירת טבלת קיר של בקשות תמיכה תיבת סימון סימן אישור לא אם הפעולה מופעלת, היא יוצרת טבלה של לוח בקשות התמיכה כחלק מתוצאות הפעולה.
מספר השורות המקסימלי להחזרה מספר שלם 50 כן מציינים את מספר השורות המקסימלי שהפעולה צריכה להחזיר לשאלה.

הפעלה ב-

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

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
  "id": 1,
  "report_count": 3,
  "saved_question_id": 0,
  "question_id": 1,
  "seconds_since_issued": 600,
  "issue_seconds": 0,
  "expire_seconds": 600,
  "tested": 3,
  "passed": 3,
  "mr_tested": 3,
  "mr_passed": 3,
  "estimated_total": 3,
  "select_count": 3,
  "error_count": 0,
  "no_results_count": 0,
  "row_count": 3,
  "row_count_machines": 3,
  "item_count": 3,
  "filtered_row_count": 3,
  "filtered_row_count_machines": 3,
  "columns": [
    {
      "hash": 1,
      "name": "IP Address",
      "type": 5
    },
    {
      "hash": 2,
      "name": "Computer Name",
      "type": 1
    },
    {
      "hash": 3,
      "name": "Operating System",
      "type": 1
    }
  ],
  "rows": [
    {
      "IP Address": [
        "2001:db8:a::100",
        "192.0.2.10"
      ],
      "Computer Name": [
        "CLIENT-A01"
      ],
      "Operating System": [
        "Windows Server 2022 Datacenter"
      ]
    },
    {
      "IP Address": [
        "2001:db8:a::101"
      ],
      "Computer Name": [
        "CLIENT-B02"
      ],
      "Operating System": [
        "Windows Server 2019 Standard Evaluation"
      ]
    },
    {
      "IP Address": [
        "198.51.100.5"
      ],
      "Computer Name": [
        "server-web-prod.example.com"
      ],
      "Operating System": [
        "Debian 12.12"
      ]
    }
  ]
}
קיר של נרתיק הטעינה
סוג התוצאות ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

אם הנתונים זמינים (is_success=true): "Successfully fetched results for the following Tanium question id: {question id}".

אם הנתונים לא זמינים (is_success=false): "No results were found for the Tanium question id: {question id}"

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

אם מדווח קוד הסטטוס 404 (השאלה לא קיימת): "Failed to find Tanium question with question id {question_id}.‎ "‎

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

כללי
טבלה

שם הטבלה: Tanium Question {question_id} Results

עמודות בטבלה:

העמודות נוצרות על סמך הנתונים שמתקבלים בתשובה לשאלה.

כללי

הצגת רשימה של אירועים בנקודות קצה (Endpoint)

רשימת אירועים שקשורים לנקודות הקצה מ-Tanium. הפעולה פועלת עם Tanium Threat Response API.

פרמטרים

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

משולב

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

  • קובץ
  • רשת
  • תהליך
  • מרשם
  • נהג/ת
  • משולב
  • DNS
  • תמונה
לא ציינו את סוג האירוע שצריך להחזיר.
מסגרת זמן DDL

בשעה האחרונה

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

  • בשעה האחרונה
  • 6 השעות האחרונות
  • ‫24 השעות האחרונות
  • בשבוע שעבר
  • בחודש שעבר
  • זמן ההתראה עד עכשיו
  • ‫5 דקות לפני ואחרי שעת ההתראה
  • ‫30 דקות לפני ואחרי שעת ההתראה
  • שעה אחת סביב זמן ההתראה
  • בהתאמה אישית
לא

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

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

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

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

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

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

פורמט: ISO 8601

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

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

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

פורמט: ISO 8601

שדה המיון String חותמת זמן לא ציינו את הפרמטר שבו צריך להשתמש למיון.
סדר המיון DDL

ASC Possible

ערכים:

  • ASC
  • DESC
לא מציינים את סדר המיון.
מספר האירועים המקסימלי להחזרה מספר שלם 50 לא

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

מקסימום: 500

הפעלה ב-

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

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
  "events": [
    {
      "create_time": "2022-01-18 11:59:52.000",
      "end_time": null,
      "exit_code": null,
      "pid": 2,
      "process_path": "kthreadd",
      "id": "72057594037927939",
      "process_table_id": "72057594037927939",
      "parent_process_table_id": "72057594037927937",
      "parent_pid": -1,
      "user_name": "root",
      "group_name": "root",
      "hash_type_name": null,
      "hash": null,
      "process_command_line": null,
      "parent_path": "<Unknown Process>",
      "parent_command_line": "<Unknown Process>",
      "parent_hash": null,
      "create_time_raw": 1642507192000,
      "end_time_raw": null
    }
  ]
}
קיר של נרתיק הטעינה
סוג התוצאות ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

אם נמצא לפחות אירוע אחד בנקודת קצה (is_success=true): "Successfully returned events for the following endpoints in Tanium:\n".format(entity)."‎

אם לא נמצאו אירועים לנקודת קצה (is_success=true): "No events were found for the following endpoints in Tanium:\n".format(entity)."‎

אם לא נמצאו אירועים בכל נקודות הקצה (is_success=true): "לא נמצאו אירועים בנקודות הקצה שצוינו ב-Tanium".

אם לא ניתן היה ליצור חיבור או לא נמצא חיבור לחלק מנקודות הקצה (is_success=true): "הפעולה לא הצליחה לאחזר מידע על אירועים מנקודות הקצה הבאות ב-Tanium בגלל בעיות בקישוריות של הסוכן: {entity}. חשוב לוודא ששמות המארחים האלה מחוברים למודול Tanium Threat Response".

אם לא כל הנתונים הועשרו (is_success=false): "לא נמצא מידע על ה-IOC".

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

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

אם לא הצלחתם ליצור חיבור או שלא נמצא חיבור לכל נקודות הקצה (is_success=false): "שגיאה בביצוע הפעולה 'הצגת רשימה של אירועים בנקודת הקצה'. הסיבה: הפעולה לא הצליחה לאחזר מידע על אירועים מנקודות הקצה שסופקו ב-Tanium בגלל בעיות בקישוריות של הסוכן. חשוב לוודא ששמות המארחים האלה מחוברים למודול Tanium Threat Response".

כללי

נקודת קצה להסגר

מכניסים את נקודות הקצה להסגר ב-Tanium. הפעולה פועלת עם Tanium Threat Response API.

פרמטרים

שם הפרמטר לתצוגה סוג ערך ברירת המחדל חובה תיאור
רק התחלת שיחות תיבת סימון התיבה לא מסומנת כן אם ההגדרה מופעלת, הפעולה רק מתחילה את ביצוע המשימה בלי להמתין לתוצאות.
שמות של חבילות String
  • ‫Apply Linux IPTables Quarantine ל-Linux
  • ‫Apply Mac PF Quarantine ל-macOS
  • ‫Apply Windows IPsec Quarantine ל-Windows
כן אובייקט JSON שמכיל את כל שמות החבילות לכל מערכת הפעלה.

הפעלה ב-

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

  • כתובת IP
  • שם המארח

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
  "id": 82,
  "type": "responseAction",
  "status": "COMPLETED",
  "metadata": {
      "id": 2,
      "type": "gatherSnapshot",
      "status": "RUNNING",
      "computerName": "EX01.exlab.local",
      "userId": 1,
      "userName": "tanium",
      "options": {},
      "results": {
          "taskIds": [
              73
          ],
          "actionIds": []
      },
      "expirationTime": "2022-03-08T14:31:50.211Z",
      "createdAt": "2022-03-01T14:31:50.212Z",
      "updatedAt": "2022-03-01T14:36:19.533Z"
  },
  "results": {
      "didActionComplete": false,
      "stopped": true,
      "finished": true
  },
  "error": null,
  "startTime": "2022-03-01T14:42:10.390Z",
  "endTime": "2022-03-01T15:29:50.495Z",
  "createdAt": "2022-03-01T14:42:10.379Z",
  "updatedAt": "2022-03-01T14:42:10.379Z"
}
קיר של נרתיק הטעינה
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

אם לפחות נקודת קצה אחת הועברה להסגר (is_success=true): "Successfully initiated quarantine on the following endpoints in Tanium:\n".format(entity)

אם לפחות נקודת קצה אחת לא הועברה להסגר, אבל לא בגלל זמן קצוב לתפוגה (is_success=false): "הפעולה לא הצליחה להעביר להסגר את נקודות הקצה הבאות ב-Tanium: ‏{entity}. צריך לוודא שסוכן Tanium Threat Response מחובר כמו שצריך וששם המארח או כתובת ה-IP נכונים".

אם לא כל נקודות הקצה הועברו להסגר, אבל לא בגלל זמן קצוב לתפוגה (is_success=false): "הפעולה לא הצליחה להעביר להסגר את נקודות הקצה שצוינו ב-Tanium. צריך לוודא שסוכן Tanium Threat Response מחובר כמו שצריך וששם המארח או כתובת ה-IP נכונים".

ישויות בהמתנה אסינכרונית: {entities}

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

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

אם לא ניתן היה ליצור חיבור או לא נמצא חיבור לכל נקודות הקצה (is_success=false): "Error executing action "Quarantine Endpoint".‎ הסיבה: הפעולה לא הצליחה להעביר להסגר את נקודות הקצה שצוינו ב-Tanium בגלל בעיות בקישוריות של הסוכן. צריך לוודא שנקודות הקצה מחוברות למודול Tanium Threat Response וששם המארח או כתובת ה-IP נכונים".

אם הזמן הקצוב לתפוגה נגמר: "שגיאה בביצוע הפעולה 'העברת נקודת הקצה להסגר'. הסיבה: חלף הזמן הקצוב לפעולה במהלך הביצוע. ישויות בהמתנה: {ישויות שעדיין בתהליך}. צריך להגדיל את זמן הקצוב לתפוגה ב-IDE או להפעיל את האפשרות "Only Initiate" (הפעלה בלבד)."

כללי

הורדת הקובץ

הורדת קובץ מנקודות קצה ב-Tanium. הפעולה פועלת עם Tanium Threat Response API.

פרמטרים

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

הפעלה ב-

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

  • כתובת IP
  • שם המארח

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "absolute_file_path": [
        "file_path_1",
        "file_path_2"
    ],
    "entity": [
        {
            "identifier": "",
            "task_details": {
                "id": 81,
                "type": "fileDownload",
                "status": "COMPLETED",
                "metadata": {
                    "connection": "remote:centos-003:3864230059:1",
                    "paths": [
                        "/tmp/saaj-impl.jar"
                    ],
                    "compress": "true"
                },
                "results": {
                    "completed": [
                        "/tmp/saaj-impl.jar"
                    ],
                    "failed": [],
                    "fileResults": [
                        {
                            "response": {
                                "source": "/tmp/saaj-impl.jar",
                                "target": "/opt/Tanium/TaniumModuleServer/services/threat-response-service/tmp/4965e791-db87-4f31-ba60-2e52c9bac3de",
                                "totalBytes": 503502,
                                "transferHash": "5402c16c3873a722b94d8a3101cb98f5e4f862acc69cdee3a94cf40c1b04b265",
                                "totalTimeMs": 260,
                                "avgBytesPerSecond": 504123.0769230769
                            },
                            "uuid": "eb5077b3-9b02-42e2-bba4-58d9668a14e4",
                            "finalPath": "/opt/Tanium/TaniumModuleServer/services/threat-response-files/evidence/files/eb5077b3-9b02-42e2-bba4-58d9668a14e4.zip"
                        }
                    ]
                },
                "error": null,
                "startTime": "2022-03-01T14:38:23.952Z",
                "endTime": "2022-03-01T14:38:24.559Z",
                "createdAt": "2022-03-01T14:38:23.943Z",
                "updatedAt": "2022-03-01T14:38:23.943Z"
            }
        }
    ]
}
קיר של נרתיק הטעינה
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

אם הורד לפחות קובץ אחד לכל ישות (is_success=true): "Successfully downloaded the following files from the endpoint {entity} in Tanium:\n".format(downloaded files)."

אם לפחות קובץ אחד לא הורד לכל ישות, אבל לא בגלל זמן קצוב לתפוגה (is_success=false): "הפעולה לא הצליחה להוריד את הקבצים הבאים מנקודת הקצה {entity} ב-Tanium: {pending files}. צריך לוודא שסוכן Tanium Threat Response מחובר כמו שצריך וששם המארח או כתובת ה-IP נכונים. בתוצאת ה-JSON יש פרטים נוספים על המשימות".

ישויות בהמתנה אסינכרונית: {entities}

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

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

אם כבר קיים קובץ עם אותו שם, אבל "Overwrite" == false: "Error executing action "Download File".‎ הסיבה: כבר קיימים קבצים עם הנתיב {0}. צריך למחוק את הקבצים או להגדיר את האפשרות "החלפה" כ-"true"."

אם חלף הזמן הקצוב: "שגיאה בביצוע הפעולה 'הורדת קובץ'. הסיבה: חלף הזמן הקצוב לפעולה במהלך הביצוע. ישויות בהמתנה: {ישויות שעדיין בתהליך}. צריך להגדיל את זמן הקצוב לתפוגה ב-IDE".

כללי

מחיקת הקובץ

הורדת קובץ מנקודות קצה ב-Tanium. הפעולה פועלת עם Tanium Threat Response API.

פרמטרים

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

הפעלה ב-

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

  • כתובת IP
  • שם המארח

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
  "success": [],
  "not_exist_already_or_errors": []
}
קיר של נרתיק הטעינה
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

אם לפחות קובץ אחד נמחק (קוד סטטוס: 204, is_success=true): "Successfully deleted files from the following endpoints in Tanium:\n".format(entity)."‎

אם לפחות קובץ אחד לא קיים בנקודת קצה אחת (קוד סטטוס: 500, is_success=true): "הסטטוס של חלק מהקבצים לא ברור, צריך לבדוק את תוצאת ה-JSON. ‫Tanium מחזירה את קוד הסטטוס 500 אם הקובץ לא נמצא, אבל גם אם יש בעיות אחרות".

אם לפחות קובץ אחד לא קיים בכל נקודות הקצה (קוד סטטוס: 500, is_success=false): "הסטטוס של כל הקבצים לא ברור, צריך לבדוק את תוצאת ה-JSON. ‫Tanium מחזירה את קוד הסטטוס 500 אם הקובץ לא נמצא, אבל גם אם יש בעיות אחרות".

אם לפחות נקודת קצה אחת לא נמצאה (is_success=true): "הפעולה לא הצליחה למחוק קבצים מנקודות הקצה הבאות ב-Tanium: ‏{entity}. צריך לוודא שסוכן Tanium Threat Response מחובר כמו שצריך וששם המארח או כתובת ה-IP נכונים".

אם לא נמצאו כל נקודות הקצה (is_success=false): "הפעולה לא הצליחה למחוק קבצים מנקודות הקצה שצוינו ב-Tanium. צריך לוודא שסוכן Tanium Threat Response מחובר כמו שצריך וששם המארח או כתובת ה-IP נכונים".

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

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

כללי

קבלת פרטי המשימה

אחזור פרטים על משימה ב-Tanium. הפעולה פועלת עם Tanium Threat Response API.

פרמטרים

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

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

  • הושלם
  • לא הושלם
  • שגיאה

הפעלה ב-

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

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

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות של ערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "id": 81,
    "type": "fileDownload",
    "status": "COMPLETED",
    "metadata": {
        "connection": "remote:centos-003:3864230059:1",
        "paths": [
            "/tmp/saaj-impl.jar"
        ],
        "compress": "true"
    },
    "results": {
        "completed": [
            "/tmp/saaj-impl.jar"
        ],
        "failed": [],
        "fileResults": [
            {
                "response": {
                    "source": "/tmp/saaj-impl.jar",
                    "target": "/opt/Tanium/TaniumModuleServer/services/threat-response-service/tmp/4965e791-db87-4f31-ba60-2e52c9bac3de",
                    "totalBytes": 503502,
                    "transferHash": "5402c16c3873a722b94d8a3101cb98f5e4f862acc69cdee3a94cf40c1b04b265",
                    "totalTimeMs": 260,
                    "avgBytesPerSecond": 504123.0769230769
                },
                "uuid": "eb5077b3-9b02-42e2-bba4-58d9668a14e4",
                "finalPath": "/opt/Tanium/TaniumModuleServer/services/threat-response-files/evidence/files/eb5077b3-9b02-42e2-bba4-58d9668a14e4.zip"
            }
        ]
    },
    "error": null,
    "startTime": "2022-03-01T14:38:23.952Z",
    "endTime": "2022-03-01T14:38:24.559Z",
    "createdAt": "2022-03-01T14:38:23.943Z",
    "updatedAt": "2022-03-01T14:38:23.943Z"
}
קיר של נרתיק הטעינה
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:

‫אם אוחזרה לפחות משימה אחת (is_success=true): "Successfully fetched details about the following tasks in Tanium:\n".format(id)."

אם לפחות משימה אחת לא נמצאה (is_success=true): "Action wasn't able to find the following tasks in Tanium:\n".format(id)."

אם לפחות משימה אחת לא נמצאה (is_success=true): "לא נמצאו משימות ב-Tanium".

אחזור אסינכרוני של פרטים על משימות: {task ids}

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

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

אם חלף הזמן הקצוב לתפוגה והפרמטר "המתנה להשלמה" מופעל: "שגיאה בביצוע הפעולה "קבלת פרטי המשימה". הסיבה: חלף הזמן הקצוב לפעולה במהלך הביצוע. משימות בהמתנה: {משימות שעדיין בתהליך}. צריך להגדיל את זמן הקצוב לתפוגה ב-IDE".

כללי

יצירת חיבור

יוצרים חיבור לנקודת הקצה ב-Tanium.

ישויות

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

קלט של הפעולה

לא רלוונטי

ערכי פלט של פעולות

סוג הפלט של הפעולה
חיבור לקיר של המארז לא רלוונטי
קישור לקיר של התיק לא רלוונטי
שולחן קונסולה צמוד לקיר לא רלוונטי
טבלת העשרה לא רלוונטי
תוצאת JSON לא רלוונטי
תוצאת הסקריפט יש גישה
תוצאת הסקריפט
שם תוצאת הסקריפט ערך
is_success נכון/לא נכון
קיר של נרתיק הטעינה

הפעולה מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה

Successfully created a connection for the following entities: LIST_OF_SUCCESSFUL_ENTITIES

No suitable entities were found in the scope.

הפעולה בוצעה בהצלחה.

Action wasn't able to create a connection for the following entities: LIST_OF_FAILED_ENTITIES

Error executing action "Create Connection". Reason: ERROR_REASON

הפעולה נכשלה.

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

רשימת האפליקציות המקושרות

מציגים את החיבורים של נקודות הקצה ב-Tanium.

ישויות

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

קלט של הפעולה

לא רלוונטי

ערכי פלט של פעולות

סוג הפלט של הפעולה
חיבור לקיר של המארז לא רלוונטי
קישור לקיר של התיק לא רלוונטי
שולחן קונסולה צמוד לקיר לא רלוונטי
טבלת העשרה לא רלוונטי
תוצאת JSON לא רלוונטי
תוצאת הסקריפט יש גישה
תוצאת הסקריפט
שם תוצאת הסקריפט ערך
is_success נכון/לא נכון
קיר של נרתיק הטעינה

הפעולה מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה

Successfully found connections in INTEGRATION

No connections were found in INTEGRATION

הפעולה בוצעה בהצלחה.
Error executing action "List Connections". Reason: ERROR_REASON

הפעולה נכשלה.

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

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