איסוף יומנים של 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
- יוצרים קטגוריה ב-Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה
- שומרים את השם והאזור של הקטגוריה לעיון בהמשך (לדוגמה,
tanium-discover-logs). - יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
- בוחרים את המשתמש שנוצר.
- לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
- בקטע Access Keys, לוחצים על Create Access Key.
- בוחרים באפשרות שירות של צד שלישי בתור תרחיש השימוש.
- לוחצים על הבא.
- אופציונלי: מוסיפים תג תיאור.
- לוחצים על Create access key (יצירת מפתח גישה).
- לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לשימוש מאוחר יותר.
- לוחצים על סיום.
- לוחצים על הכרטיסייה הרשאות.
- בקטע Permissions policies, לוחצים על Add permissions.
- לוחצים על הוספת הרשאות.
- בוחרים באפשרות צירוף מדיניות ישירות.
- מחפשים את המדיניות AmazonS3FullAccess ובוחרים בה.
- לוחצים על הבא.
- לוחצים על הוספת הרשאות.
הגדרת הרשאות בקטגוריית Amazon S3
- במסוף Amazon S3, בוחרים את הקטגוריה שיצרתם קודם.
- לוחצים על הרשאות > מדיניות של מאגר.
בעורך מדיניות הקטגוריה, מוסיפים את המדיניות הבאה:
{ "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/*" ] } ] }מחליפים את המשתנים הבאים:
- משנים את
YOUR_ACCOUNT_IDלמזהה החשבון ב-AWS. - אם השם שונה, מחליפים את
tanium-discover-logsבשם הקטגוריה בפועל. - אם שם המשתמש שונה, מחליפים את
tanium-connect-s3-userבשם המשתמש בפועל ב-IAM.
- משנים את
לוחצים על Save.
הגדרת Tanium Connect לייצוא ל-S3
- נכנסים לTanium Console כאדמינים.
- עוברים אל Tanium Connect > Connections.
- לוחצים על יצירת חיבור.
- בקטע General Information, מציינים את פרטי ההגדרה הבאים:
- שם: מזינים שם תיאורי (לדוגמה,
Tanium Discover to S3). - תיאור: מזינים תיאור משמעותי (לדוגמה,
Export Tanium Discover interface data to S3 for Google SecOps ingestion). - הפעלה: בוחרים באפשרות הזו כדי להפעיל את החיבור.
- רמת היומן: בוחרים באפשרות מידע (ברירת מחדל) או משנים לפי הצורך.
- שם: מזינים שם תיאורי (לדוגמה,
- בקטע Configuration (הגדרה), בוחרים באפשרות Tanium Discover בשדה Source (מקור).
- מגדירים את הגדרות המקור של Discover:
- סוג הדוח: בוחרים את סוג הממשקים שרוצים לייצא:
- הכול: ייצוא של כל הממשקים ב-Discover.
- מנוהל: ייצוא ממשקים שמותקן בהם Tanium Client.
- לא מנוהל: ייצוא ממשקים שלא מותקן בהם Tanium Client.
- עם תווית: ייצוא של כל הממשקים שהוחלה עליהם תווית.
- Unlabeled (ללא תוויות): ייצוא ממשקים שלא הוחלו עליהם תוויות.
- התעלמות: ייצוא ממשקי API שסומנו כהתעלמות.
- לא ניתנים לניהול: ייצוא של ממשקי API שסומנו כלא ניתנים לניהול.
- סוג הדוח: בוחרים את סוג הממשקים שרוצים לייצא:
- בקטע Destination (יעד), בוחרים באפשרות AWS S3.
- מספקים את פרטי ההגדרה הבאים:
- שם היעד: מזינים שם (לדוגמה,
Google SecOps S3 Bucket). - מפתח גישה ל-AWS: מזינים את מזהה מפתח הגישה של משתמש ה-IAM שנוצר קודם.
- מפתח סודי של AWS: מזינים את מפתח הגישה הסודי של משתמש IAM שנוצר קודם.
- שם הקטגוריה: מזינים את שם הקטגוריה ב-S3 (לדוגמה,
tanium-discover-logs). - Bucket Path (נתיב לדלי): אופציונלי. מזינים קידומת נתיב (לדוגמה,
tanium/discover/). - אזור: בוחרים את האזור ב-AWS שבו נמצאת הקטגוריה (לדוגמה,
us-east-1).
- שם היעד: מזינים שם (לדוגמה,
- בקטע Format (פורמט), מגדירים את פורמט הפלט:
- סוג הפורמט: בוחרים באפשרות JSON.
- כולל כותרות עמודות: בוחרים אם רוצים לכלול כותרות עמודות.
- יצירת מסמך: מבטלים את הסימון של האפשרות הזו כדי לשלוח נתוני JSON גולמיים.
- אופציונלי: בקטע Configure Output (הגדרת הפלט), מגדירים מסננים:
- מסנן: אפשר להשתמש במסננים כדי לייצא תוויות ספציפיות. לדוגמה, אם רוצים לייצא את כל הממשקים שתויגו בתווית Lost Interface (ממשק שאבד), צריך להחיל מסנן של ביטוי רגולרי ולהקליד Lost Interface (ממשק שאבד) כטקסט להתאמה בעמודת היעד Labels (תוויות).
- עמודות בהתאמה אישית: מוסיפים עמודות בהתאמה אישית שרלוונטיות לתרחיש השימוש.
- בקטע Schedule (תזמון), מגדירים מתי החיבור יפעל:
- סוג התזמון: בוחרים באפשרות Cron.
- ביטוי Cron: מזינים ביטוי Cron לייצוא קבוע (לדוגמה,
0 */6 * * *לייצוא כל 6 שעות). - תאריך התחלה: הגדרת תאריך ההתחלה של התזמון.
- לוחצים על שמירת השינויים.
- בדף Connect Overview (סקירה כללית של Connect), עוברים אל Connections (חיבורים).
- לוחצים על הקישור שיצרתם (Tanium Discover to S3).
- לוחצים על Run Now (הפעלה עכשיו) כדי לבדוק את החיבור.
- מאשרים שרוצים להפעיל את החיבור.
- עוקבים אחרי סטטוס החיבור ומוודאים שהנתונים של ממשק הגילוי מיוצאים לקטגוריית S3.
אופציונלי: יצירת משתמש IAM ומפתחות עם הרשאת קריאה בלבד ל-Google SecOps
- עוברים אל AWS Console > IAM > Users > Add users.
- לוחצים על הוספת משתמשים.
- מספקים את פרטי ההגדרה הבאים:
- משתמש: מזינים
secops-reader. - סוג הגישה: בוחרים באפשרות מפתח גישה – גישה פרוגרמטית.
- משתמש: מזינים
- לוחצים על יצירת משתמש.
- מצרפים מדיניות קריאה מינימלית (מותאמת אישית): משתמשים > secops-reader > הרשאות > הוספת הרשאות > צירוף מדיניות ישירות > יצירת מדיניות.
בעורך ה-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" } ] }מגדירים את השם ל-
secops-reader-policy.עוברים אל יצירת מדיניות > מחפשים או בוחרים > הבא > הוספת הרשאות.
עוברים אל Security credentials > Access keys > Create access key (פרטי כניסה לאבטחה > מפתחות גישה > יצירת מפתח גישה).
מורידים את קובץ ה-CSV (הערכים האלה מוזנים לפיד).
הגדרה של פיד ב-Google SecOps להטמעה של יומנים מ-Tanium Discover
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על + הוספת פיד חדש.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Tanium Discover logs). - בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
- בוחרים באפשרות Tanium Discover בתור סוג היומן.
- לוחצים על הבא.
- מציינים ערכים לפרמטרים הבאים של הקלט:
- S3 URI:
s3://tanium-discover-logs/tanium/discover/(צריך לשנות את הנתיב אם השתמשתם בשם או בנתיב אחרים של קטגוריה). - אפשרויות למחיקת המקור: בוחרים את אפשרות המחיקה הרצויה.
- הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון. ברירת המחדל היא 180 ימים.
- מזהה מפתח גישה: מפתח גישה של משתמש עם גישה לקטגוריית S3 (מהמשתמש עם הרשאת קריאה בלבד שנוצר למעלה).
- מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3 (מהמשתמש עם הרשאת קריאה בלבד שנוצר למעלה).
- מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות להוספה: התווית שתתווסף לאירועים מהפיד הזה.
- S3 URI:
- לוחצים על הבא.
- בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
טבלת מיפוי 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.