איסוף יומני Tanium Patch
במסמך הזה מוסבר איך להטמיע יומני Tanium Patch ב-Google Security Operations באמצעות פונקציונליות הייצוא המקורית של AWS S3 ב-Tanium Connect. Tanium Patch מייצר נתונים על פריסת תיקונים, תאימות ונקודות חולשה בפורמט JSON, שאפשר לייצא ישירות ל-S3 באמצעות Tanium Connect בלי צורך בפונקציות Lambda בהתאמה אישית. המנתח ממיר את נתוני ה-JSON של ההערכה ל-Unified Data Model (UDM) של Google SecOps. הוא קודם מנרמל את שמות המפתחות, מחלץ נתונים ממבנה ה-JSON ואז ממפה את השדות הרלוונטיים למאפייני UDM, כולל פרטי פגיעויות, מידע על תוצאות אבטחה ופרטי נכסים כמו שם המארח ומערכת ההפעלה.
לפני שמתחילים
חשוב לוודא שיש לכם את הדברים הבאים:
- מכונה של Google SecOps
- Tanium Core Platform בגרסה 7.0 ואילך
- המודול Tanium Patch מותקן ומוגדר
- מודול Tanium Connect מותקן עם רישיון תקף
- גישה עם הרשאות אדמין ל-Tanium Console
- גישה עם הרשאות ל-AWS (S3, IAM)
הגדרת חשבון שירות של Tanium Patch
- נכנסים למסוף Tanium.
- עוברים אל Modules > Patch.
- בפינה השמאלית העליונה, לוחצים על הגדרות.
- בקטע Service Account, קובעים את ההגדרות הבאות:
- משתמש בחשבון שירות: בוחרים משתמש עם הרשאות מתאימות לתיקון.
- מוודאים שלחשבון יש הרשאת תפקיד של משתמש מחובר.
- לוחצים על Save כדי להחיל את הגדרת חשבון השירות.
איסוף דרישות מוקדמות ל-Tanium Patch
- נכנסים למסוף Tanium כאדמינים.
- עוברים אל Administration > Permissions > Users.
יוצרים או מזהים משתמש בחשבון שירות עם התפקידים הבאים:
- תפקיד אדמין של תיקונים או משתמש עם הרשאת קריאה בלבד של תיקונים.
- קישור משתמש.
- גישה לקבוצות המחשבים שבמעקב (מומלץ: הקבוצה All Computers).
הגדרת קטגוריית AWS S3 ו-IAM ל-Google SecOps
- יוצרים קטגוריה של Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה
- שומרים את שם הקטגוריה ואת האזור שלה לעיון בעתיד (לדוגמה,
tanium-patch-logs). - יוצרים משתמש לפי המדריך למשתמש: יצירת משתמש IAM.
- בוחרים את המשתמש שנוצר.
- לוחצים על הכרטיסייה פרטי כניסה מאובטחים.
- בקטע Access Keys, לוחצים על Create Access Key.
- בוחרים באפשרות שירות של צד שלישי בתור תרחיש לדוגמה.
- לוחצים על הבא.
- אופציונלי: מוסיפים תג תיאור.
- לוחצים על יצירת מפתח גישה.
- לוחצים על Download CSV file כדי לשמור את Access Key ואת Secret Access Key לשימוש מאוחר יותר.
- לוחצים על סיום.
- לוחצים על הכרטיסייה הרשאות.
- בקטע מדיניות הרשאות, לוחצים על הוספת הרשאות.
- לוחצים על הוספת הרשאות.
- בוחרים באפשרות Attach policies directly.
- מחפשים את המדיניות AmazonS3FullAccess ובוחרים בה.
- לוחצים על הבא.
- לוחצים על הוספת הרשאות.
הגדרת יעד AWS S3 ב-Tanium Connect
- נכנסים למסוף Tanium.
- עוברים אל Modules > Connect.
- לוחצים על Create Connection (יצירת חיבור).
- מזינים את פרטי ההגדרה הבאים:
- שם: מזינים שם תיאורי (לדוגמה,
Patch Data to S3 for SecOps). - תיאור: תיאור אופציונלי (לדוגמה,
Export Patch compliance and deployment data to AWS S3 for Google SecOps ingestion). - הפעלה: בוחרים באפשרות הזו כדי להפעיל את החיבור לפי לוח זמנים.
- שם: מזינים שם תיאורי (לדוגמה,
- לוחצים על הבא.
הגדרת מקור החיבור
- בקטע Source, מזינים את פרטי ההגדרה הבאים:
- סוג המקור: בוחרים באפשרות שאלה שמורה.
- שאלה שמורה: בוחרים אחת מהשאלות השמורות הבאות שקשורות לתיקון:
- תיקון – תוצאות הפריסה לסטטוס פריסת התיקון.
- תיקון – תיקונים חסרים לנתוני תאימות של נקודות חולשה.
- Patch - Installed Patches למלאי התיקונים המותקנים.
- תיקון – רשימת תיקונים לסטטוס תיקון מקיף.
- קבוצת מחשבים: בוחרים באפשרות כל המחשבים או בקבוצות מחשבים ספציפיות למעקב.
- מרווח זמן לרענון: מגדירים מרווח זמן מתאים לאיסוף נתונים (לדוגמה, שעה).
- לוחצים על הבא.
הגדרת יעד AWS S3
- בקטע Destination, מזינים את פרטי ההגדרה הבאים:
- Destination Type: בוחרים באפשרות AWS S3.
- שם היעד: מזינים שם ייחודי (לדוגמה,
Google SecOps Patch S3 Destination). - מפתח גישה ל-AWS: מזינים את מפתח הגישה ל-AWS מקובץ ה-CSV שהורדתם בשלב ההגדרה של AWS S3.
- מפתח גישה סודי של AWS: מזינים את מפתח הגישה הסודי של AWS מקובץ ה-CSV שהורדתם בשלב ההגדרה של AWS S3.
- שם הקטגוריה: מזינים את שם הקטגוריה ב-S3 (לדוגמה,
tanium-patch-logs). - Region: בוחרים את האזור ב-AWS שבו נמצאת קטגוריית S3.
- קידומת מפתח: מזינים קידומת לאובייקטים של S3 (לדוגמה,
tanium/patch/).
- לוחצים על הבא.
הגדרת מסננים
- בקטע מסננים, מגדירים את אפשרויות סינון הנתונים:
- שליחת פריטים חדשים בלבד: בוחרים באפשרות הזו כדי לשלוח רק תוצאות חדשות שהתקבלו מאז הייצוא האחרון.
- מסנני עמודות: אם צריך, מוסיפים מסננים לפי מאפיינים ספציפיים של התיקונים (לדוגמה, סינון לפי חומרת התיקון או סטטוס הפריסה).
- לוחצים על הבא.
פורמט הנתונים ב-AWS S3
- בקטע Format, מגדירים את פורמט הנתונים:
- פורמט: בוחרים באפשרות JSON.
- אפשרויות:
- Include headers: מבטלים את הבחירה כדי לא לכלול כותרות בפלט מסוג JSON.
- לכלול תאים ריקים: בוחרים לפי ההעדפה שלכם.
- אפשרויות מתקדמות:
- מתן שמות לקבצים: משתמשים בשמות שמוגדרים כברירת מחדל ומבוססים על חותמות זמן.
- דחיסה: בוחרים באפשרות Gzip כדי לצמצם את עלויות האחסון ואת זמן ההעברה.
- לוחצים על הבא.
תזמון החיבור
- בקטע Schedule, מגדירים את לוח הזמנים לייצוא:
- הפעלת לוח הזמנים: בוחרים באפשרות הזו כדי להפעיל ייצוא אוטומטי מתוזמן.
- סוג התזמון: בוחרים באפשרות חוזר.
- Frequency: בוחרים באפשרות Hourly כדי לייצא נתוני תיקונים באופן קבוע.
- שעת התחלה: מגדירים את שעת ההתחלה המתאימה לייצוא הראשון.
- לוחצים על הבא.
שמירה ואימות של החיבור
- בודקים את הגדרות החיבור במסך הסיכום.
- לוחצים על שמירה כדי ליצור את הקישור.
- לוחצים על בדיקת החיבור כדי לאמת את ההגדרה.
- אם הבדיקה מצליחה, לוחצים על הפעלה מיידית כדי לבצע ייצוא ראשוני.
- עוקבים אחרי סטטוס החיבור בדף סקירה כללית של Connect.
הגדרת פיד ב-Google SecOps כדי להטמיע יומני Tanium Patch
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על + הוספת פיד חדש.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Tanium Patch logs). - בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
- בוחרים באפשרות Tanium Patch בתור Log type.
- לוחצים על הבא.
- מציינים ערכים לפרמטרים הבאים של הקלט:
- S3 URI:
s3://tanium-patch-logs/tanium/patch/ - אפשרויות למחיקת המקור: בוחרים את אפשרות המחיקה הרצויה.
- גיל הקובץ המקסימלי: כולל קבצים ששונו במספר הימים האחרונים. ברירת המחדל היא 180 ימים.
- מזהה מפתח הגישה: מפתח גישה של משתמש עם גישה לקטגוריית S3.
- מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3.
- מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות הטמעה: התווית שנוספה לאירועים מהפיד הזה.
- S3 URI:
- לוחצים על הבא.
- בודקים את הגדרות הפיד החדש במסך סיום ולוחצים על שליחה.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | Logic (פונקציה לוגית) |
|---|---|---|
| מבזקים | principal.asset.vulnerabilities.vendor_vulnerability_id |
הערך נלקח מהשדה Bulletins ביומן הגולמי, לפי האינדקס התואם של השדה Title. אם הערך הוא "None", השדה לא ממופה. |
| ComputerName | principal.hostname |
הערך נלקח מהשדה ComputerName ביומן הגולמי. |
| ComputerName | principal.asset.hostname |
הערך נלקח מהשדה ComputerName ביומן הגולמי. |
| CVEIDs | principal.asset.vulnerabilities.cve_id |
הערך נלקח מהשדה CVEIDs ביומן הגולמי, עבור האינדקס התואם של השדה Title. אם הערך הוא "None", השדה לא ממופה. |
| KBArticles | principal.asset.vulnerabilities.vendor_knowledge_base_article_id |
הערך נלקח מהשדה KBArticles ביומן הגולמי, עבור האינדקס התואם של השדה Title. אם הערך ריק, השדה לא ממופה. |
| KBArticles | security_result.summary |
הערך נלקח מהשדה KBArticles ביומן הגולמי, עבור האינדקס התואם של השדה Title. אם הערך ריק, השדה לא ממופה. |
| OSType | principal.asset.platform_software.platform |
אם הערך מכיל את המילה Windows, הפלטפורמה מוגדרת כ-WINDOWS. אם הערך מכיל את המילה Linux, הפלטפורמה מוגדרת כ-LINUX. אם הערך מכיל את המילה "Mac", הפלטפורמה מוגדרת כ-"MAC". |
| חוּמרה | principal.asset.vulnerabilities.severity |
הערך נלקח מהשדה "חומרה" ביומן הגולמי, עבור האינדקס התואם של השדה "כותרת". אם הערך הוא "קריטי", רמת החומרה מוגדרת כ-"HIGH". אם הערך הוא "Important", רמת החומרה מוגדרת כ-"MEDIUM". אחרת, רמת החומרה מוגדרת כ-"UNKNOWN_SEVERITY". |
| חוּמרה | principal.asset.vulnerabilities.severity_details |
הערך נלקח מהשדה "חומרה" ביומן הגולמי, עבור האינדקס התואם של השדה "כותרת". אם הערך הוא "קריטי" או "חשוב", פרטי החומרה מוגדרים לערך של היומן הגולמי. |
| כותרת | principal.asset.vulnerabilities.name |
הערך נלקח מהשדה "כותרת" ביומן הגולמי. |
| כותרת | security_result.description |
הערך נלקח מהשדה "Title" ביומן הגולמי, עבור האינדקס התואם של השדה "InstallStatus". אם הערך של InstallStatus הוא לא Installed, התיאור מוגדר לערך של היומן הגולמי. |
| - | metadata.event_timestamp |
הערך נלקח מהשדה create_time ביומן הגולמי. |
| - | metadata.event_type |
הערך מוגדר כ-"SCAN_HOST". |
| - | metadata.log_type |
הערך נלקח מהשדה log_type ביומן הגולמי. |
| - | metadata.product_name |
הערך מוגדר כ-"Patch". |
| - | metadata.vendor_name |
הערך מוגדר כ-"Tanium". |
| - | principal.asset.vulnerabilities.vendor |
הערך מוגדר כ-"Tanium". |
| - | security_result.category |
הערך מוגדר כ-"DATA_AT_REST". |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.