איסוף יומנים של Tanium Discover

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני Tanium Discover ב-Google Security Operations באמצעות Amazon S3, באמצעות יכולת הייצוא המקורית של Tanium Connect ל-S3. ‫Tanium Discover מגלה באופן אוטומטי ממשקי רשת ונכסים בסביבה שלכם, ומספק לכם תצוגה של נקודות קצה מנוהלות ולא מנוהלות, מכשירי רשת ומערכות מחוברות אחרות. הכלי לניתוח מחלץ שדות מיומני ה-JSON, משנה שדות ספציפיים כמו כתובות MAC ופרטי מערכת ההפעלה, וממפה אותם ל-UDM. הוא מטפל בסוגים שונים של נתונים, מוסיף מטא-נתונים כמו פרטי ספק ופרטי מוצר, וממזג את השדות שחולצו למבנה הסופי של אירוע UDM.

לפני שמתחילים

חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מופע של Google SecOps
  • גישת אדמין ל-Tanium Connect ול-Tanium Console
  • ‫Tanium Discover בגרסה 2.11 ואילך מותקן ומוגדר
  • גישת אדמין ל-AWS‏ (S3, ‏ IAM)

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

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

הגדרת הרשאות בקטגוריית Amazon S3

  1. במסוף Amazon S3, בוחרים את הקטגוריה שיצרתם קודם.
  2. לוחצים על הרשאות > מדיניות של מאגר.
  3. בעורך מדיניות הקטגוריה, מוסיפים את המדיניות הבאה:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::YOUR_ACCOUNT_ID:user/tanium-connect-s3-user"
          },
          "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:ListBucket"
          ],
          "Resource": [
            "arn:aws:s3:::tanium-discover-logs",
            "arn:aws:s3:::tanium-discover-logs/*"
          ]
        }
      ]
    }
    
  4. מחליפים את המשתנים הבאים:

    • משנים את YOUR_ACCOUNT_ID למזהה החשבון ב-AWS.
    • אם השם שונה, מחליפים את tanium-discover-logs בשם הקטגוריה בפועל.
    • אם שם המשתמש שונה, מחליפים את tanium-connect-s3-user בשם המשתמש בפועל ב-IAM.
  5. לוחצים על Save.

