איסוף יומנים של שרת ה-Proxy לאינטרנט של Netskope
במאמר הזה מוסבר איך להטמיע יומנים של שרת ה-proxy לאינטרנט של Netskope ב-Google Security Operations באמצעות Cloud Storage V2.
Netskope מספקת שער אינטרנט מאובטח מבוסס-ענן שבודק את התנועה באתר ומנהל אותה בזמן אמת. ביומני העסקאות באינטרנט (WebTx) מתועדים רשומות מפורטות של כל סשן HTTP ו-HTTPS שעובד על ידי שרת ה-proxy של Netskope, כולל זהות המשתמש, האפליקציה, קטגוריית כתובת ה-URL, החלטות לגבי איומים ו-DLP ומטא-נתונים של הרשת.
לפני שמתחילים
חשוב לוודא שיש לכם את הדברים הבאים:
- מכונה של Google SecOps
- פרויקט ב- Google Cloud עם Cloud Storage API מופעל
- הרשאות ליצירה ולניהול של קטגוריות של Cloud Storage
- הרשאות לניהול כללי מדיניות של ניהול זהויות והרשאות גישה (IAM) בקטגוריות של Cloud Storage
- גישה מורשית לדייר Netskope עם פרטי כניסה של אדמין
אפשרות 1: העברת יומנים בסטרימינג מ-Netskope ל-Cloud Storage
האפשרות הזו מיועדת למצבים שבהם המינוי ל-Netskope Log Streaming מופעל בדייר שלכם. הכלי Netskope Log Streaming מעביר קובצי יומן של WebTx ישירות לקטגוריה של Cloud Storage כקובצי .gzip דחוסים, במרווחים קבועים של 240 שניות.
יצירת קטגוריה של Cloud Storage
- נכנסים לGoogle Cloud מסוף.
- בוחרים את הפרויקט או יוצרים פרויקט חדש.
- בתפריט הניווט, נכנסים ל-Cloud Storage > Buckets.
- לוחצים על Create bucket.
ממלאים את פרטי ההגדרה הבאים:
הגדרה ערך Name your bucket מזינים שם ייחודי ברמה גלובלית (לדוגמה, netskope-webtx-logs)סוג המיקום בוחרים לפי הצרכים (אזור, שני אזורים, מספר אזורים) Location בוחרים את המיקום הכי קרוב לארגון (לדוגמה, us-central1)סוג אחסון (storage class) רגיל (מומלץ ליומנים שהגישה אליהם תכופה) בקרת גישה אחידה (מומלץ) כלי הגנה אופציונלי: הפעלת ניהול גרסאות של אובייקטים או מדיניות שמירת נתונים לוחצים על יצירה.
יצירה של Google Cloud חשבון שירות
כדי להשתמש ב-Netskope Log Streaming, צריך חשבון שירות של Google Cloud עם הרשאות כתיבה לקטגוריה של Cloud Storage. קובץ מפתח ה-JSON של חשבון השירות הזה משמש את Netskope לאימות כששולחים קובצי יומן.
- במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts.
- לוחצים על Create Service Account.
- מזינים את פרטי ההגדרה הבאים:
- Service account name: מזינים
netskope-log-streaming - Service account description: מזינים
Service account for Netskope Log Streaming to push WebTx logs to GCS
- Service account name: מזינים
- לוחצים על יצירה והמשך.
- בקטע Grant this service account access to project:
- לוחצים על בחירת תפקיד.
- מחפשים את התפקיד יצירת אובייקטים של אחסון ובוחרים אותו.
- לוחצים על Continue.
- לוחצים על סיום.
יצירת מפתח JSON
- במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts ולוחצים על חשבון השירות
netskope-log-streaming. - לוחצים על הכרטיסייה Keys.
- לוחצים על Add Key > Create new key.
- בוחרים באפשרות JSON בתור סוג המפתח.
- לוחצים על יצירה.
קובץ JSON עם המפתח יורד באופן אוטומטי. שומרים את הקובץ הזה באופן מאובטח. בקטע הבא תדביקו את כל התוכן של הקובץ הזה ב-Netskope.
מתן הרשאות כתיבה בקטגוריה של Cloud Storage
- במסוף Google Cloud , נכנסים לדף Cloud Storage > Buckets.
- לוחצים על שם הקטגוריה (לדוגמה,
netskope-webtx-logs). - עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- הוספת חשבונות משתמשים: מזינים את כתובת האימייל של חשבון השירות (לדוגמה,
netskope-log-streaming@YOUR_PROJECT_ID.iam.gserviceaccount.com) - הקצאת תפקידים: בוחרים באפשרות יצירת אובייקטים של אחסון.
- הוספת חשבונות משתמשים: מזינים את כתובת האימייל של חשבון השירות (לדוגמה,
לוחצים על Save.
יצירת מקור נתונים של יומנים
- נכנסים לדייר (tenant) ב-Netskope באמצעות פרטי כניסה של אדמין.
- עוברים אל הגדרות > כלים > סטרימינג של יומנים.
- לוחצים על יצירת מקור נתונים.
- בשדה שם, מזינים שם קריא לאנשים של מקור הנתונים. לדוגמה,
Google SecOps WebTx GCS. - בוחרים באפשרות GCP Cloud Storage בתור סוג היעד.
ממלאים את פרטי ההגדרה הבאים:
קטגוריה: מזינים את השם של הקטגוריה ב-Cloud Storage (לדוגמה,
netskope-webtx-logs).- נתיב (אופציונלי): מזינים נתיב לתיקייה בתוך הקטגוריה שבה יישמרו היומנים (לדוגמה, `netskope/webtx/{%Y}`).
מפתח פרטי: מדביקים את כל התוכן של קובץ המפתח בפורמט JSON שנוצר בקטע הקודם, כאובייקט JSON יחיד שמתחיל ב-
{ומסתיים ב-}. הוא כולל את השדותtype,project_id,private_key_id,private_key,client_emailו-client_id.
בודקים את אפשרויות המסירה: תדירות השליחה היא 240 שניות באופן קבוע.
לוחצים על שמירה (או על יצירה) כדי להפעיל את מקור הנתונים. המערכת של Netskope מאמתת את פרטי הכניסה על ידי כתיבת אובייקט בדיקה בשם
netskope-test-file.txtבקטגוריה.
הגדרת פיד ב-Google SecOps כדי להטמיע יומני Netskope WebTx מ-Cloud Storage
כדי ליצור את הפיד של Google SecOps ולתת הרשאות IAM:
אחזור של חשבון השירות של Google SecOps
מערכת Google SecOps משתמשת בחשבון שירות ייחודי כדי לקרוא נתונים מהקטגוריה של Cloud Storage. אתם צריכים לתת לחשבון השירות הזה גישה לקטגוריה שלכם.
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Netskope WebTx Logs). - בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות Netskope Web Proxy בתור Log type.
- לוחצים על Get Service Account (קבלת חשבון שירות).
תוצג כתובת אימייל ייחודית של חשבון שירות, לדוגמה:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comמעתיקים את כתובת האימייל הזו כדי להשתמש בה בשלב הבא.
לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
כתובת ה-URL של קטגוריית האחסון: מזינים את ה-URI של קטגוריית Cloud Storage עם נתיב הקידומת:
gs://netskope-webtx-logs/netskope/webtx/- מחליפים את:
-
netskope-webtx-logs: השם של הקטגוריה ב-Cloud Storage. -
netskope/webtx/: הקידומת של הנתיב שהוגדרה ב-Netskope Log Streaming (צריך להשאיר ריק בשביל השורש).
-
- מחליפים את:
אפשרות מחיקת המקור: בוחרים את אפשרות המחיקה המועדפת:
- אף פעם לא למחוק קבצים: אף פעם לא למחוק קבצים מהמקור (מומלץ לבדיקה).
- Delete transferred files and empty directories: מחיקת קבצים וספריות ריקות מהמקור אחרי שהאחזור הושלם בהצלחה.
גיל הקובץ המקסימלי: כולל קבצים ששונו במספר הימים האחרונים (ברירת המחדל היא 180 ימים)
מרחב השמות של הנכס: מרחב השמות של הנכס
תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה
לוחצים על הבא.
בודקים את הגדרות הפיד החדש במסך סיום ולוחצים על שליחה.
מתן הרשאות IAM לחשבון השירות של Google SecOps
לחשבון השירות של Google SecOps נדרשים שני תפקידים בקטגוריה של Cloud Storage: צפייה באובייקט אחסון כדי לקרוא את אובייקטי היומן, ותפקיד ברמת הקטגוריה כדי לקרוא את המטא-נתונים של הקטגוריה.
- נכנסים לדף Cloud Storage > Buckets.
- לוחצים על שם הקטגוריה (לדוגמה,
netskope-webtx-logs). - עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- Add principals: מדביקים את כתובת האימייל של חשבון השירות של Google SecOps (לדוגמה,
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com) - הקצאת תפקידים: בוחרים את שני התפקידים הבאים:
- צפייה באובייקטים של אחסון: קריאת אובייקטים של יומנים.
- קריאה בקטגוריה באחסון מדור קודם: קריאת המטא-נתונים של הקטגוריה. אם בחרתם באפשרות המחיקה Delete transferred files and empty directories, בחרו במקום זאת באפשרות Storage Legacy Bucket Writer, שגם מעניקה את הרשאת המחיקה.
- Add principals: מדביקים את כתובת האימייל של חשבון השירות של Google SecOps (לדוגמה,
- לוחצים על Save.
אפשרות 2: שימוש ב-Netskope Cloud Exchange Log Shipper ל-Cloud Storage
האפשרות הזו מתאימה אם פרסתם את פלטפורמת Netskope Cloud Exchange והגדרתם את המודול Log Shipper. הכלי Log Shipper שולף את יומני WebTx מהדייר שלכם ב-Netskope ודוחף אותם כקובצי .gzip דחוסים לקטגוריה של Cloud Storage. לאחר מכן, מערכת Google SecOps קוראת את הקבצים האלה דרך פיד של Cloud Storage V2.
לפני שמתחילים (Cloud Exchange)
כדי להשתמש באפשרות הזו, צריך לוודא שמתקיימים התנאים המוקדמים הבאים:
- דייר (tenant) ב-Netskope Cloud Exchange, עם פלאגין של דייר ומודול Log Shipper שכבר מוגדרים.
- הפלאגין של מקור Netskope CLS שמוגדר ב-Log Shipper (הוא שולף נתונים מהדייר ב-Netskope).
- קטגוריה של Cloud Storage שנוצרה לאחסון יומני WebTx. אם לא יצרתם קטגוריה, פועלים לפי השלבים שמפורטים במאמר יצירת קטגוריה של Cloud Storage.
- Google Cloud חשבון שירות עם הרשאת כתיבה לקטגוריה של Cloud Storage. אם עדיין לא יצרתם חשבון שירות, פועלים לפי השלבים שמפורטים במאמרים יצירת חשבון שירות Google Cloud , יצירת מפתח JSON ומתן הרשאות כתיבה בקטגוריה של Cloud Storage.
הגדרת הפלאגין של יעד Cloud Storage
- ב-Cloud Exchange, עוברים אל Settings > Plugin Store.
- מחפשים את הפלאגין Google Cloud SCC (Google GCS) ובוחרים אותו.
- לוחצים על Configure New Plugin (הגדרת פלאגין חדש) או מוסיפים הגדרת פלאגין חדשה.
- מזינים את פרטי ההגדרה הבאים:
- שם ההגדרה האישית: מזינים שם תיאורי (לדוגמה,
GCS WebTx Destination). - מיפוי: בוחרים קובץ מיפוי. ביומני WebTx שמועברים כקובצי
.gzipמקוריים, לא מתבצעת טרנספורמציה של מיפוי. - קטגוריה: מזינים את השם של הקטגוריה ב-Cloud Storage (לדוגמה,
netskope-webtx-logs). - נתיב (אופציונלי): מזינים נתיב לתיקייה (לדוגמה,
netskope/webtx/). - קובץ מפתח: מדביקים את כל התוכן של קובץ המפתח בפורמט JSON של חשבון השירות, ולא רק את הערך של
private_key.
- שם ההגדרה האישית: מזינים שם תיאורי (לדוגמה,
- לוחצים על Save.
- הגדרת הפלאגין החדשה תופיע בדף Log Shipper > Plugins.
הגדרת כלל עסקי (אופציונלי)
כברירת מחדל, הכלל העסקי הכול מסנן את כל ההתראות והאירועים. אם רוצים לסנן ספציפית את יומני WebTx, צריך ליצור כלל עסקי חדש:
- ב-Log Shipper, עוברים אל Business Rules.
- לוחצים על יצירת כלל חדש.
- מזינים שם כלל (לדוגמה,
WebTx Only). - מגדירים את המסננים כך שיכללו רק נתוני WebTx.
- לוחצים על Save.
הגדרת הצגה של יומנים
- ב-Log Shipper, עוברים אל Log Delivery.
- לוחצים על Add Log Delivery Configuration (הוספת הגדרה של העברת יומנים).
- מזינים את פרטי ההגדרה הבאים:
- Source Configuration: בוחרים את הפלאגין של מקור Netskope CLS (לדוגמה,
WebTxCLSאוNetskope CLS). - Destination Configuration: בוחרים את הפלאגין של יעד Cloud Storage שהגדרתם (לדוגמה,
GCS WebTx Destination). - כלל עסקי: בוחרים כלל עסקי (לדוגמה,
AllאוWebTx Only).
- Source Configuration: בוחרים את הפלאגין של מקור Netskope CLS (לדוגמה,
לוחצים על Save.
כדי לקבל נתונים היסטוריים נוספים, לוחצים על הסמל שליפת נתונים היסטוריים בפעולות של מסירת יומנים.
בוחרים טווח תאריכים היסטורי בשדות From (מתאריך) ו-To (עד תאריך) ולוחצים על Pull (שליפה).
הגדרת פיד ב-Google SecOps כדי להטמיע יומני Netskope WebTx מ-Cloud Storage
כדי ליצור פיד של Google SecOps ולתת הרשאות IAM, פועלים לפי אותם שלבים כמו באפשרות Netskope Log Streaming:
- אחזור חשבון השירות של Google SecOps – יוצרים פיד עם Google Cloud Storage V2 כסוג המקור ו-Netskope web proxy כסוג היומן.
- הקצאת הרשאות IAM לחשבון השירות של Google SecOps – מקצים את התפקידים צפייה באובייקט אחסון וקריאה בקטגוריה מדור קודם (אם משתמשים באפשרות המחיקה, משתמשים בתפקיד כתיבה בקטגוריה מדור קודם) בקטגוריה של Cloud Storage לחשבון השירות של Google SecOps.
אימות הצגה של יומנים
כדי לוודא שיומני WebTx נשלחים לקטגוריה של Cloud Storage:
- ב-Cloud Exchange, עוברים אל Log Shipper > Log Delivery.
- בודקים את העמודות Total Logs/WebTx Sent to External Receiver ו-Total WebTx Sent to Storage Bucket כדי לוודא שהנתונים נשלחים ליעד.
- בקטגוריה ב-GCS, מוודאים שקובצי
.gzipנכתבים על ידי Log Shipper.
הגדרת Log Shipper Global Settings (אופציונלי)
רק אדמינים יכולים לשנות את ההגדרות הגלובליות של Log Shipper. עוברים אל הגדרות > Log Shipper. יש שתי כרטיסיות: "כללי" ו"מיפויים".
בכרטיסייה General אפשר להגדיר את אסטרטגיית הניסיונות החוזרים להצגת היומנים:
- ברירת מחדל (3 ניסיונות חוזרים): אם העברת היומנים נכשלת, Log Shipper ינסה 3 פעמים להעביר את היומנים ליעד. אם כל 3 הניסיונות החוזרים נכשלים, קבוצת היומנים המתאימה תימחק.
Retry till Successful Delivery: ניסיונות חוזרים ללא הגבלה עד שהיומנים נשלחים בהצלחה.
אפשר גם להפעיל קידוד UTF-8 להתראות, לאירועים ול-WebTx כדי לוודא שנתונים בקידוד UTF-8 יטופלו בצורה חלקה. התכונה הזו מושבתת כברירת מחדל.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | Logic (פונקציה לוגית) |
|---|---|---|
| applicationType | security_result.detection_fields[].key: "applicationType", security_result.detection_fields[].value: applicationType | ממופה ישירות מהשדה המתאים ב-CEF |
| appcategory | security_result.category_details[]: appcategory | ממופה ישירות מהשדה המתאים ב-CEF |
| דפדפן | security_result.detection_fields[].key: "browser", security_result.detection_fields[].value: browser | ממופה ישירות מהשדה המתאים ב-CEF |
| c-ip | principal.asset.ip[]: c-ip, principal.ip[]: c-ip | ממופה ישירות משדה ה-JSON התואם |
| cci | security_result.detection_fields[].key: "cci", security_result.detection_fields[].value: cci | ממופה ישירות מהשדה המתאים ב-CEF |
| ccl | security_result.confidence: ערך נגזר, security_result.confidence_details: ccl | הערך של security_result.confidence נגזר מהערך של ccl: "excellent" או "high" ממופים ל-HIGH_CONFIDENCE, "medium" ממופה ל-MEDIUM_CONFIDENCE, "low" או "poor" ממופים ל-LOW_CONFIDENCE, ו-"unknown" או "not_defined" ממופים ל-UNKNOWN_CONFIDENCE. הערך של security_result.confidence_details ממופה ישירות מ-ccl. |
| clientBytes | network.sent_bytes: clientBytes | ממופה ישירות מהשדה המתאים ב-CEF |
| cs-access-method | additional.fields[].key: "accessMethod", additional.fields[].value.string_value: cs-access-method | ממופה ישירות משדה ה-JSON התואם |
| cs-app | additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: cs-app, principal.application: cs-app | ממופה ישירות משדה ה-JSON התואם |
| cs-app-activity | additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: cs-app-activity | ממופה ישירות משדה ה-JSON התואם |
| cs-app-category | additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: cs-app-category | ממופה ישירות משדה ה-JSON המתאים |
| cs-app-cci | additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: cs-app-cci | ממופה ישירות משדה ה-JSON התואם |
| cs-app-ccl | additional.fields[].key: "x-cs-app-ccl", additional.fields[].value.string_value: cs-app-ccl | ממופה ישירות משדה ה-JSON התואם |
| cs-app-from-user | additional.fields[].key: "x-cs-app-from-user", additional.fields[].value.string_value: cs-app-from-user, principal.user.email_addresses[]: cs-app-from-user | ממופה ישירות משדה ה-JSON התואם |
| cs-app-instance-id | additional.fields[].key: "x-cs-app-instance-id", additional.fields[].value.string_value: cs-app-instance-id | ממופה ישירות משדה ה-JSON המתאים |
| cs-app-object-name | additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: cs-app-object-name | ממופה ישירות משדה ה-JSON המתאים |
| cs-app-object-type | additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: cs-app-object-type | ממופה ישירות משדה ה-JSON התואם |
| cs-app-suite | additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: cs-app-suite | ממופה ישירות משדה ה-JSON התואם |
| cs-app-tags | additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: cs-app-tags | ממופה ישירות משדה ה-JSON התואם |
| cs-bytes | network.sent_bytes: cs-bytes | ממופה ישירות משדה ה-JSON המתאים |
| cs-content-type | additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: cs-content-type | ממופה ישירות משדה ה-JSON התואם |
| cs-dns | target.asset.hostname[]: cs-dns, target.hostname: cs-dns | ממופה ישירות משדה ה-JSON התואם |
| cs-host | target.asset.hostname[]: cs-host, target.hostname: cs-host | ממופה ישירות משדה ה-JSON התואם |
| cs-method | network.http.method: cs-method | ממופה ישירות משדה ה-JSON התואם |
| cs-referer | network.http.referral_url: cs-referer | ממופה ישירות משדה ה-JSON התואם |
| cs-uri | additional.fields[].key: "cs-uri", additional.fields[].value.string_value: cs-uri | ממופה ישירות משדה ה-JSON התואם |
| cs-uri-path | additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: cs-uri-path | ממופה ישירות משדה ה-JSON התואם |
| cs-uri-port | additional.fields[].key: "cs-uri-port", additional.fields[].value.string_value: cs-uri-port | ממופה ישירות משדה ה-JSON התואם |
| cs-uri-scheme | network.application_protocol: cs-uri-scheme | מיפוי ישיר משדה ה-JSON המתאים אחרי המרה לאותיות רישיות |
| cs-user-agent | network.http.parsed_user_agent: סוכן משתמש מנותח, network.http.user_agent: cs-user-agent | network.http.parsed_user_agent נגזר מניתוח של השדה cs-user-agent באמצעות המסנן parseduseragent |
| cs-username | principal.user.userid: cs-username | ממופה ישירות משדה ה-JSON התואם |
| תאריך | metadata.event_timestamp.seconds: שניות מתחילת התקופה משדות התאריך והשעה, metadata.event_timestamp.nanos: 0 | התאריך והשעה משולבים ומומרים לשניות ולננו-שניות של ראשית הזמן. הננו-שניות מוגדרות ל-0. |
| מכשיר | intermediary.hostname: device | ממופה ישירות מהשדה המתאים ב-CEF |
| dst | target.ip[]: dst | ממופה ישירות מהשדה המתאים ב-CEF |
| dst_country | target.location.country_or_region: dst_country | ממופה ישירות מהשדה המנותח התואם |
| dst_ip | target.asset.ip[]: dst_ip, target.ip[]: dst_ip | ממופה ישירות מהשדה המנותח התואם |
| dst_location | target.location.city: dst_location | ממופה ישירות מהשדה המנותח התואם |
| dst_region | target.location.state: dst_region | ממופה ישירות מהשדה המנותח התואם |
| dst_zip | לא ממופים | השדה הזה לא ממופה ל-UDM |
| duser | target.user.email_addresses[]: duser, target.user.user_display_name: duser | ממופה ישירות מהשדה המתאים ב-CEF |
| dvchost | about.hostname: dvchost, target.asset.hostname[]: dvchost, target.hostname: dvchost | ממופה ישירות מהשדה המתאים ב-CEF |
| event_timestamp | metadata.event_timestamp.seconds: event_timestamp | ממופה ישירות מהשדה המנותח התואם |
| שם המארח | target.asset.hostname[]: hostname, target.hostname: hostname | ממופה ישירות מהשדה המתאים ב-CEF |
| מזהה אירוע | security_result.detection_fields[].key: "IncidentID", security_result.detection_fields[].value: IncidentID | ממופה ישירות מהשדה המתאים ב-CEF |
| מתווך | intermediary: intermediary | ממופה ישירות מהשדה המתאים ב-CEF |
| md5 | target.file.md5: md5 | ממופה ישירות מהשדה המתאים ב-CEF |
| הודעה | שדות UDM שונים | שדה ההודעה מנותח על סמך השאלה אם הוא מכיל את המילה "CEF". אם כן, הוא מטופל כיומן CEF. אחרת, הוא מנותח כמחרוזת מופרדת ברווחים או כ-JSON. |
| mwDetectionEngine | additional.fields[].key: "mwDetectionEngine", additional.fields[].value.string_value: mwDetectionEngine | ממופה ישירות מהשדה המתאים ב-CEF |
| mwType | metadata.description: mwType | ממופה ישירות מהשדה המתאים ב-CEF |
| os | principal.platform: ערך נגזר | הפלטפורמה נגזרת מהשדה os: הערך "Windows" ממופה ל-WINDOWS, הערך "MAC" ממופה ל-MAC והערך "LINUX" ממופה ל-LINUX |
| ייפתח | network.http.referral_url: page | ממופה ישירות מהשדה המתאים ב-CEF |
| מקור ההפניה (referer) | network.http.referral_url: referer | ממופה ישירות מהשדה המתאים ב-CEF |
| requestClientApplication | network.http.parsed_user_agent: סוכן משתמש מנותח, network.http.user_agent: requestClientApplication | network.http.parsed_user_agent נגזר מניתוח של השדה requestClientApplication באמצעות המסנן parseduseragent |
| request_method | network.http.method: request_method | ממופה ישירות מהשדה המנותח התואם |
| rs-status | additional.fields[].key: "rs-status", additional.fields[].value.string_value: rs-status, network.http.response_code: rs-status | ממופה ישירות משדה ה-JSON התואם |
| s-ip | target.asset.ip[]: s-ip, target.ip[]: s-ip | ממופה ישירות משדה ה-JSON המתאים |
| sc-bytes | network.received_bytes: sc-bytes | ממופה ישירות משדה ה-JSON המתאים |
| sc-content-type | additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: sc-content-type | ממופה ישירות משדה ה-JSON התואם |
| sc-status | network.http.response_code: sc-status | ממופה ישירות משדה ה-JSON המתאים |
| serverBytes | network.received_bytes: serverBytes | ממופה ישירות מהשדה המתאים ב-CEF |
| sha256 | target.file.sha256: sha256 | ממופה ישירות מהשדה המתאים ב-CEF |
| src | principal.ip[]: src | ממופה ישירות מהשדה המתאים ב-CEF |
| src_country | principal.location.country_or_region: src_country | ממופה ישירות מהשדה המנותח התואם |
| src_ip | principal.asset.ip[]: src_ip, principal.ip[]: src_ip | ממופה ישירות מהשדה המנותח התואם |
| src_location | principal.location.city: src_location | ממופה ישירות מהשדה המנותח התואם |
| src_region | principal.location.state: src_region | ממופה ישירות מהשדה המנותח התואם |
| src_latitude | לא ממופים | השדה הזה לא ממופה ל-UDM |
| src_longitude | לא ממופים | השדה הזה לא ממופה ל-UDM |
| src_zip | לא ממופים | השדה הזה לא ממופה ל-UDM |
| suser | principal.user.user_display_name: suser | ממופה ישירות מהשדה המתאים ב-CEF |
| target_host | target.asset.hostname[]: target_host, target.hostname: target_host | ממופה ישירות מהשדה המנותח התואם |
| פעם | metadata.event_timestamp.seconds: שניות מתחילת התקופה משדות התאריך והשעה, metadata.event_timestamp.nanos: 0 | התאריך והשעה משולבים ומומרים לשניות ולננו-שניות של ראשית הזמן. הננו-שניות מוגדרות ל-0. |
| חותמת זמן | metadata.event_timestamp.seconds: timestamp | ממופה ישירות מהשדה המתאים ב-CEF |
| ts | metadata.event_timestamp.seconds: שניות מראשית הזמן (epoch) מ-ts, metadata.event_timestamp.nanos: 0 | חותמת הזמן מומרת לשניות ולננו-שניות של מערכת Unix. הננו-שניות מוגדרות ל-0. |
| url | target.url: url | ממופה ישירות מהשדה המתאים ב-CEF |
| user_agent | network.http.parsed_user_agent: סוכן משתמש מנותח, network.http.user_agent: סוכן משתמש | network.http.parsed_user_agent נגזר מניתוח של השדה user_agent באמצעות המסנן parseduseragent |
| user_key | principal.user.email_addresses[]: user_key | ממופה ישירות מהשדה המנותח התואם |
| גרסה | לא ממופים | השדה הזה לא ממופה ל-UDM |
| x-c-browser | additional.fields[].key: "x-c-browser", additional.fields[].value.string_value: x-c-browser | ממופה ישירות משדה ה-JSON המתאים |
| x-c-browser-version | additional.fields[].key: "x-c-browser-version", additional.fields[].value.string_value: x-c-browser-version | ממופה ישירות משדה ה-JSON המתאים |
| x-c-country | principal.location.country_or_region: x-c-country | ממופה ישירות משדה ה-JSON המתאים |
| x-c-device | additional.fields[].key: "x-c-device", additional.fields[].value.string_value: x-c-device | ממופה ישירות משדה ה-JSON התואם |
| x-c-latitude | principal.location.region_coordinates.latitude: x-c-latitude | ממופה ישירות משדה ה-JSON המתאים |
| x-c-local-time | security_result.detection_fields[].key: "x-c-local-time", security_result.detection_fields[].value: x-c-local-time | ממופה ישירות משדה ה-JSON המתאים |
| x-c-location | principal.location.name: x-c-location | ממופה ישירות משדה ה-JSON המתאים |
| x-c-longitude | principal.location.region_coordinates.longitude: x-c-longitude | ממופה ישירות משדה ה-JSON התואם |
| x-c-os | principal.platform: ערך נגזר | הפלטפורמה נגזרת מהשדה x-c-os: "Windows" ממופה ל-WINDOWS, "MAC" ממופה ל-MAC ו-"LINUX" ממופה ל-LINUX |
| x-c-region | principal.location.state: x-c-region | ממופה ישירות משדה ה-JSON התואם |
| x-c-zipcode | additional.fields[].key: "x-c-zipcode", additional.fields[].value.string_value: x-c-zipcode | ממופה ישירות משדה ה-JSON התואם |
| x-category | additional.fields[].key: "x-category", additional.fields[].value.string_value: x-category | ממופה ישירות משדה ה-JSON התואם |
| x-category-id | additional.fields[].key: "x-category-id", additional.fields[].value.string_value: x-category-id | ממופה ישירות משדה ה-JSON התואם |
| x-cs-access-method | additional.fields[].key: "accessMethod", additional.fields[].value.string_value: x-cs-access-method | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app | principal.application: x-cs-app, additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: x-cs-app | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-activity | additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: x-cs-app-activity | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-category | additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: x-cs-app-category | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-cci | additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: x-cs-app-cci | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-from-user | additional.fields[].key: "x-cs-app-from-user", additional.fields[].value.string_value: x-cs-app-from-user | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-object-id | additional.fields[].key: "x-cs-app-object-id", additional.fields[].value.string_value: x-cs-app-object-id | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-object-name | additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: x-cs-app-object-name | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-object-type | additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: x-cs-app-object-type | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-suite | additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: x-cs-app-suite | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-tags | additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: x-cs-app-tags | ממופה ישירות משדה ה-JSON התואם |
| x-cs-app-to-user | additional.fields[].key: "x-cs-app-to-user", additional.fields[].value.string_value: x-cs-app-to-user | ממופה ישירות משדה ה-JSON התואם |
| x-cs-dst-ip | security_result.detection_fields[].key: "x-cs-dst-ip", security_result.detection_fields[].value: x-cs-dst-ip, target.asset.ip[]: x-cs-dst-ip, target.ip[]: x-cs-dst-ip | ממופה ישירות משדה ה-JSON התואם |
| x-cs-dst-port | security_result.detection_fields[].key: "x-cs-dst-port", security_result.detection_fields[].value: x-cs-dst-port, target.port: x-cs-dst-port | ממופה ישירות משדה ה-JSON התואם |
| x-cs-http-version | security_result.detection_fields[].key: "x-cs-http-version", security_result.detection_fields[].value: x-cs-http-version | ממופה ישירות משדה ה-JSON התואם |
| x-cs-page-id | additional.fields[].key: "x-cs-page-id", additional.fields[].value.string_value: x-cs-page-id | ממופה ישירות משדה ה-JSON התואם |
| x-cs-session-id | network.session_id: x-cs-session-id | ממופה ישירות משדה ה-JSON התואם |
| x-cs-site | additional.fields[].key: "x-cs-site", additional.fields[].value.string_value: x-cs-site | ממופה ישירות משדה ה-JSON התואם |
| x-cs-sni | network.tls.client.server_name: x-cs-sni | ממופה ישירות משדה ה-JSON התואם |
| x-cs-src-ip | principal.asset.ip[]: x-cs-src-ip, principal.ip[]: x-cs-src-ip, security_result.detection_fields[].key: "x-cs-src-ip", security_result.detection_fields[].value: x-cs-src-ip | ממופה ישירות משדה ה-JSON התואם |
| x-cs-src-ip-egress | principal.asset.ip[]: x-cs-src-ip-egress, principal.ip[]: x-cs-src-ip-egress, security_result.detection_fields[].key: "x-cs-src-ip-egress", security_result.detection_fields[].value: x-cs-src-ip-egress | ממופה ישירות משדה ה-JSON התואם |
| x-cs-src-port | principal.port: x-cs-src-port, security_result.detection_fields[].key: "x-cs-src-port", security_result.detection_fields[].value: x-cs-src-port | ממופה ישירות משדה ה-JSON התואם |
| x-cs-ssl-cipher | network.tls.cipher: x-cs-ssl-cipher | ממופה ישירות משדה ה-JSON התואם |
| x-cs-ssl-fronting-error | security_result.detection_fields[].key: "x-cs-ssl-fronting-error", security_result.detection_fields[].value: x-cs-ssl-fronting-error | ממופה ישירות משדה ה-JSON התואם |
| x-cs-ssl-handshake-error | security_result.detection_fields[].key: "x-cs-ssl-handshake-error", security_result.detection_fields[].value: x-cs-ssl-handshake-error | ממופה ישירות משדה ה-JSON המתאים |
| x-cs-ssl-ja3 | network.tls.client.ja3: x-cs-ssl-ja3 | ממופה ישירות משדה ה-JSON המתאים |
| x-cs-ssl-version | network.tls.version: x-cs-ssl-version | ממופה ישירות משדה ה-JSON התואם |
| x-cs-timestamp | metadata.event_timestamp.seconds: x-cs-timestamp | ממופה ישירות משדה ה-JSON התואם |
| x-cs-traffic-type | additional.fields[].key: "trafficType", additional.fields[].value.string_value: x-cs-traffic-type | ממופה ישירות משדה ה-JSON התואם |
| x-cs-tunnel-src-ip | security_result.detection_fields[].key: "x-cs-tunnel-src-ip", security_result.detection_fields[].value: x-cs-tunnel-src-ip | ממופה ישירות משדה ה-JSON התואם |
| x-cs-uri-path | additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: x-cs-uri-path | ממופה ישירות משדה ה-JSON התואם |
| x-cs-url | target.url: x-cs-url | ממופה ישירות משדה ה-JSON התואם |
| x-cs-userip | security_result.detection_fields[].key: "x-cs-userip", security_result.detection_fields[].value: x-cs-userip | ממופה ישירות משדה ה-JSON התואם |
| x-other-category | security_result.category_details[]: x-other-category | ממופה ישירות משדה ה-JSON התואם |
| x-other-category-id | security_result.detection_fields[].key: "x-other-category-id", security_result.detection_fields[].value: x-other-category-id | ממופה ישירות משדה ה-JSON התואם |
| x-policy-action | security_result.action: Derived value, security_result.action_details: x-policy-action | הערך של security_result.action נגזר מהמרת x-policy-action לאותיות רישיות. אם הערך באותיות רישיות הוא "ALLOW" או "BLOCK", המערכת משתמשת בו ישירות. אחרת, הוא לא ממופה. security_result.action_details ממופה ישירות מ-x-policy-action. |
| x-policy-dst-host | security_result.detection_fields[].key: "x-policy-dst-host", security_result.detection_fields[].value: x-policy-dst-host | ממופה ישירות משדה ה-JSON התואם |
| x-policy-dst-host-source | security_result.detection_fields[].key: "x-policy-dst-host-source", security_result.detection_fields[].value: x-policy-dst-host-source | ממופה ישירות משדה ה-JSON התואם |
| x-policy-dst-ip | security_result.detection_fields[].key: "x-policy-dst-ip", security_result.detection_fields[].value: x-policy-dst-ip | ממופה ישירות משדה ה-JSON התואם |
| x-policy-name | security_result.rule_name: x-policy-name | ממופה ישירות משדה ה-JSON התואם |
| x-policy-src-ip | security_result.detection_fields[].key: "x-policy-src-ip", security_result.detection_fields[].value: x-policy-src-ip | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-enddate | network.tls.server.certificate.not_after.seconds: שניות מתחילת התקופה מ-x-r-cert-enddate | התאריך מומר לשניות מאז תחילת התקופה (epoch) |
| x-r-cert-expired | additional.fields[].key: "x-r-cert-expired", additional.fields[].value.string_value: x-r-cert-expired | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-incomplete-chain | additional.fields[].key: "x-r-cert-incomplete-chain", additional.fields[].value.string_value: x-r-cert-incomplete-chain | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-issuer-cn | network.tls.server.certificate.issuer: x-r-cert-issuer-cn | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-mismatch | additional.fields[].key: "x-r-cert-mismatch", additional.fields[].value.string_value: x-r-cert-mismatch | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-revoked | additional.fields[].key: "x-r-cert-revoked", additional.fields[].value.string_value: x-r-cert-revoked | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-self-signed | additional.fields[].key: "x-r-cert-self-signed", additional.fields[].value.string_value: x-r-cert-self-signed | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-startdate | network.tls.server.certificate.not_before.seconds: שניות של תקופת זמן המערכת מ-x-r-cert-startdate | התאריך מומר לשניות מאז תחילת התקופה (epoch) |
| x-r-cert-subject-cn | network.tls.server.certificate.subject: x-r-cert-subject-cn | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-untrusted-root | additional.fields[].key: "x-r-cert-untrusted-root", additional.fields[].value.string_value: x-r-cert-untrusted-root | ממופה ישירות משדה ה-JSON התואם |
| x-r-cert-valid | additional.fields[].key: "x-r-cert-valid", additional.fields[].value.string_value: x-r-cert-valid | ממופה ישירות משדה ה-JSON התואם |
| x-request-id | additional.fields[].key: "requestId", additional.fields[].value.string_value: x-request-id | ממופה ישירות משדה ה-JSON התואם |
| x-rs-file-category | additional.fields[].key: "x-rs-file-category", additional.fields[].value.string_value: x-rs-file-category | ממופה ישירות משדה ה-JSON התואם |
| x-rs-file-type | additional.fields[].key: "x-rs-file-type", additional.fields[].value.string_value: x-rs-file-type | ממופה ישירות משדה ה-JSON התואם |
| x-s-country | target.location.country_or_region: x-s-country | ממופה ישירות משדה ה-JSON התואם |
| x-s-dp-name | additional.fields[].key: "x-s-dp-name", additional.fields[].value.string_value: x-s-dp-name | ממופה ישירות משדה ה-JSON התואם |
| x-s-latitude | target.location.region_coordinates.latitude: x-s-latitude | ממופה ישירות משדה ה-JSON התואם |
| x-s-location | target.location.name: x-s-location | ממופה ישירות משדה ה-JSON התואם |
| x-s-longitude | target.location.region_coordinates.longitude: x-s-longitude | ממופה ישירות משדה ה-JSON התואם |
| x-s-region | target.location.state: x-s-region | ממופה ישירות משדה ה-JSON התואם |
| x-s-zipcode | additional.fields[].key: "x-s-zipcode", additional.fields[].value.string_value: x-s-zipcode | ממופה ישירות משדה ה-JSON התואם |
| x-sr-ssl-cipher | security_result.detection_fields[].key: "x-sr-ssl-cipher", security_result.detection_fields[].value: x-sr-ssl-cipher | ממופה ישירות משדה ה-JSON המתאים |
| x-sr-ssl-client-certificate-error | security_result.detection_fields[].key: "x-sr-ssl-client-certificate-error", security_result.detection_fields[].value: x-sr-ssl-client-certificate-error | ממופה ישירות משדה ה-JSON התואם |
| x-sr-ssl-engine-action | security_result.detection_fields[].key: "x-sr-ssl-engine-action", security_result.detection_fields[].value: x-sr-ssl-engine-action | ממופה ישירות משדה ה-JSON התואם |
| x-sr-ssl-engine-action-reason | security_result.detection_fields[].key: "x-sr-ssl-engine-action-reason", security_result.detection_fields[].value: x-sr-ssl-engine-action-reason | ממופה ישירות משדה ה-JSON התואם |
| x-sr-ssl-handshake-error | security_result.detection_fields[].key: "x-sr-ssl-handshake-error", security_result.detection_fields[].value: x-sr-ssl-handshake-error | ממופה ישירות משדה ה-JSON התואם |
| x-sr-ssl-ja3s | network.tls.server.ja3s: x-sr-ssl-ja3s | ממופה ישירות משדה ה-JSON התואם |
| x-sr-ssl-malformed-ssl | security_result.detection_fields[].key: "x-sr-ssl-malformed-ssl", security_result.detection_fields[].value: x-sr-ssl-malformed-ssl | ממופה ישירות משדה ה-JSON התואם |
| x-sr-ssl-version | security_result.detection_fields[].key: "x-sr-ssl-version", security_result.detection_fields[].value: x-sr-ssl-version | ממופה ישירות משדה ה-JSON התואם |
| x-s-custom-signing-ca-error | security_result.detection_fields[].key: "x-s-custom-signing-ca-error", security_result.detection_fields[].value: x-s-custom-signing-ca-error | ממופה ישירות משדה ה-JSON התואם |
| x-ssl-bypass | security_result.detection_fields[].key: "SSL BYPASS", security_result.detection_fields[].value: x-ssl-bypass or x-ssl-bypass-reason | אם הערך של x-ssl-bypass הוא "Yes" והערך של x-ssl-bypass-reason קיים, המערכת משתמשת בערך של x-ssl-bypass-reason. אחרת, המערכת משתמשת בערך של x-ssl-bypass. |
| x-ssl-policy-action | security_result.detection_fields[].key: "x-ssl-policy-action", security_result.detection_fields[].value: x-ssl-policy-action | ממופה ישירות משדה ה-JSON התואם |
| x-ssl-policy-categories | security_result.category_details[]: x-ssl-policy-categories | ממופה ישירות משדה ה-JSON התואם |
| x-ssl-policy-dst-host | security_result.detection_fields[].key: "x-ssl-policy-dst-host", security_result.detection_fields[].value: x-ssl-policy-dst-host | ממופה ישירות משדה ה-JSON התואם |
| x-ssl-policy-dst-host-source | security_result.detection_fields[].key: "x-ssl-policy-dst-host-source", security_result.detection_fields[].value: x-ssl-policy-dst-host-source | ממופה ישירות משדה ה-JSON התואם |
| x-ssl-policy-dst-ip | security_result.detection_fields[].key: "x-ssl-policy-dst-ip", security_result.detection_fields[].value: x-ssl-policy-dst-ip | ממופה ישירות משדה ה-JSON התואם |
| x-ssl-policy-name | security_result.rule_name: x-ssl-policy-name | ממופה ישירות משדה ה-JSON התואם |
| x-ssl-policy-src-ip | security_result.detection_fields[].key: "x-ssl-policy-src-ip", security_result.detection_fields[].value: x-ssl-policy-src-ip | ממופה ישירות משדה ה-JSON התואם |
| x-sr-dst-ip | security_result.detection_fields[].key: "x-sr-dst-ip", security_result.detection_fields[].value: x-sr-dst-ip | ממופה ישירות משדה ה-JSON התואם |
| x-sr-dst-port | security_result.detection_fields[].key: "x-sr-dst-port", security_result.detection_fields[].value: x-sr-dst-port | ממופה ישירות משדה ה-JSON התואם |
| x-type | additional.fields[].key: "xType", additional.fields[].value.string_value: x-type | ממופה ישירות משדה ה-JSON התואם |
| x-transaction-id | additional.fields[].key: "transactionId", additional.fields[].value.string_value: x-transaction-id | ממופה ישירות משדה ה-JSON התואם |
| metadata.vendor_name | מגדירים את הערך "Netskope" | |
| metadata.product_name | אם האפשרות "Netskope Webproxy" לא קיימת, צריך להגדיר אותה | |
| metadata.log_type | צריך להגדיר את הערך "NETSKOPE_WEBPROXY" |
יומן שינויים
הצגת יומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.