איסוף יומנים של גישה לאפליקציות בהתאמה אישית
גרסת מנתח הנתונים: 1.0
במאמרי עזרה זה מוסבר איך להטמיע יומני גישה לאפליקציות בהתאמה אישית ב-Google Security Operations באמצעות שיטות הטמעה של אחסון בענן או הטמעת עדכונים בזמן אמת.
יומני גישה לאפליקציות מותאמות אישית מתעדים אירועי אימות, החלטות הרשאה ודפוסי גישה מאפליקציות קנייניות או מאפליקציות שנבנו בהתאמה אישית. היומנים האלה חיוניים למעקב אחרי פעילות המשתמשים, לזיהוי ניסיונות גישה לא מורשים ולשמירה על תאימות למדיניות האבטחה.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- יומני גישה לאפליקציות בהתאמה אישית בפורמט JSON, CSV או טקסט מובנה
- גישה לאחד מהפריטים הבאים:
- קטגוריה של Google Cloud Storage (להעלאה ל-GCS)
- קטגוריית Amazon S3 (להעברה מ-S3)
- חשבון אחסון ב-Microsoft Azure (להעברה של Blob ב-Azure)
- יכולת של נקודת הקצה של ה-webhook (להעברה מבוססת-push)
- Amazon Kinesis Data Firehose (להטמעת עדכונים בזמן אמת)
יצירת סוג יומן מותאם אישית
סוג היומן CUSTOM_APPLICATION_ACCESS לא קיים כמנתח מובנה ב-Google SecOps. לפני שמבצעים המרה של יומנים, צריך ליצור סוג יומן בהתאמה אישית.
- עוברים אל הגדרות SIEM > סוגי יומנים זמינים.
- לוחצים על בקשה של סוג יומן.
- בקטע יצירת סוג יומן בהתאמה אישית, מזינים את הפרטים הבאים:
- ספק/מוצר: מזינים
Custom Application Access Logs - סוג היומן: מזינים
CUSTOM_APPLICATION_ACCESS
- ספק/מוצר: מזינים
לוחצים על יצירת סוג יומן.
כדי לוודא שסוג היומן החדש זמין בכל הרכיבים, צריך להמתין 10 דקות לפני שיוצרים פידים.
בחירת שיטת ההטמעה
בוחרים את שיטת ההטמעה שמתאימה הכי טוב לתשתית שלכם:
- Google Cloud Storage (GCS): השתמשו באפשרות הזו אם האפליקציה שלכם כותבת יומנים לקטגוריות GCS או אם אתם יכולים לייצא יומנים ל-GCS
- Amazon S3: משתמשים באפשרות הזו אם האפליקציה כותבת יומנים לקטגוריות S3 או אם אפשר לייצא יומנים ל-S3
- Azure Blob Storage: משתמשים באפשרות הזו אם האפליקציה כותבת יומנים ל-Azure Storage או אם אפשר לייצא יומנים ל-Azure
- תגובה לפעולה מאתר אחר (webhook): משתמשים באפשרות הזו אם האפליקציה יכולה לשלוח בקשות HTTP POST לנקודת קצה (endpoint) חיצונית
- Amazon Kinesis Data Firehose: משתמשים באפשרות הזו אם האפליקציה כותבת ל-CloudWatch Logs או אם אתם צריכים סטרימינג בזמן אמת
אפשרות 1: העברה מ-Google Cloud Storage
יצירת קטגוריה של Google Cloud Storage
- נכנסים אל מסוף Google Cloud.
- בוחרים פרויקט או יוצרים פרויקט חדש.
- בתפריט הניווט, עוברים אל Cloud Storage > Buckets.
- לוחצים על Create bucket.
מזינים את פרטי ההגדרה הבאים:
הגדרה ערך Name your bucket (שם הקטגוריה) מזינים שם ייחודי גלובלית (לדוגמה, custom-app-access-logs)סוג מיקום בוחרים לפי הצרכים שלכם (אזור, בשני אזורים, במספר אזורים) Location בוחרים את המיקום (לדוגמה, us-central1).סוג אחסון (storage class) רגיל (מומלץ ליומנים שמתבצעת אליהם גישה לעיתים קרובות) בקרת גישה אחיד (מומלץ) כלים להגנה אופציונלי: הפעלת ניהול גרסאות של אובייקטים או מדיניות שמירת נתונים לוחצים על יצירה.
הגדרת האפליקציה לכתיבת יומנים ב-GCS
מגדירים את האפליקציה המותאמת אישית כך שתכתוב יומני גישה לקטגוריית GCS שיצרתם. היומנים צריכים להיכתב באחד מהפורמטים הבאים:
פורמט JSON (מומלץ):
{"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45", "application": "custom-app", "resource": "/api/users"}פורמט CSV:
timestamp,user,action,result,source_ip,application,resource 2025-01-15T10:30:00Z,john.doe@example.com,login,success,203.0.113.45,custom-app,/api/usersפורמט JSON שמופרד בתו שורה חדשה (NDJSON):
{"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success"} {"timestamp": "2025-01-15T10:30:05Z", "user": "jane.smith@example.com", "action": "access", "result": "denied"}
אחזור חשבון השירות של Google SecOps
Google SecOps משתמש בחשבון שירות ייחודי כדי לקרוא נתונים ממאגר GCS שלכם. צריך להעניק לחשבון השירות הזה גישה לדלי.
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Custom Application Access Logs - GCS). - בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות CUSTOM_APPLICATION_ACCESS_CUSTOM בתור סוג היומן.
- לוחצים על Get Service Account (קבלת חשבון שירות).
תוצג כתובת האימייל בחשבון שירות ייחודי, לדוגמה:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comמעתיקים את כתובת האימייל הזו לשימוש בשלב הבא.
הענקת הרשאות IAM לחשבון השירות של Google SecOps
לחשבון השירות של Google SecOps צריכה להיות ההרשאה צפייה באובייקט אחסון בקטגוריה של GCS.
- נכנסים אל Cloud Storage > Buckets (קטגוריות).
- לוחצים על שם הקטגוריה.
- עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- Add principals (הוספת ישויות מורשות): מדביקים את כתובת האימייל בחשבון של חשבון השירות של Google SecOps
- הקצאת תפקידים: בוחרים באפשרות צפייה באובייקטים באחסון.
לוחצים על Save.
הגדרת הפיד ב-Google SecOps
- חוזרים לדף ליצירת פיד (או עוברים אל הגדרות SIEM > פידים > הוספת פיד חדש).
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
כתובת ה-URL של קטגוריית האחסון: מזינים את ה-URI של קטגוריית GCS עם נתיב הקידומת:
gs://custom-app-access-logs/אפשרות למחיקת המקור: בוחרים את אפשרות המחיקה לפי ההעדפה שלכם:
- אף פעם: לא נמחקים קבצים אחרי ההעברה (מומלץ לבדיקות).
- מחיקת קבצים שהועברו: הקבצים נמחקים אחרי שההעברה מסתיימת בהצלחה.
- מחיקת קבצים שהועברו וספריות ריקות: מחיקת קבצים וספריות ריקות אחרי שההעברה מסתיימת בהצלחה.
הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון (ברירת המחדל היא 180 ימים).
מרחב השמות של הנכס: מרחב השמות של הנכס.
תוויות להעלאת נתונים: התווית שתצורף לאירועים מהפיד הזה (לדוגמה,
custom_app_access).
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
אפשרות 2: העברה מ-Amazon S3
יצירת קטגוריה ב-Amazon S3
- פותחים את מסוף Amazon S3.
- לוחצים על Create Bucket.
- מזינים את פרטי ההגדרה הבאים:
- שם הקטגוריה: מזינים שם בעל משמעות לקטגוריה (לדוגמה,
custom-app-access-logs). - אזור: בוחרים את האזור שבו האפליקציה פועלת (לדוגמה,
us-east-1).
- שם הקטגוריה: מזינים שם בעל משמעות לקטגוריה (לדוגמה,
- לוחצים על יצירה.
יצירת משתמש IAM עם גישה ל-S3
- פותחים את מסוף IAM.
- לוחצים על משתמשים > הוספת משתמש.
- מזינים שם משתמש (לדוגמה,
chronicle-s3-reader). - בוחרים באפשרות גישה פרוגרמטית.
- לוחצים על הבא: הרשאות.
- בוחרים באפשרות צירוף מדיניות קיימת באופן ישיר.
- מחפשים את המדיניות AmazonS3FullAccess ובוחרים בה.
- לוחצים על הבא: תגים.
- לוחצים על הבא: בדיקה.
- לוחצים על יצירת משתמש.
- לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לעיון עתידי.
- לוחצים על Close.
הגדרת האפליקציה לכתיבת יומנים ל-S3
מגדירים את האפליקציה המותאמת אישית כך שתכתוב יומני גישה לקטגוריית S3 שיצרתם. משתמשים באותם פורמטים של יומנים שמתוארים בקטע GCS (JSON, CSV או NDJSON).
הגדרת פיד ב-Google SecOps להזנת יומנים מ-S3
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Custom Application Access Logs - S3). - בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
- בוחרים באפשרות CUSTOM_APPLICATION_ACCESS_CUSTOM בתור סוג היומן.
- לוחצים על הבא ואז על שליחה.
מציינים ערכים לפרמטרים הבאים של הקלט:
S3 URI: מזינים את ה-URI של הקטגוריה בפורמט:
s3://custom-app-access-logs/אפשרות למחיקת מקור: בוחרים את אפשרות המחיקה הרצויה.
הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון (ברירת המחדל היא 180 ימים).
מזהה מפתח הגישה: מפתח הגישה של המשתמש עם גישה לקטגוריית S3.
מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3.
מרחב השמות של הנכס: מרחב השמות של הנכס.
תוויות להעלאת נתונים: התווית שתצורף לאירועים מהפיד הזה (לדוגמה,
custom_app_access).
לוחצים על הבא ואז על שליחה.
אפשרות 3: העברה מ-Azure Blob Storage
יצירת חשבון Azure Storage
- ב-Azure portal, מחפשים Storage accounts.
- לוחצים על + Create.
מזינים את פרטי ההגדרה הבאים:
הגדרה ערך מינוי בוחרים את המינוי ל-Azure קבוצת משאבים בוחרים באפשרות 'קיים' או 'יצירה של קהל חדש' שם חשבון האחסון מזינים שם ייחודי (לדוגמה, customappaccesslogs).אזור בוחרים את האזור (לדוגמה, East US)ביצועים רגיל (מומלץ) יתירות LRS (Locally redundant storage) לוחצים על בדיקה + יצירה.
בודקים את הסקירה הכללית של החשבון ולוחצים על יצירה.
מחכים שהפריסה תסתיים.
קבלת פרטי כניסה לחשבון אחסון
- עוברים אל חשבון האחסון שיצרתם.
- בחלונית הניווט שמימין, בוחרים באפשרות מפתחות גישה בקטע אבטחה + רשת.
- לוחצים על הצגת המקשים.
- מעתיקים ושומרים את הפרטים הבאים לשימוש מאוחר יותר:
- שם חשבון האחסון:
customappaccesslogs - מפתח 1 או מפתח 2: מפתח הגישה המשותף
- שם חשבון האחסון:
יצירת קונטיינר של Blob
- באותו חשבון אחסון, בוחרים באפשרות Containers (מאגרי נתונים) מתוך תפריט הניווט הימני.
- לוחצים על + מאגר תגים.
- מזינים את פרטי ההגדרה הבאים:
- שם: מזינים
access-logs - רמת הגישה הציבורית: בוחרים באפשרות פרטית (ללא גישה אנונימית)
- שם: מזינים
- לוחצים על יצירה.
הגדרת האפליקציה לכתיבת יומנים ב-Azure Blob Storage
מגדירים את האפליקציה המותאמת אישית כך שתכתוב יומני גישה למאגר Azure Blob Storage שיצרתם. משתמשים באותם פורמטים של יומנים שמתוארים בקטע GCS (JSON, CSV או NDJSON).
הגדרת פיד ב-Google SecOps להעברה של יומנים מ-Azure
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Custom Application Access Logs - Azure). - בוחרים באפשרות Microsoft Azure Blob Storage V2 בתור סוג המקור.
- בוחרים באפשרות CUSTOM_APPLICATION_ACCESS_CUSTOM בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
Azure URI: מזינים את כתובת ה-URL של נקודת הקצה של Blob Service עם הנתיב של המאגר:
https://customappaccesslogs.blob.core.windows.net/access-logs/אפשרות למחיקת מקור: בוחרים את אפשרות המחיקה לפי ההעדפה שלכם
הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון (ברירת המחדל היא 180 ימים)
Shared key (מפתח משותף): מזינים את הערך של המפתח המשותף (מפתח הגישה) ששמרתם מחשבון האחסון
מרחב שמות של נכס: מרחב השמות של הנכס
תוויות להטמעה: התווית שתתווסף לאירועים מהפיד הזה (לדוגמה,
custom_app_access)
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
אפשרות 4: הטמעה באמצעות Webhook
יצירת פיד של webhook ב-Google SecOps
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Custom Application Access Logs - Webhook). - בוחרים באפשרות Webhook בתור סוג המקור.
- בוחרים באפשרות CUSTOM_APPLICATION_ACCESS_CUSTOM בתור סוג היומן.
- לוחצים על הבא.
- מציינים ערכים לפרמטרים הבאים של הקלט:
- תו מפריד לפיצול: מזינים
\nכדי לפצל אירועים שמופרדים על ידי שורה חדשה (אם שולחים כמה אירועים לכל בקשה). - מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות להעלאת נתונים: התווית שתצורף לאירועים מהפיד הזה (לדוגמה,
custom_app_access).
- תו מפריד לפיצול: מזינים
- לוחצים על הבא.
- בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
יצירה ושמירה של מפתח סודי
- בדף הפרטים של הפיד, לוחצים על יצירת מפתח סודי.
- בתיבת דו-שיח מוצג המפתח הסודי.
מעתיקים את המפתח הסודי ושומרים אותו בצורה מאובטחת.
קבלת כתובת ה-URL של נקודת הקצה של הפיד
- עוברים לכרטיסייה פרטים של הפיד.
- בקטע Endpoint Information, מעתיקים את Feed endpoint URL.
הפורמט של כתובת ה-URL הוא:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateשומרים את כתובת ה-URL הזו כדי לבצע את השלבים הבאים.
לוחצים על סיום.
יצירת מפתח Google Cloud API
מערכת Google SecOps דורשת מפתח API לצורך אימות. יוצרים מפתח API מוגבל במסוף Google Cloud.
- נכנסים אל הדף Credentials במסוף Google Cloud.
- בוחרים את הפרויקט (הפרויקט שמשויך למופע Chronicle).
- לוחצים על Create credentials > API key.
- מפתח API נוצר ומוצג בתיבת דו-שיח.
- לוחצים על Edit API key כדי להגביל את המפתח.
- בדף ההגדרות API key:
- שם: מזינים שם תיאורי (לדוגמה,
Chronicle Webhook API Key).
- שם: מזינים שם תיאורי (לדוגמה,
- בקטע API restrictions (הגבלות על API):
- בוחרים באפשרות הגבלת המקש.
- בתפריט הנפתח Select APIs (בחירת ממשקי API), מחפשים ובוחרים באפשרות Google SecOps API (או Chronicle API).
- לוחצים על Save.
- מעתיקים את הערך של מפתח ה-API מהשדה API key (מפתח API) בחלק העליון של הדף.
- שומרים את מפתח ה-API בצורה מאובטחת.
הגדרת האפליקציה לשליחת יומנים באמצעות webhook
מגדירים את האפליקציה המותאמת אישית לשליחת בקשות HTTP POST לנקודת הקצה של ה-webhook ב-Chronicle.
יוצרים את ה-webhook URL:
מוסיפים את מפתח ה-API לכתובת ה-URL של נקודת הקצה של הפיד:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY>מחליפים את הערך
<API_KEY>במפתח ה-API שיצרתם.
פורמט של בקשת HTTP POST:
POST https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY> HTTP/1.1 Content-Type: application/json x-chronicle-auth: <SECRET_KEY> {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45"}לכמה אירועים (מופרדים בשורות חדשות):
POST https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY> HTTP/1.1 Content-Type: application/json x-chronicle-auth: <SECRET_KEY> {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success"} {"timestamp": "2025-01-15T10:30:05Z", "user": "jane.smith@example.com", "action": "access", "result": "denied"}דוגמה לשימוש ב-curl:
curl -X POST \ "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY" \ -H "Content-Type: application/json" \ -H "x-chronicle-auth: YOUR_SECRET_KEY" \ -d '{"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45"}'
אפשרות 5: הטמעה באמצעות Amazon Kinesis Data Firehose
יצירת פיד ב-Google SecOps
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Custom Application Access Logs - Firehose). - בוחרים באפשרות Amazon Data Firehose בתור סוג המקור.
- בוחרים באפשרות CUSTOM_APPLICATION_ACCESS_CUSTOM בתור סוג היומן.
- לוחצים על הבא.
- מציינים ערכים לפרמטרים הבאים של הקלט:
- Split delimiter (תו מפריד לפיצול): מזינים
\nכדי לפצל יומנים שמופרדים באמצעות מעברי שורה. - מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות להעלאת נתונים: התווית שתצורף לאירועים מהפיד הזה (לדוגמה,
custom_app_access).
- Split delimiter (תו מפריד לפיצול): מזינים
- לוחצים על הבא.
- בודקים את הגדרות הפיד ולוחצים על שליחה.
- לוחצים על יצירת מפתח סודי כדי ליצור מפתח סודי לאימות הפיד הזה.
- חשוב להעתיק ולשמור את המפתח הסודי כי לא תהיה לך אפשרות לראות אותו שוב.
- עוברים לכרטיסייה פרטים.
- מעתיקים את כתובת ה-URL של נקודת הקצה של הפיד מהשדה Endpoint Information (פרטי נקודת הקצה).
- לוחצים על סיום.
יצירת מפתח API לפיד Amazon Data Firehose
- נכנסים לדף Credentials במסוף Google Cloud בכתובת https://console.cloud.google.com/apis/credentials
- לוחצים על Create credentials ואז על API key.
- לוחצים על Edit API key כדי להגביל את המפתח.
- בקטע API restrictions, בוחרים באפשרות Restrict key.
- מחפשים את Google SecOps API ובוחרים בו.
- לוחצים על Save.
- מעתיקים ושומרים את מפתח ה-API.
הרכבת כתובת ה-URL של נקודת הקצה
מוסיפים את מפתח ה-API לכתובת ה-URL של נקודת הקצה של הפיד בפורמט הבא:
<FEED_ENDPOINT_URL>?key=<API_KEY>מחליפים את מה שכתוב בשדות הבאים:
-
<FEED_ENDPOINT_URL>: כתובת ה-URL של נקודת הקצה של הפיד בשלב הקודם -
<API_KEY>: מפתח ה-API מהשלב הקודם
לדוגמה:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...-
שומרים את כתובת ה-URL המלאה הזו לשלב הבא.
יצירת מדיניות IAM עבור Firehose
- במסוף AWS, עוברים לכרטיסייה IAM > Policies > Create policy > JSON.
מדביקים את מדיניות ה-JSON הבאה:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": "arn:aws:firehose:us-east-1:123456789012:deliverystream/CustomAppAccessToChronicle" } ] }מחליפים את מה שכתוב בשדות הבאים:
-
us-east-1: האזור שלכם ב-AWS -
123456789012: מזהה החשבון ב-AWS (מספר בן 12 ספרות) -
CustomAppAccessToChronicle: השם של עדכון התוכן של Firehose (תצרו אותו בשלב הבא)
-
נותנים למדיניות את השם
CustomAppAccessFirehoseWritePolicy.לוחצים על יצירת מדיניות.
יצירת תפקיד IAM ל-CloudWatch Logs
- עוברים אל IAM > Roles > Create role (ניהול זהויות וגישה > תפקידים > יצירת תפקיד).
בוחרים באפשרות מדיניות אמון בהתאמה אישית ומדביקים את הטקסט הבא:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.us-east-1.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }מחליפים את
us-east-1באזור AWS.לוחצים על הבא.
מחפשים את המדיניות
CustomAppAccessFirehoseWritePolicyשיצרתם בשלב הקודם ובוחרים אותה.לוחצים על הבא.
נותנים לתפקיד את השם
CloudWatchLogsToFirehoseRole.לוחצים על יצירת תפקיד.
יצירת נתוני משלוח של Kinesis Data Firehose
- ב-AWS Console, עוברים אל Kinesis > Data Firehose > Create delivery stream.
מזינים את פרטי ההגדרה הבאים:
מקור ויעד:
- מקור: בוחרים באפשרות Direct PUT or other sources (העלאה ישירה או מקורות אחרים).
- יעד: בוחרים באפשרות נקודת קצה (endpoint) מסוג HTTP.
שם של זרם העברת נתונים:
- שם של זרם העברה: מזינים
CustomAppAccessToChronicle
- שם של זרם העברה: מזינים
יעד של נקודת קצה (endpoint) מסוג HTTP:
- כתובת URL של נקודת קצה HTTP: מזינים את כתובת ה-URL המלאה של נקודת הקצה שיצרתם קודם (נקודת קצה של הפיד + מפתח API)
- קידוד תוכן: בוחרים באפשרות GZIP (מומלץ לחיסכון ברוחב הפס)
כותרות HTTP בהתאמה אישית:
- לוחצים על הוספת כותרת HTTP בהתאמה אישית.
- שם הכותרת: מזינים
X-Goog-Chronicle-Auth - ערך הכותרת: מזינים את המפתח הסודי ששמרתם בשלב הקודם.
הגדרות הגיבוי:
- גיבוי של רשומות המקור ב-Amazon S3: בוחרים באפשרות Failed data only (מומלץ)
- S3 bucket: בוחרים קטגוריה קיימת או יוצרים קטגוריה חדשה בשביל רשומות שנכשלו
רמזים לגבי מאגרים זמניים:
- שטח אחסון זמני: מזינים
1MiB (הערך המינימלי לנקודות קצה של HTTP) - הפסקה בין פגישות: מזינים
60שניות
- שטח אחסון זמני: מזינים
משך הניסיון החוזר:
- משך הניסיון החוזר: מזינים
300שניות (5 דקות)
- משך הניסיון החוזר: מזינים
לוחצים על יצירת מקור נתונים.
מחכים שהסטטוס של זרם ההעברה ישתנה לפעיל (דקה או שתיים).
הגדרת האפליקציה לכתיבה ב-CloudWatch Logs
מגדירים את האפליקציה המותאמת אישית כך שתכתוב יומני גישה לקבוצת יומנים של CloudWatch. לאחר מכן יוצרים מסנן מינויים כדי להזרים את היומנים ל-Firehose.
- ב-AWS Console, עוברים אל CloudWatch > Logs > Log groups.
- יוצרים קבוצת יומנים חדשה או בוחרים קבוצת יומנים קיימת שבה האפליקציה כותבת יומנים.
- לוחצים על הכרטיסייה מסנני מינויים.
- לוחצים על יצירה > יצירת מסנן מינוי ל-Amazon Kinesis Data Firehose.
מזינים את פרטי ההגדרה הבאים:
- יעד: בוחרים את מקור הנתונים של העברת הנתונים
CustomAppAccessToChronicle. - Grant permission (הענקת הרשאה): בוחרים בתפקיד
CloudWatchLogsToFirehoseRole. - שם מסנן המינויים: מזינים
CustomAppAccessToChronicle. - פורמט יומן: בוחרים באפשרות אחר (המערכת של Google SecOps מטפלת בניתוח).
- תבנית לסינון מינויים: אם רוצים לשלוח את כל האירועים, משאירים את השדה הזה ריק.
- יעד: בוחרים את מקור הנתונים של העברת הנתונים
לוחצים על התחלת השידור.
היומנים מועברים בסטרימינג בזמן אמת אל Google SecOps דרך Firehose.
יצירת מנתח מותאם אישית
אחרי שמבצעים המרה של יומנים, צריך ליצור מנתח מותאם אישית כדי לנרמל את הנתונים לפורמט UDM.
- עוברים אל SIEM Settings > Parsers (הגדרות SIEM > מנתחי נתונים).
- לוחצים על יצירת כלי ניתוח.
- בוחרים באפשרות CUSTOM_APPLICATION_ACCESS_CUSTOM בתור סוג היומן.
אפשר להשתמש בכלי לעריכת מנתח כדי ליצור דפוסי Grok או תוספים למנתח שממפים את שדות היומן לשדות UDM.
מיפוי של מנתח לדוגמה:
שדה יומן בהתאמה אישית שדה UDM timestampmetadata.event_timestampuserprincipal.user.email_addressesactionsecurity_result.actionresultsecurity_result.summarysource_ipprincipal.ipapplicationtarget.applicationresourcetarget.resource.nameבודקים את מנתח היומנים באמצעות יומנים לדוגמה.
לוחצים על שמירה כדי להפעיל את מנתח הנתונים.
הוראות מפורטות ליצירת כלי ניתוח מופיעות במאמר אפשרויות לניתוח עצמי.
אימות ההטמעה
אחרי שמגדירים את הפיד ואת מנתח התוכן, צריך לוודא שהיומנים נקלטים:
- עוברים אל חיפוש > חיפוש UDM.
מריצים את השאילתה הבאה:
metadata.log_type = "CUSTOM_APPLICATION_ACCESS_CUSTOM"מוודאים שהאירועים מופיעים בתוצאות החיפוש.
בודקים שהשדות של UDM מאוכלסים בצורה נכונה על סמך הגדרות המנתח.
טבלת מיפוי UDM
| שדה היומן | מיפוי UDM | לוגיקה |
|---|---|---|
| נוסף | מוזג עם תוויות שנוצרו מהשירות, מהסביבה, מהקובץ המצורף להודעה, מהתקציר של הקובץ המצורף, מהמפתח של הקובץ המצורף, ממזהה ההרשאה של הקובץ המצורף, מסוג התוכן של הקובץ המצורף, מסוג היעד, מהסוג, ממזהה המיון של ההודעה, ממזהה ההפניה של ההודעה, מהאפליקציות המותקנות שדווחו על ידי המצב, מסטטוס האפליקציות שדווח על ידי המצב, מתור ה-OTA שדווח על ידי המצב, מ-VICMB_Deg_Battery_LimpHome שדווח על ידי המצב, מ-VICMB_Inhibit_Propulsion שדווח על ידי המצב, מ-VICMB_FA_LostComm_BPCM שדווח על ידי המצב, מ-VICMB_FA_LostComm_SFAM1 שדווח על ידי המצב, מ-VICMB_Inhibit_HV שדווח על ידי המצב, מ-VICMB_FA_LostComm_RIDM שדווח על ידי המצב, מ-VICMB_FA_LostComm_RWAM1 שדווח על ידי המצב, מ-uname שדווח על ידי המצב, מ-battery_charging_rate_kw.timestamp שדווח על ידי המטא, מ-battery_charging_rate_kw שדווח על ידי המצב, מ-cell.connected.timestamp שדווח על ידי המטא, מ-cell.packet_loss.timestamp שדווח על ידי המטא, מ-cell.average_ping_ms.timestamp שדווח על ידי המטא, מ-cell.bitrate.timestamp שדווח על ידי המטא, מ-cell.download_speed_bytes_per_sec.timestamp שדווח על ידי המטא, מ-cell.signal_strength.timestamp שדווח על ידי המטא, מ-cell.signal.timestamp שדווח על ידי המטא, מ-cell.connected שדווח על ידי המצב, מ-cell.packet_loss שדווח על ידי המצב, מ-cell.average_ping_ms שדווח על ידי המצב, מ-cell.bitrate שדווח על ידי המצב, מ-cell.download_speed_bytes_per_sec שדווח על ידי המצב, מ-cell.signal_strength שדווח על ידי המצב, מ-cell.signal שדווח על ידי המצב | |
| request_time | metadata.collected_timestamp | מנותח מ-request_time באמצעות פורמט ISO8601 |
| msg_1, msg.body | metadata.description | הערך מ-msg_1 אם הוא לא ריק, אחרת הערך מ-msg.body |
| user_id, src_email, otadata.1687965118.initiator | metadata.event_type | הערך שמוגדר הוא USER_UNCATEGORIZED אם יש ערך לאחד מהפרמטרים user_id, src_email, otadata.1687965118.initiator, אחרת הערך הוא GENERIC_EVENT |
| otadata.1687965118.deployment_id | metadata.product_deployment_id | הערך הועתק ישירות |
| גרסה | metadata.product_version | הערך הועתק ישירות |
| response.status | network.http.response_code | הומר למספר שלם |
| request_id | principal.resource.product_object_id | הערך הועתק ישירות |
| msg.attachment.url, otadata.1687965118.download_url | principal.url | הערך מ-msg.attachment.url אם הוא לא ריק, אחרת הערך מ-otadata.1687965118.download_url |
| src_email, otadata.1687965118.initiator | principal.user.email_addresses | הערך מ-src_email אם הוא תואם לביטוי הרגולרי של האימייל, אחרת הערך מ-otadata.1687965118.initiator |
| user_id | principal.user.userid | הערך הועתק ישירות |
| רמה | security_result.severity | הערך הוא INFORMATIONAL אם הרמה היא INFO |
| metadata.product_name | הגדרה של 'גישה מותאמת אישית לאפליקציה' | |
| metadata.vendor_name | הגדרה של 'גישה מותאמת אישית לאפליקציה' | |
timestamp |
metadata.event_timestamp |
מופה מיומן השינויים |
level |
additional.fields |
מופה מיומן השינויים |
service |
additional.fields |
מופה מיומן השינויים |
env |
additional.fields |
מופה מיומן השינויים |
שנה רישום
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.