הגדרת Tanium Connect לייצוא ל-S3

  1. נכנסים לTanium Console כאדמינים.
  2. עוברים אל Tanium Connect > Connections.
  3. לוחצים על יצירת חיבור.
  4. בקטע General Information, מציינים את פרטי ההגדרה הבאים:
    • שם: מזינים שם תיאורי (לדוגמה, Tanium Discover to S3).
    • תיאור: מזינים תיאור משמעותי (לדוגמה, Export Tanium Discover interface data to S3 for Google SecOps ingestion).
    • הפעלה: בוחרים באפשרות הזו כדי להפעיל את החיבור.
    • רמת היומן: בוחרים באפשרות מידע (ברירת מחדל) או משנים לפי הצורך.
  5. בקטע Configuration (הגדרה), בוחרים באפשרות Tanium Discover בשדה Source (מקור).
  6. מגדירים את הגדרות המקור של Discover:
    • סוג הדוח: בוחרים את סוג הממשקים שרוצים לייצא:
      • הכול: ייצוא של כל הממשקים ב-Discover.
      • מנוהל: ייצוא ממשקים שמותקן בהם Tanium Client.
      • לא מנוהל: ייצוא ממשקים שלא מותקן בהם Tanium Client.
      • עם תווית: ייצוא של כל הממשקים שהוחלה עליהם תווית.
      • Unlabeled (ללא תוויות): ייצוא ממשקים שלא הוחלו עליהם תוויות.
      • התעלמות: ייצוא ממשקי API שסומנו כהתעלמות.
      • לא ניתנים לניהול: ייצוא של ממשקי API שסומנו כלא ניתנים לניהול.
  7. בקטע Destination (יעד), בוחרים באפשרות AWS S3.
  8. מספקים את פרטי ההגדרה הבאים:
    • שם היעד: מזינים שם (לדוגמה, Google SecOps S3 Bucket).
    • מפתח גישה ל-AWS: מזינים את מזהה מפתח הגישה של משתמש ה-IAM שנוצר קודם.
    • מפתח סודי של AWS: מזינים את מפתח הגישה הסודי של משתמש IAM שנוצר קודם.
    • שם הקטגוריה: מזינים את שם הקטגוריה ב-S3 (לדוגמה, tanium-discover-logs).
    • ‫Bucket Path (נתיב לדלי): אופציונלי. מזינים קידומת נתיב (לדוגמה, tanium/discover/).
    • אזור: בוחרים את האזור ב-AWS שבו נמצאת הקטגוריה (לדוגמה, us-east-1).
  9. בקטע Format (פורמט), מגדירים את פורמט הפלט:
    • סוג הפורמט: בוחרים באפשרות JSON.
    • כולל כותרות עמודות: בוחרים אם רוצים לכלול כותרות עמודות.
    • יצירת מסמך: מבטלים את הסימון של האפשרות הזו כדי לשלוח נתוני JSON גולמיים.
  10. אופציונלי: בקטע Configure Output (הגדרת הפלט), מגדירים מסננים:
    • מסנן: אפשר להשתמש במסננים כדי לייצא תוויות ספציפיות. לדוגמה, אם רוצים לייצא את כל הממשקים שתויגו בתווית Lost Interface (ממשק שאבד), צריך להחיל מסנן של ביטוי רגולרי ולהקליד Lost Interface (ממשק שאבד) כטקסט להתאמה בעמודת היעד Labels (תוויות).
    • עמודות בהתאמה אישית: מוסיפים עמודות בהתאמה אישית שרלוונטיות לתרחיש השימוש.
  11. בקטע Schedule (תזמון), מגדירים מתי החיבור יפעל:
    • סוג התזמון: בוחרים באפשרות Cron.
    • ביטוי Cron: מזינים ביטוי Cron לייצוא קבוע (לדוגמה, 0 */6 * * * לייצוא כל 6 שעות).
    • תאריך התחלה: הגדרת תאריך ההתחלה של התזמון.
  12. לוחצים על שמירת השינויים.
  13. בדף Connect Overview (סקירה כללית של Connect), עוברים אל Connections (חיבורים).
  14. לוחצים על הקישור שיצרתם (Tanium Discover to S3).
  15. לוחצים על Run Now (הפעלה עכשיו) כדי לבדוק את החיבור.
  16. מאשרים שרוצים להפעיל את החיבור.
  17. עוקבים אחרי סטטוס החיבור ומוודאים שהנתונים של ממשק הגילוי מיוצאים לקטגוריית S3.

