איסוף יומנים של Cisco Umbrella Web Proxy
גרסת כלי הניתוח: 16.0
במאמר הזה מוסבר איך להטמיע יומנים של Cisco Umbrella Web Proxy ב-Google Security Operations באמצעות Amazon S3. שרת ה-Proxy לאינטרנט של Cisco Umbrella מספק נראות ושליטה מלאות בכתובות URL של תעבורת אינטרנט, ופועל כשער אינטרנט מאובטח (SWG) מבוסס-ענן. יומני Web Proxy מתעדים פרטים של תנועת HTTP ו-HTTPS, כולל כתובות URL מלאות, זהויות משתמשים, סוגי תוכן ופסיקות אבטחה לבקשות שמועברות דרך ה-proxy החכם של Umbrella.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps.
- גישה עם הרשאות מיוחדות ללוח הבקרה של Cisco Umbrella עם תפקיד אדמין מלא או אדמין עם הרשאת קריאה בלבד.
- גישה עם הרשאות ל-AWS (S3, IAM).
- רישיון ל-Cisco Umbrella Secure Internet Gateway (SIG) או ל-DNS Security Advantage עם הפעלת שרת proxy חכם.
הגדרת ייצוא יומנים מ-Cisco Umbrella ל-Amazon S3
ב-Cisco Umbrella יש תמיכה מובנית בייצוא של יומני Web Proxy לקטגוריה ב-Amazon S3 שאתם מנהלים. אם כבר הגדרתם ייצוא של יומני S3 ליומני DNS של Umbrella, אפשר להשתמש מחדש באותה קטגוריית S3 ובהגדרת IAM. מערכת Umbrella שומרת יומני שרת proxy בקידומת נפרדת.
- נכנסים ללוח הבקרה של Cisco Umbrella בכתובת
https://dashboard.umbrella.com. - עוברים אל ניהול > ניהול יומנים.
- אם עדיין לא הגדרתם ייצוא של יומני S3, לוחצים על Use your company-managed Amazon S3 bucket (שימוש בקטגוריית Amazon S3 בניהול החברה).
- מספקים את פרטי ההגדרה הבאים:
- שם הקטגוריה: מזינים את השם של קטגוריית S3 (לדוגמה,
umbrella-logs). - אזור: בוחרים את אזור AWS שבו נמצאת הקטגוריה.
- שם הקטגוריה: מזינים את השם של קטגוריית S3 (לדוגמה,
- מעתיקים את מספר חשבון AWS ואת המזהה החיצוני שמוצגים ב-Umbrella, אם הם עדיין לא נשמרו.
- לוחצים על Save.
הגדרה של קטגוריית AWS S3 ו-IAM ל-Google SecOps
- יוצרים קטגוריה ב-Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה
- שומרים את השם והאזור של הקטגוריה לעיון בהמשך (לדוגמה,
umbrella-logs). - יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
- בוחרים את המשתמש שנוצר.
- לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
- בקטע מפתחות גישה, לוחצים על יצירת מפתח גישה.
- בוחרים באפשרות שירות של צד שלישי בתור תרחיש שימוש.
- לוחצים על הבא.
- אופציונלי: מוסיפים תג תיאור.
- לוחצים על Create access key (יצירת מפתח גישה).
- לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לעיון עתידי.
- לוחצים על סיום.
- לוחצים על הכרטיסייה הרשאות.
- בקטע Permissions policies, לוחצים על Add permissions.
- לוחצים על הוספת הרשאות.
- בוחרים באפשרות צירוף מדיניות ישירות.
- מחפשים את המדיניות AmazonS3FullAccess.
- בוחרים את המדיניות.
- לוחצים על הבא.
- לוחצים על הוספת הרשאות.
הגדרת מדיניות ותפקיד IAM לגישה ל-Cisco Umbrella S3
כדי לכתוב יומנים לקטגוריית S3, ל-Cisco Umbrella נדרש תפקיד IAM בין חשבונות.
- במסוף AWS, עוברים אל IAM > Policies > Create policy > JSON tab.
מעתיקים ומדביקים את המדיניות הבאה (מחליפים את
umbrella-logsאם הזנתם שם אחר לקטגוריה):{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUmbrellaPutObjects", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::umbrella-logs", "arn:aws:s3:::umbrella-logs/*" ] } ] }לוחצים על הבא > יצירת מדיניות. נותנים לו את השם
UmbrellaS3WritePolicy.עוברים אל IAM > תפקידים > יצירת תפקיד > מדיניות אמון בהתאמה אישית.
מדביקים את מדיניות האמון הבאה ומחליפים את הערכים
UMBRELLA_AWS_ACCOUNT_IDו-UMBRELLA_EXTERNAL_IDבערכים שהעתקתם מלוח הבקרה של Umbrella:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::UMBRELLA_AWS_ACCOUNT_ID:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "UMBRELLA_EXTERNAL_ID" } } } ] }לוחצים על הבא.
מצרפים את המדיניות
UmbrellaS3WritePolicy.נותנים לתפקיד את השם
UmbrellaS3Roleולוחצים על יצירת תפקיד.מעתיקים את Role ARN לשימוש בלוח הבקרה של Umbrella.
אימות הייצוא של יומני Cisco Umbrella
- חוזרים ללוח הבקרה של Cisco Umbrella.
- עוברים אל ניהול > ניהול יומנים.
- מזינים את מספר ה-ARN של התפקיד מתפקיד IAM שיצרתם (אם הוא עדיין לא הוגדר).
- לוחצים על Verify (אימות) כדי לוודא ש-Umbrella יכול לכתוב ל-S3 bucket.
- אחרי שהאימות יסתיים בהצלחה, Umbrella יתחיל לייצא יומני פרוקסי לקטגוריית S3.
הגדרת פיד ב-Google SecOps להטמעת יומנים של Cisco Umbrella Web Proxy
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על + הוספת פיד חדש.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Cisco Umbrella Web Proxy logs). - בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
- בוחרים באפשרות Cisco Umbrella Web Proxy בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
- S3 URI:
s3://umbrella-logs/proxylogs/ - אפשרויות למחיקת המקור: בוחרים את אפשרות המחיקה הרצויה.
- הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון. ברירת המחדל היא 180 ימים.
- מזהה מפתח הגישה: מפתח הגישה של המשתמש עם גישה לקטגוריית S3.
- מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3.
- מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות להוספה: התווית שמוחלת על האירועים מהפיד הזה.
- S3 URI:
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
ampDisposition |
security_result.detection_fields[].value |
הערך של ampDisposition מהיומן הגולמי. |
ampMalware |
security_result.detection_fields[].value |
הערך של ampMalware מהיומן הגולמי. |
ampScore |
security_result.detection_fields[].value |
הערך של ampScore מהיומן הגולמי. |
avDetections |
security_result.detection_fields[].value |
הערך של avDetections מהיומן הגולמי. |
blockedCategories |
security_result.threat_name |
הערך של blockedCategories מהיומן הגולמי. |
certificateErrors |
security_result.detection_fields[].value |
הערך של certificateErrors מהיומן הגולמי. |
contentType |
security_result.detection_fields[].value |
הערך של contentType מהיומן הגולמי. |
destinationIp |
target.ip |
הערך של destinationIp מהיומן הגולמי. |
destinationListID |
security_result.detection_fields[].value |
הערך של destinationListID מהיומן הגולמי. |
dlpstatus |
security_result.detection_fields[].value |
הערך של dlpstatus מהיומן הגולמי. |
externalIp |
principal.ip |
הערך של externalIp מהיומן הגולמי. |
fileAction |
security_result.detection_fields[].value |
הערך של fileAction מהיומן הגולמי. |
fileName |
target.file.names |
הערך של fileName מהיומן הגולמי. |
identitiesV8 |
principal.hostname |
הערך של identitiesV8 מהיומן הגולמי. |
identity |
principal.location.name |
הערך של identity מהיומן הגולמי. |
internalIp |
principal.ip |
הערך של internalIp מהיומן הגולמי. |
isolateAction |
security_result.detection_fields[].value |
הערך של isolateAction מהיומן הגולמי. |
referer |
network.http.referral_url |
הערך של referer מהיומן הגולמי. |
requestMethod |
network.http.method |
הערך של requestMethod מהיומן הגולמי. |
requestSize |
security_result.detection_fields[].value |
הערך של requestSize מהיומן הגולמי. |
responseBodySize |
security_result.detection_fields[].value |
הערך של responseBodySize מהיומן הגולמי. |
responseSize |
security_result.detection_fields[].value |
הערך של responseSize מהיומן הגולמי. |
ruleID |
security_result.rule_id |
הערך של ruleID מהיומן הגולמי. |
rulesetID |
security_result.detection_fields[].value |
הערך של rulesetID מהיומן הגולמי. |
sha |
security_result.about.file.sha256 |
הערך של sha מהיומן הגולמי. |
statusCode |
network.http.response_code |
הערך של statusCode מהיומן הגולמי. |
ts |
timestamp |
הערך של ts מהיומן הגולמי, אחרי ניתוח לפורמט של חותמת זמן. |
url |
target.url |
הערך של url מהיומן הגולמי. |
userAgent |
network.http.user_agent |
הערך של userAgent מהיומן הגולמי. |
verdict |
security_result.detection_fields[].value |
הערך של verdict מהיומן הגולמי. |
warnstatus |
security_result.detection_fields[].value |
הערך של warnstatus מהיומן הגולמי. הערך של collection_time מהיומן הגולמי. הוזן קוד קשיח ל-NETWORK_HTTP. הוזן קוד קשיח ל-Cisco. הוזן קוד קשיח ל-Umbrella. הוזן קוד קשיח ל-UMBRELLA_WEBPROXY. הערך נגזר מהסכימה של שדה כתובת ה-URL (http או https). הערך מנותח מהשדה userAgent באמצעות ספריית ניתוח של User-Agent. הערך של requestSize מיומן הגולמי, אחרי המרה למספר שלם. הערך של responseSize מיומן הגולמי, אחרי המרה למספר שלם. הערך נגזר מהשדה identity כש-identityType (או identityTypeV8 עם identitiesV8) מציין משתמש. הנתונים עוברים ניתוח נוסף כדי לחלץ פרטי משתמש כמו שם מוצג, שם פרטי, שם משפחה וכתובת אימייל. מיפוי מהשדה verdict: allowed או allowed -> ALLOW, ערכים אחרים -> BLOCK. אם categories לא ריק, מגדירים את הערך NETWORK_CATEGORIZED_CONTENT. הערך של categories מהיומן הגולמי. על סמך verdict ואולי שדות אחרים. בדרך כלל Traffic allowed או Traffic blocked. אם הערך של verdict הוא לא allowed או blocked והמאפיין statusCode מופיע, הערך של הסיכום הוא Traffic %{statusCode}. |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.