איסוף יומני תיקונים של 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

  1. נכנסים ל-Tanium Console.
  2. עוברים אל Modules > Patch.
  3. לוחצים על הגדרות בפינה השמאלית העליונה.
  4. בקטע Service Account (חשבון שירות), מגדירים את האפשרויות הבאות:
    • משתמש בחשבון שירות: בוחרים משתמש עם הרשאות מתאימות לתיקון.
    • מוודאים שלחשבון יש הרשאה של תפקיד משתמש עם גישת Connect.
  5. לוחצים על Save כדי להחיל את ההגדרה של חשבון השירות.

איסוף דרישות מוקדמות של תיקון Tanium

  1. נכנסים ל-Tanium Console כאדמינים.
  2. עוברים אל ניהול > הרשאות > משתמשים.
  3. יוצרים או מאתרים משתמש בחשבון שירות עם התפקידים הבאים:

    • תפקיד Patch Administrator או Patch Read Only User.
    • הרשאת התפקיד Connect User.
    • גישה לקבוצות מחשבים שנמצאות במעקב (מומלץ: קבוצת כל המחשבים).

הגדרה של קטגוריית AWS S3 ו-IAM ל-Google SecOps

  1. יוצרים קטגוריה ב-Amazon S3 לפי מדריך המשתמש הזה: יצירת קטגוריה
  2. שומרים את השם של ה-bucket ואת האזור לעיון בעתיד (לדוגמה, tanium-patch-logs).
  3. יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
  4. בוחרים את המשתמש שנוצר.
  5. לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
  6. בקטע מפתחות גישה, לוחצים על יצירת מפתח גישה.
  7. בוחרים באפשרות שירות של צד שלישי בתור תרחיש השימוש.
  8. לוחצים על הבא.
  9. אופציונלי: מוסיפים תג תיאור.
  10. לוחצים על Create access key (יצירת מפתח גישה).
  11. לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לשימוש מאוחר יותר.
  12. לוחצים על סיום.
  13. לוחצים על הכרטיסייה Permissions (הרשאות).
  14. בקטע Permissions policies, לוחצים על Add permissions.
  15. לוחצים על הוספת הרשאות.
  16. בוחרים באפשרות צירוף מדיניות ישירות.
  17. מחפשים את המדיניות AmazonS3FullAccess ובוחרים בה.
  18. לוחצים על הבא.
  19. לוחצים על הוספת הרשאות.

הגדרת יעד AWS S3 ב-Tanium Connect

  1. נכנסים ל-Tanium Console.
  2. עוברים אל Modules > Connect (מודולים > חיבור).
  3. לוחצים על יצירת חיבור.
  4. מספקים את פרטי ההגדרה הבאים:
    • שם: מזינים שם תיאורי (לדוגמה, Patch Data to S3 for SecOps).
    • תיאור: תיאור אופציונלי (לדוגמה, Export Patch compliance and deployment data to AWS S3 for Google SecOps ingestion).
    • הפעלה: בוחרים באפשרות הזו כדי להפעיל את החיבור כך שיפעל לפי לוח הזמנים.
  5. לוחצים על הבא.

הגדרת מקור החיבור

  1. בקטע מקור, מציינים את פרטי ההגדרה הבאים:
    • סוג המקור: בוחרים באפשרות שאלה שמורה.
    • שאלה שמורה: בוחרים אחת מהשאלות השמורות הבאות שקשורות לתיקון:
      • Patch - Deployment Results כדי לראות את סטטוס הפריסה של התיקון.
      • Patch - Missing Patches לנתוני תאימות של נקודות חולשה.
      • Patch - Installed Patches (תיקון – תיקונים מותקנים) למלאי תיקונים מותקנים.
      • Patch - Patch List כדי לראות את הסטטוס המלא של התיקון.
    • קבוצת מחשבים: בוחרים באפשרות כל המחשבים או בקבוצות מחשבים ספציפיות למעקב.
    • Refresh Interval (מרווח רענון): מגדירים מרווח מתאים לאיסוף הנתונים (לדוגמה, 1 hour (שעה אחת)).
  2. לוחצים על הבא.

הגדרת יעד ב-AWS S3

  1. בקטע יעד, מספקים את פרטי ההגדרה הבאים:
    • סוג היעד: בוחרים באפשרות 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/).
  2. לוחצים על הבא.

הגדרת מסננים

  1. בקטע Filters, מגדירים את אפשרויות סינון הנתונים:
    • שליחת פריטים חדשים בלבד: בוחרים באפשרות הזו כדי לשלוח רק תוצאות חדשות מאז הייצוא האחרון.
    • מסנני עמודות: אם צריך, אפשר להוסיף מסננים על סמך מאפיינים ספציפיים של תיקון (לדוגמה, סינון לפי חומרת התיקון או סטטוס הפריסה).
  2. לוחצים על הבא.

עיצוב נתונים ל-AWS S3

  1. בקטע Format (פורמט), מגדירים את פורמט הנתונים:
    • פורמט: בוחרים באפשרות JSON.
    • אפשרויות:
      • כולל כותרות: מבטלים את הסימון כדי שהכותרות לא ייכללו בפלט JSON.
      • כולל תאים ריקים: בוחרים לפי ההעדפה.
    • אפשרויות מתקדמות:
      • שמות קבצים: שימוש בשמות שמתבססים על חותמת זמן כברירת מחדל.
      • דחיסה: בוחרים באפשרות Gzip כדי לצמצם את עלויות האחסון ואת זמן ההעברה.
  2. לוחצים על הבא.

תזמון החיבור

  1. בקטע Schedule (לוח זמנים), מגדירים את לוח הזמנים לייצוא:
    • הפעלת תזמון: בוחרים באפשרות הזו כדי להפעיל ייצוא אוטומטי מתוזמן.
    • סוג התזמון: בוחרים באפשרות חוזר.
    • תדירות: בוחרים באפשרות שעתי לייצוא נתונים רגיל של תיקוני אבטחה.
    • שעת התחלה: מגדירים שעת התחלה מתאימה לייצוא הראשון.
  2. לוחצים על הבא.

שמירה ואימות של החיבור

  1. בודקים את הגדרות החיבור במסך הסיכום.
  2. לוחצים על שמירה כדי ליצור את הקישור.
  3. לוחצים על בדיקת החיבור כדי לוודא שההגדרה תקינה.
  4. אם הבדיקה תסתיים בהצלחה, לוחצים על הפעלה מיידית כדי לבצע ייצוא ראשוני.
  5. עוקבים אחרי סטטוס החיבור בדף Connect Overview.

הגדרת פיד ב-Google SecOps להטמעה של יומני Tanium Patch

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על + הוספת פיד חדש.
  3. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Tanium Patch logs).
  4. בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
  5. בוחרים באפשרות Tanium Patch בתור סוג היומן.
  6. לוחצים על הבא.
  7. מציינים ערכים לפרמטרים הבאים של הקלט:
    • S3 URI: s3://tanium-patch-logs/tanium/patch/
    • אפשרויות למחיקת מקורות: בוחרים את אפשרות המחיקה לפי ההעדפה.
    • הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון. ברירת המחדל היא 180 ימים.
    • מזהה מפתח הגישה: מפתח הגישה של המשתמש עם גישה לקטגוריית S3.
    • מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3.
    • מרחב השמות של הנכס: מרחב השמות של הנכס.
    • תוויות של נתוני אירועים: התווית שמוחלת על האירועים מהפיד הזה.
  8. לוחצים על הבא.
  9. בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.

טבלת מיפוי 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.