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 | משולב ערכים אפשריים:
|
לא | ציינו את סוג האירוע שצריך להחזיר. |
| מסגרת זמן | DDL | בשעה האחרונה ערכים אפשריים:
|
לא | מציינים מסגרת זמן לתוצאות. אם בוחרים באפשרות "זמן ההתראה עד עכשיו", הפעולה משתמשת בשעת ההתחלה של ההתראה כשעת ההתחלה של החיפוש, ושעת הסיום היא השעה הנוכחית. אם בוחרים באפשרות "30 דקות לפני ואחרי שעת ההתראה", הפעולה מחפשת את ההתראות 30 דקות לפני שההתראה התרחשה ועד 30 דקות אחרי שההתראה התרחשה. אותו עיקרון חל על "שעה אחת סביב זמן ההתראה" ו "5 דקות סביב זמן ההתראה". אם בוחרים באפשרות "בהתאמה אישית", צריך לציין גם את הפרמטר "שעת התחלה". |
| שעת ההתחלה | String | לא רלוונטי | לא | מציינים את שעת ההתחלה של התוצאות. הפרמטר הזה הוא חובה אם בוחרים באפשרות "בהתאמה אישית" בפרמטר "מסגרת זמן". פורמט: ISO 8601 |
| שעת הסיום | String | לא רלוונטי | לא | מציינים את שעת הסיום של התוצאות. אם לא מציינים ערך ובוחרים באפשרות "בהתאמה אישית" בפרמטר "מסגרת זמן", הפרמטר הזה משתמש בשעה הנוכחית. פורמט: ISO 8601 |
| שדה המיון | String | חותמת זמן | לא | ציינו את הפרמטר שבו צריך להשתמש למיון. |
| סדר המיון | DDL | ASC Possible ערכים:
|
לא | מציינים את סדר המיון. |
| מספר האירועים המקסימלי להחזרה | מספר שלם | 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 |
|
כן | אובייקט 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 | נכון/לא נכון |
קיר של נרתיק הטעינה
הפעולה מספקת את הודעות הפלט הבאות:
| הודעת פלט | תיאור ההודעה |
|---|---|
|
הפעולה בוצעה בהצלחה. |
|
הפעולה נכשלה. צריך לבדוק את החיבור לשרת, את הפרמטרים של הקלט או את פרטי הכניסה. |
רשימת האפליקציות המקושרות
מציגים את החיבורים של נקודות הקצה ב-Tanium.
ישויות
הפעולה הזו לא פועלת על ישויות.
קלט של הפעולה
לא רלוונטי
ערכי פלט של פעולות
| סוג הפלט של הפעולה | |
|---|---|
| חיבור לקיר של המארז | לא רלוונטי |
| קישור לקיר של התיק | לא רלוונטי |
| שולחן קונסולה צמוד לקיר | לא רלוונטי |
| טבלת העשרה | לא רלוונטי |
| תוצאת JSON | לא רלוונטי |
| תוצאת הסקריפט | יש גישה |
תוצאת הסקריפט
| שם תוצאת הסקריפט | ערך |
|---|---|
| is_success | נכון/לא נכון |
קיר של נרתיק הטעינה
הפעולה מספקת את הודעות הפלט הבאות:
| הודעת פלט | תיאור ההודעה |
|---|---|
|
הפעולה בוצעה בהצלחה. |
Error executing action "List Connections". Reason:
ERROR_REASON |
הפעולה נכשלה. צריך לבדוק את החיבור לשרת, את הפרמטרים של הקלט או את פרטי הכניסה. |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.