איסוף יומני תיקונים של Tanium
במסמך הזה מוסבר איך להטמיע יומנים של Tanium Patch ב-Google Security Operations באמצעות פונקציית הייצוא המקורית של Tanium Connect ל-AWS S3. Tanium Patch יוצר נתונים של פריסת תיקונים, תאימות ופגיעויות בפורמט JSON, שאפשר לייצא ישירות ל-S3 באמצעות Tanium Connect בלי להשתמש בפונקציות Lambda בהתאמה אישית. מנתח התוצאות הופך את נתוני ה-JSON של ההערכה למודל הנתונים המאוחד (UDM) של Google SecOps. הוא קודם כול מבצע נורמליזציה של שמות המפתחות, מחלץ נתונים ממבנה ה-JSON ואז ממפה שדות רלוונטיים למאפייני UDM, כולל פרטי פגיעות, מידע על תוצאות אבטחה ופרטי נכסים כמו שם מארח ומערכת הפעלה.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Tanium Core Platform גרסה 7.0 ואילך
- מודול Tanium Patch מותקן ומוגדר
- מודול Tanium Connect מותקן עם רישיון תקף
- גישת פריבילגיה ל-Tanium Console עם הרשאות אדמין
- גישת אדמין ל-AWS (S3, IAM)
הגדרת חשבון השירות של Tanium Patch
- נכנסים ל-Tanium Console.
- עוברים אל Modules > Patch.
- לוחצים על הגדרות בפינה השמאלית העליונה.
- בקטע Service Account (חשבון שירות), מגדירים את האפשרויות הבאות:
- משתמש בחשבון שירות: בוחרים משתמש עם הרשאות מתאימות לתיקון.
- מוודאים שלחשבון יש הרשאה של תפקיד משתמש עם גישת Connect.
- לוחצים על Save כדי להחיל את ההגדרה של חשבון השירות.
איסוף דרישות מוקדמות של תיקון Tanium
- נכנסים ל-Tanium Console כאדמינים.
- עוברים אל ניהול > הרשאות > משתמשים.
יוצרים או מאתרים משתמש בחשבון שירות עם התפקידים הבאים:
- תפקיד Patch Administrator או Patch Read Only User.
- הרשאת התפקיד Connect User.
- גישה לקבוצות מחשבים שנמצאות במעקב (מומלץ: קבוצת כל המחשבים).
הגדרה של קטגוריית AWS S3 ו-IAM ל-Google SecOps
- יוצרים קטגוריה ב-Amazon S3 לפי מדריך המשתמש הזה: יצירת קטגוריה
- שומרים את השם של ה-bucket ואת האזור לעיון בעתיד (לדוגמה,
tanium-patch-logs). - יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
- בוחרים את המשתמש שנוצר.
- לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
- בקטע מפתחות גישה, לוחצים על יצירת מפתח גישה.
- בוחרים באפשרות שירות של צד שלישי בתור תרחיש השימוש.
- לוחצים על הבא.
- אופציונלי: מוסיפים תג תיאור.
- לוחצים על Create access key (יצירת מפתח גישה).
- לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לשימוש מאוחר יותר.
- לוחצים על סיום.
- לוחצים על הכרטיסייה Permissions (הרשאות).
- בקטע Permissions policies, לוחצים על Add permissions.
- לוחצים על הוספת הרשאות.
- בוחרים באפשרות צירוף מדיניות ישירות.
- מחפשים את המדיניות AmazonS3FullAccess ובוחרים בה.
- לוחצים על הבא.
- לוחצים על הוספת הרשאות.
הגדרת יעד AWS S3 ב-Tanium Connect
- נכנסים ל-Tanium Console.
- עוברים אל Modules > Connect (מודולים > חיבור).
- לוחצים על יצירת חיבור.
- מספקים את פרטי ההגדרה הבאים:
- שם: מזינים שם תיאורי (לדוגמה,
Patch Data to S3 for SecOps). - תיאור: תיאור אופציונלי (לדוגמה,
Export Patch compliance and deployment data to AWS S3 for Google SecOps ingestion). - הפעלה: בוחרים באפשרות הזו כדי להפעיל את החיבור כך שיפעל לפי לוח הזמנים.
- שם: מזינים שם תיאורי (לדוגמה,
- לוחצים על הבא.
הגדרת מקור החיבור
- בקטע מקור, מציינים את פרטי ההגדרה הבאים:
- סוג המקור: בוחרים באפשרות שאלה שמורה.
- שאלה שמורה: בוחרים אחת מהשאלות השמורות הבאות שקשורות לתיקון:
- Patch - Deployment Results כדי לראות את סטטוס הפריסה של התיקון.
- Patch - Missing Patches לנתוני תאימות של נקודות חולשה.
- Patch - Installed Patches (תיקון – תיקונים מותקנים) למלאי תיקונים מותקנים.
- Patch - Patch List כדי לראות את הסטטוס המלא של התיקון.
- קבוצת מחשבים: בוחרים באפשרות כל המחשבים או בקבוצות מחשבים ספציפיות למעקב.
- Refresh Interval (מרווח רענון): מגדירים מרווח מתאים לאיסוף הנתונים (לדוגמה, 1 hour (שעה אחת)).
- לוחצים על הבא.
הגדרת יעד ב-AWS S3
- בקטע יעד, מספקים את פרטי ההגדרה הבאים:
- סוג היעד: בוחרים באפשרות AWS S3.
- שם היעד: מזינים שם ייחודי (לדוגמה,
Google SecOps Patch S3 Destination). - מפתח גישה ל-AWS: מזינים את מפתח הגישה ל-AWS מקובץ ה-CSV שהורדתם בשלב ההגדרה של AWS S3.
- מפתח גישה סודי של AWS: מזינים את מפתח הגישה הסודי של AWS מקובץ ה-CSV שהורד בשלב ההגדרה של AWS S3.
- שם הקטגוריה: מזינים את שם הקטגוריה ב-S3 (לדוגמה,
tanium-patch-logs). - אזור: בוחרים את אזור AWS שבו נמצאת קטגוריית ה-S3.
- Key Prefix (קידומת מפתח): מזינים קידומת לאובייקטים ב-S3 (לדוגמה,
tanium/patch/).
- לוחצים על הבא.
הגדרת מסננים
- בקטע Filters, מגדירים את אפשרויות סינון הנתונים:
- שליחת פריטים חדשים בלבד: בוחרים באפשרות הזו כדי לשלוח רק תוצאות חדשות מאז הייצוא האחרון.
- מסנני עמודות: אם צריך, אפשר להוסיף מסננים על סמך מאפיינים ספציפיים של תיקון (לדוגמה, סינון לפי חומרת התיקון או סטטוס הפריסה).
- לוחצים על הבא.
עיצוב נתונים ל-AWS S3
- בקטע Format (פורמט), מגדירים את פורמט הנתונים:
- פורמט: בוחרים באפשרות JSON.
- אפשרויות:
- כולל כותרות: מבטלים את הסימון כדי שהכותרות לא ייכללו בפלט JSON.
- כולל תאים ריקים: בוחרים לפי ההעדפה.
- אפשרויות מתקדמות:
- שמות קבצים: שימוש בשמות שמתבססים על חותמת זמן כברירת מחדל.
- דחיסה: בוחרים באפשרות Gzip כדי לצמצם את עלויות האחסון ואת זמן ההעברה.
- לוחצים על הבא.
תזמון החיבור
- בקטע Schedule (לוח זמנים), מגדירים את לוח הזמנים לייצוא:
- הפעלת תזמון: בוחרים באפשרות הזו כדי להפעיל ייצוא אוטומטי מתוזמן.
- סוג התזמון: בוחרים באפשרות חוזר.
- תדירות: בוחרים באפשרות שעתי לייצוא נתונים רגיל של תיקוני אבטחה.
- שעת התחלה: מגדירים שעת התחלה מתאימה לייצוא הראשון.
- לוחצים על הבא.
שמירה ואימות של החיבור
- בודקים את הגדרות החיבור במסך הסיכום.
- לוחצים על שמירה כדי ליצור את הקישור.
- לוחצים על בדיקת החיבור כדי לוודא שההגדרה תקינה.
- אם הבדיקה תסתיים בהצלחה, לוחצים על הפעלה מיידית כדי לבצע ייצוא ראשוני.
- עוקבים אחרי סטטוס החיבור בדף Connect Overview.
הגדרת פיד ב-Google SecOps להטמעה של יומני Tanium Patch
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על + הוספת פיד חדש.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Tanium Patch logs). - בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
- בוחרים באפשרות Tanium Patch בתור סוג היומן.
- לוחצים על הבא.
- מציינים ערכים לפרמטרים הבאים של הקלט:
- S3 URI:
s3://tanium-patch-logs/tanium/patch/ - אפשרויות למחיקת מקורות: בוחרים את אפשרות המחיקה לפי ההעדפה.
- הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון. ברירת המחדל היא 180 ימים.
- מזהה מפתח הגישה: מפתח הגישה של המשתמש עם גישה לקטגוריית S3.
- מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3.
- מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות של נתוני אירועים: התווית שמוחלת על האירועים מהפיד הזה.
- S3 URI:
- לוחצים על הבא.
- בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | לוגיקה |
|---|---|---|
| מבזקים | 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 |
הערך נלקח מהשדה 'חומרה' ביומן הגולמי, עבור האינדקס המתאים של השדה 'שם'. אם הערך הוא Critical, רמת החומרה מוגדרת כ-HIGH. אם הערך הוא Important, רמת החומרה מוגדרת כ-MEDIUM. אחרת, רמת החומרה מוגדרת כ-UNKNOWN_SEVERITY. |
| חוּמרה | principal.asset.vulnerabilities.severity_details |
הערך נלקח מהשדה 'חומרה' ביומן הגולמי, עבור האינדקס המתאים של השדה 'שם'. אם הערך הוא Critical או Important, פרטי החומרה מוגדרים לערך היומן הגולמי. |
| כותרת | principal.asset.vulnerabilities.name |
הערך נלקח מהשדה 'כותרת' ביומן הגולמי. |
| כותרת | security_result.description |
הערך נלקח מהשדה 'כותרת' ביומן הגולמי, עבור האינדקס המתאים של השדה 'סטטוס התקנה'. אם הערך של 'סטטוס התקנה' הוא לא 'הותקן', התיאור מוגדר לערך ביומן הגולמי. |
| - | 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.