איסוף Google Cloud יומני IoT
גרסת כלי הניתוח: 5.0
במאמר הזה מוסבר איך לייצא Google Cloud יומני IoT אל Google Security Operations באמצעות Cloud Storage. הכלי מנתח את היומנים בפורמט JSON, ממפה את השדות שלהם לשדות התואמים בסכימת ה-UDM של Google SecOps, ובסופו של דבר הופך את נתוני היומנים הגולמיים לפורמט מובנה שמתאים לניתוח אבטחה.
לפני שמתחילים
חשוב לוודא שמתקיימות דרישות הסף הבאות:
- מופע של Google SecOps
- האינטרנט של הדברים (IoT) מוגדר ופעיל בסביבת Google Cloud שלך
- גישה עם הרשאות ל- Google Cloud
יצירת קטגוריה של Google Cloud Storage
- נכנסים למסוףGoogle Cloud .
נכנסים לדף Cloud Storage Buckets.
לוחצים על Create.
ממלאים את פרטי הקטגוריה בדף Create a bucket. אחרי כל אחד מהשלבים הבאים, לוחצים על המשך כדי לעבור לשלב הבא:
בקטע Get started:
- מזינים שם ייחודי שעומד בדרישות לשמות של קטגוריות. לדוגמה, cloudiot-logs.
כדי להפעיל מרחב שמות היררכי, לוחצים על החץ להרחבת הקטע Optimize for file oriented and data-intensive workloads ובוחרים באפשרות Enable Hierarchical namespace on this bucket.
כדי להוסיף תווית לקטגוריה, לוחצים על החץ להרחבת הקטע Labels.
לוחצים על הוספת תווית ומציינים מפתח וערך לתווית.
בקטע Choose where to store your data, מבצעים את הפעולות הבאות:
- בוחרים סוג מיקום.
בתפריט של סוג המיקום, בוחרים מיקום שבו נתוני האובייקטים בקטגוריה יישמרו באופן קבוע.
כדי להגדיר שכפול בין מאגרי מידע, מרחיבים את הקטע הגדרת שכפול בין מאגרי מידע.
בקטע Choose a storage class for your data, בוחרים default storage class לקטגוריה, או בוחרים ב-Autoclass לניהול אוטומטי של סוג האחסון (storage class) של נתוני הקטגוריה.
בקטע Choose how to control access to objects, בוחרים באפשרות not כדי לאכוף את public access prevention, ובוחרים access control model לאובייקטים של הקטגוריה.
בקטע Choose how to protect object data:
- בוחרים באחת מהאפשרויות בקטע Data protection (הגנה על נתונים) שרוצים להגדיר לקטגוריה.
- כדי לבחור איך נתוני האובייקטים יוצפנו, לוחצים על החץ להרחבה שנקרא Data encryption ובוחרים Data encryption method.
לוחצים על יצירה.
הגדרת ייצוא יומנים ב- Google Cloud IoT
- נכנסים לחשבון Google Cloud באמצעות החשבון עם ההרשאות.
- בסרגל החיפוש, מחפשים את האפשרות Logging (רישום ביומן) ובוחרים אותה.
- ב-Log Explorer, מסננים את היומנים על ידי בחירה באפשרות Cloud IoT Core ולוחצים על Apply.
- לוחצים על פעולות נוספות.
- לוחצים על Create Sink.
- מזינים את ההגדרות הבאות:
- פרטי יעד: מזינים שם ותיאור.
- לוחצים על הבא.
- יעד Sink: בוחרים באפשרות קטגוריה של Cloud Storage.
- Cloud Storage Bucket (קטגוריה של Cloud Storage): בוחרים את הקטגוריה שיצרתם קודם או יוצרים קטגוריה חדשה.
- לוחצים על הבא.
- בחירת יומנים שיכללו ב-Sink: יומן ברירת מחדל מאוכלס כשבוחרים באפשרות ב-קטגוריה של Cloud Storage.
- לוחצים על הבא.
- אופציונלי: בחירת יומנים לסינון ממאגר הנתונים: בוחרים את היומנים שלא רוצים להעביר למאגר הנתונים.
לוחצים על Create Sink.
במסוף GCP, עוברים אל Logging > Log Router.
לוחצים על Create Sink.
הגדרת פידים
כדי להגדיר פיד:
- עוברים אל SIEM Settings (הגדרות SIEM) > Feeds (פידים).
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה Feed name, נותנים שם לפיד, לדוגמה GCP Cloud IoT Logs.
- בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות GCP Cloud IoT בתור סוג היומן.
- לוחצים על Get Service Account בתור Chronicle Service Account.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
- כתובת URI של קטגוריית אחסון: Google Cloud כתובת ה-URL של קטגוריית האחסון בפורמט
gs://my-bucket/<value>/. אפשרויות למחיקת מקור: בוחרים את אפשרות המחיקה הרצויה.
הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון. ברירת המחדל היא 180 ימים
- כתובת URI של קטגוריית אחסון: Google Cloud כתובת ה-URL של קטגוריית האחסון בפורמט
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
| insertId | metadata.product_log_id | ממופה ישירות מהשדה insertId. |
| jsonPayload.eventType | metadata.product_event_type | ממופה ישירות מהשדה jsonPayload.eventType. |
| jsonPayload.protocol | network.application_protocol | ממופה ישירות מהשדה jsonPayload.protocol. |
| jsonPayload.serviceName | target.application | ממופה ישירות מהשדה jsonPayload.serviceName. |
| jsonPayload.status.description | metadata.description | ממופה ישירות מהשדה jsonPayload.status.description. |
| jsonPayload.status.message | security_result.description | ממופה ישירות מהשדה jsonPayload.status.message. |
| labels.device_id | principal.asset_id | הערך מוגדר בתור Device ID: בשרשור עם הערך של השדה labels.device_id. |
| receiveTimestamp | metadata.event_timestamp | מנותח מהשדה receiveTimestamp ומשמש לאכלוס של events.timestamp וגם של metadata.event_timestamp. |
| resource.labels.device_num_id | target.resource.product_object_id | ממופה ישירות מהשדה resource.labels.device_num_id. |
| resource.labels.location | target.location.name | ממופה ישירות מהשדה resource.labels.location. |
| resource.labels.project_id | target.resource.name | ממופה ישירות מהשדה resource.labels.project_id. |
| resource.type | target.resource.resource_subtype | ממופה ישירות מהשדה resource.type. |
| severity | security_result.severity | ממופה מהשדה severity על סמך הלוגיקה הבאה:– אם הערך של severity הוא DEFAULT, DEBUG, INFO או NOTICE, אז הערך של security_result.severity מוגדר כ-INFORMATIONAL.– אם הערך של severity הוא WARNING או ERROR, הערך של security_result.severity מוגדר כ-MEDIUM.– אם הערך של severity הוא CRITICAL, ALERT או EMERGENCY, הערך של security_result.severity מוגדר כ-HIGH. |
| לא רלוונטי | metadata.log_type | מקודד באופן קשיח ל-GCP_CLOUDIOT. |
| לא רלוונטי | metadata.vendor_name | הוזן קוד קשיח ל-Google Cloud Platform. |
| לא רלוונטי | metadata.event_type | מקודד בתוך הקוד ל-GENERIC_EVENT. |
| לא רלוונטי | metadata.product_name | הוזן קוד קשיח ל-GCP_CLOUDIOT. |
יומן שינויים
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.