איסוף יומני הקשר של Cloud Storage
גרסת כלי הניתוח: 1.0
במאמר הזה מוסבר איך לייצא יומני הקשר של Cloud Storage ולהטמיע אותם ב-Google Security Operations באמצעות Cloud Storage. הכלי מנקה ומבנה נתוני JSON נכנסים מיומני Cloud Storage. לאחר מכן, המערכת ממפה שדות רלוונטיים למודל הנתונים המאוחד (UDM), ומעשירה את הנתונים באמצעות תוויות ומטא-נתונים כדי להציג ולנתח אותם באופן עקבי בסביבת האבטחה.
לפני שמתחילים
חשוב לוודא שמתקיימות דרישות הסף הבאות:
- מופע של Google SecOps.
- Cloud Storage מוגדר ופעיל בסביבת Google Cloud שלכם.
- גישת אדמין ל- Google Cloud והרשאות מתאימות.
יצירת קטגוריה של Cloud Storage
- נכנסים לGoogle Cloud מסוף.
נכנסים לדף Cloud Storage Buckets.
לוחצים על Create.
ממלאים את פרטי הקטגוריה בדף Create a bucket. אחרי כל אחד מהשלבים הבאים, לוחצים על המשך כדי לעבור לשלב הבא:
בקטע Get started (תחילת העבודה), מבצעים את הפעולות הבאות:
- מזינים שם ייחודי שעומד בדרישות לשמות של קטגוריות. לדוגמה, google-storage-context-logs.
כדי להפעיל את מרחב השמות ההיררכי, לוחצים על החץ להרחבה כדי להרחיב את הקטע Optimize for file oriented and data-intensive workloads (אופטימיזציה לעומסי עבודה שמתמקדים בקבצים ובנתונים), ואז בוחרים באפשרות Enable Hierarchical namespace on this bucket (הפעלת מרחב שמות היררכי בדלי הזה).
כדי להוסיף תווית של מאגר, לוחצים על החץ להרחבה כדי להרחיב את הקטע תוויות.
לוחצים על הוספת תווית ומציינים מפתח וערך לתווית.
בקטע 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.
לוחצים על יצירה.
הגדרת ייצוא של יומני הקשר של Cloud Storage
- נכנסים לGoogle Cloud מסוף.
- עוברים אל Logging > Log Router.
- לוחצים על Create Sink.
מציינים את פרמטרי ההגדרה הבאים:
- שם יעד: מזינים שם בעל משמעות, לדוגמה,
Storage-Context-Sink. - יעד של Sink: בוחרים באפשרות Cloud Storage Storage ומזינים את ה-URI של הקטגוריה, לדוגמה,
gs://google-storage-context-logs/. מסנן יומן:
logName="*storage*" resource.type="gcs_bucket"
- שם יעד: מזינים שם בעל משמעות, לדוגמה,
לוחצים על יצירה.
הגדרת הרשאות ל-Cloud Storage
- נכנסים אל IAM & Admin > IAM.
- מאתרים את חשבון השירות של Cloud Logging.
- מקצים את התפקיד roles/storage.admin בקטגוריה.
הגדרת פידים
יש שתי נקודות כניסה שונות להגדרת פידים בפלטפורמת Google SecOps:
- הגדרות SIEM > פידים > הוספת פיד חדש
- מרכז התוכן > חבילות תוכן > להתחלה
איך מגדירים את פיד ההקשר של האחסון בענן
- לוחצים על חבילת פלטפורמת Google Cloud Compute.
- מאתרים את סוג היומן GCP Google Cloud Storage Context ולוחצים על Add new feed (הוספת פיד חדש).
מציינים ערכים בשדות הבאים:
- סוג המקור: Google Cloud Storage V2.
- URI של קטגוריית אחסון: כתובת URL של קטגוריית Cloud Storage, לדוגמה,
gs://compute-context-logs/. כתובת ה-URL צריכה להסתיים בקו נטוי (/). - אפשרויות למחיקת מקורות: בוחרים את אפשרות המחיקה בהתאם להעדפה.
- הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרונים. ברירת המחדל היא 180 ימים.
אפשרויות מתקדמות
- שם הפיד: ערך שמאכלס מראש את השדה ומזהה את הפיד.
- מרחב שמות של נכס: מרחב השמות שמשויך לפיד.
- תוויות להעברה: תוויות שמוחלות על כל האירועים מהפיד הזה.
- לוחצים על יצירת פיד.
למידע נוסף על הגדרת כמה פידים לסוגים שונים של יומנים בתוך משפחת המוצרים הזו, אפשר לעיין במאמר בנושא הגדרת פידים לפי מוצר.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
| ancestors | event.idm.entity.entity.resource.attribute.labels.value | הערך של ancestor מחולץ מהמערך ancestors ביומן הגולמי. |
| assetType | event.idm.entity.entity.resource.type | ממופה ישירות מהשדה assetType ביומן הגולמי. |
| insertId | event.idm.entity.metadata.product_entity_id | ממופה ישירות מהשדה insertId ביומן הגולמי. |
| labels.compute.googleapis.com/resource_name | event.idm.entity.entity.resource.name | ממופה ישירות מהשדה labels.compute.googleapis.com/resource_name ביומן הגולמי. |
| labels.k8s-pod/controller-revision-hash | event.idm.entity.entity.file.sha1 | ממופה ישירות מהשדה labels.k8s-pod/controller-revision-hash ביומן הגולמי. |
| labels.k8s-pod/name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה labels.k8s-pod/name ביומן הגולמי. |
| labels.k8s-pod/pod-template-generation | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה labels.k8s-pod/pod-template-generation ביומן הגולמי. |
| logName | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה logName ביומן הגולמי. |
| name | event.idm.entity.entity.resource.name | ממופה ישירות משדה השם ביומן הגולמי. |
| receiveTimestamp | event.idm.entity.entity.resource.attribute.creation_time | הומר לפורמט חותמת זמן מהשדה receiveTimestamp ביומן הגולמי. |
| resource.data.iamConfiguration.publicAccessPrevention | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.iamConfiguration.publicAccessPrevention ביומן הגולמי. |
| resource.data.id | event.idm.entity.entity.resource.product_object_id | ממופה ישירות מהשדה resource.data.id ביומן הגולמי. |
| resource.data.kind | event.idm.entity.entity.resource.type | ממופה ישירות מהשדה resource.data.kind ביומן הגולמי. |
| resource.data.labels.app_id | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.app_id ביומן הגולמי. |
| resource.data.labels.app_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.app_name ביומן הגולמי. |
| resource.data.labels.bucket_id | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.bucket_id ביומן הגולמי. |
| resource.data.labels.data_classification | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.data_classification ביומן הגולמי. |
| resource.data.labels.dept_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.dept_name ביומן הגולמי. |
| resource.data.labels.dept_no | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.dept_no ביומן הגולמי. |
| resource.data.labels.environment | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.environment ביומן הגולמי. |
| resource.data.labels.goog-composer-environment | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.goog-composer-environment ביומן הגולמי. |
| resource.data.labels.goog-composer-location | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.goog-composer-location ביומן הגולמי. |
| resource.data.labels.goog-composer-version | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.goog-composer-version ביומן הגולמי. |
| resource.data.labels.technical_contact | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.technical_contact ביומן הגולמי. |
| resource.data.labels.type | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.type ביומן הגולמי. |
| resource.data.location | event.idm.entity.entity.location.name | ממופה ישירות מהשדה resource.data.location ביומן הגולמי. |
| resource.data.projectNumber | event.idm.entity.entity.resource.attribute.cloud.project.id | ממופה ישירות מהשדה resource.data.projectNumber ביומן הגולמי. |
| resource.data.selfLink | event.idm.entity.entity.url | ממופה ישירות מהשדה resource.data.selfLink ביומן הגולמי. |
| resource.data.timeCreated | event.idm.entity.entity.resource.attribute.creation_time | הנתונים מומרים לפורמט של חותמת זמן מהשדה resource.data.timeCreated ביומן הגולמי. |
| resource.data.updated | event.idm.entity.entity.resource.attribute.last_update_time | הערך מומר לפורמט חותמת זמן מהשדה resource.data.updated ביומן הגולמי. |
| resource.discoveryDocumentUri | event.idm.entity.entity.file.full_path | ממופה ישירות מהשדה resource.discoveryDocumentUri ביומן הגולמי. |
| resource.labels.cluster_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.cluster_name ביומן הגולמי. |
| resource.labels.container_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.container_name ביומן הגולמי. |
| resource.labels.location | event.idm.entity.entity.location.name | ממופה ישירות מהשדה resource.labels.location ביומן הגולמי. |
| resource.labels.namespace_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.namespace_name ביומן הגולמי. |
| resource.labels.pod_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.pod_name ביומן הגולמי. |
| resource.labels.project_id | event.idm.entity.entity.resource.attribute.cloud.project.id | ממופה ישירות מהשדה resource.labels.project_id ביומן הגולמי. |
| resource.parent | event.idm.entity.entity.resource.parent | ממופה ישירות מהשדה resource.parent ביומן הגולמי. |
| resource.type | event.idm.entity.entity.resource.type | ממופה ישירות מהשדה resource.type ביומן הגולמי. |
| resource.version | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.version ביומן הגולמי. |
| textPayload | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה textPayload ביומן הגולמי. |
| לא רלוונטי | event.idm.entity.metadata.collected_timestamp | חותמת הזמן שנאספת היא חותמת הזמן של רשומת היומן. |
| לא רלוונטי | event.idm.entity.metadata.entity_type | הוזן קוד קשיח ל-RESOURCE. |
| לא רלוונטי | event.idm.entity.metadata.product_name | הוזן קוד קשיח ל-GCP Storage Context. |
| לא רלוונטי | event.idm.entity.metadata.vendor_name | הוזן קוד קשיח ל-Google Cloud Platform. |
| לא רלוונטי | event.idm.entity.entity.resource.attribute.cloud.environment | הוזן קוד קשיח ל-GOOGLE_CLOUD_PLATFORM. |
| לא רלוונטי | event.idm.entity.entity.resource.resource_type | הוזן קוד קשיח ל-STORAGE_BUCKET. |
| לא רלוונטי | event.timestamp | חותמת הזמן של האירוע היא חותמת הזמן של הרשומה ביומן. |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.