אופציונלי: יצירת משתמש IAM ומפתחות עם הרשאת קריאה בלבד ל-Google SecOps

  1. עוברים אל AWS Console > IAM > Users > Add users.
  2. לוחצים על הוספת משתמשים.
  3. מספקים את פרטי ההגדרה הבאים:
    • משתמש: מזינים secops-reader.
    • סוג הגישה: בוחרים באפשרות מפתח גישה – גישה פרוגרמטית.
  4. לוחצים על יצירת משתמש.
  5. מצרפים מדיניות קריאה מינימלית (מותאמת אישית): משתמשים > secops-reader > הרשאות > הוספת הרשאות > צירוף מדיניות ישירות > יצירת מדיניות.
  6. בעורך ה-JSON, מזינים את המדיניות הבאה:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["s3:GetObject"],
          "Resource": "arn:aws:s3:::tanium-discover-logs/*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": "arn:aws:s3:::tanium-discover-logs"
        }
      ]
    }
    
  7. מגדירים את השם ל-secops-reader-policy.

  8. עוברים אל יצירת מדיניות > מחפשים או בוחרים > הבא > הוספת הרשאות.

  9. עוברים אל Security credentials > Access keys > Create access key (פרטי כניסה לאבטחה > מפתחות גישה > יצירת מפתח גישה).

  10. מורידים את קובץ ה-CSV (הערכים האלה מוזנים לפיד).

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

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

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
CentralizedNmap principal.asset.attribute.labels.key הערך CentralizedNmap מוקצה על ידי מנתח התוכן.
CentralizedNmap principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה CentralizedNmap ביומן הגולמי והומר למחרוזת.
IpAddress principal.asset.ip הערך נלקח ישירות מהשדה IpAddress ביומן הגולמי.
IpAddress principal.ip הערך נלקח ישירות מהשדה IpAddress ביומן הגולמי.
Labels principal.asset.attribute.labels.key הערך Labels מוקצה על ידי מנתח התוכן.
Labels principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה Labels ביומן הגולמי.
MacAddress principal.asset.mac הערך נלקח ישירות מהשדה MacAddress ביומן הגולמי, המקפים מוחלפים בנקודתיים והערך מומר לאותיות קטנות.
MacAddress principal.asset.product_object_id משרשר את המחרוזת 'TANIUM:‎' עם השדה MacAddress (אחרי המרה לאותיות קטנות והחלפת מקפים בנקודתיים).
MacAddress principal.mac הערך נלקח ישירות מהשדה MacAddress ביומן הגולמי, המקפים מוחלפים בנקודתיים והערך מומר לאותיות קטנות.
MacOrganization principal.asset.attribute.labels.key הערך MacOrganization מוקצה על ידי מנתח התוכן.
MacOrganization principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה MacOrganization ביומן הגולמי והומר למחרוזת.
Managed principal.asset.attribute.labels.key הערך 'מנוהל' מוקצה על ידי מנתח התוכן.
Managed principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה Managed ביומן הגולמי והומר למחרוזת.
Os principal.asset.platform_software.platform אם הערך של Os הוא Windows, הערך שמוגדר הוא WINDOWS. אם Os הוא Linux, הערך הוא LINUX. אחרת, הערך הוא UNKNOWN_PLATFORM.
Os principal.platform אם הערך של Os הוא Windows, הערך שמוגדר הוא WINDOWS. אם Os הוא Linux, הערך הוא LINUX. אחרת, הערך הוא UNKNOWN_PLATFORM.
OsGeneration principal.asset.platform_software.platform_version הערך נלקח ישירות מהשדה OsGeneration ביומן הגולמי והומר למחרוזת.
OsGeneration principal.platform_version הערך נלקח ישירות מהשדה OsGeneration ביומן הגולמי והומר למחרוזת.
Ports principal.asset.attribute.labels.key הערך 'Ports' מוקצה על ידי כלי הניתוח.
Ports principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה Ports ביומן הגולמי.
Profile principal.asset.attribute.labels.key הערך Profile מוקצה על ידי מנתח התוכן.
Profile principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה Profile ביומן הגולמי.
TaniumComputerId principal.asset.attribute.labels.key הערך TaniumComputerId מוקצה על ידי מנתח התוכן.
TaniumComputerId principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה TaniumComputerId ביומן הגולמי והומר למחרוזת.
Unmanageable principal.asset.attribute.labels.key הערך 'לא ניתן לניהול' מוקצה על ידי מנתח התוכן.
Unmanageable principal.asset.attribute.labels.value הערך נלקח ישירות מהשדה Unmanageable ביומן הגולמי והומר למחרוזת. הערך נלקח מהשדה time ביומן הגולמי, עבר ניתוח והמרה לשניות מאז תקופת ה-Epoch. הערך SCAN_NETWORK מוקצה על ידי מנתח התוכן. הערך TANIUM_DISCOVER מוקצה על ידי מנתח התוכן. הערך Discover מוקצה על ידי מנתח התוכן. הערך Tanium מוקצה על ידי מנתח התוכן. הערך נלקח ישירות מהשדה HostName ביומן הגולמי. הערך נלקח מהשדה time ביומן הגולמי, עבר ניתוח והמרה לשניות מאז תקופת ה-Epoch.

יומן שינויים

צפייה ביומן השינויים של מנתח התוכן הזה

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