איסוף יומנים של 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 בקידומת נפרדת.

  1. נכנסים ללוח הבקרה של Cisco Umbrella בכתובת https://dashboard.umbrella.com.
  2. עוברים אל ניהול > ניהול יומנים.
  3. אם עדיין לא הגדרתם ייצוא של יומני S3, לוחצים על Use your company-managed Amazon S3 bucket (שימוש בקטגוריית Amazon S3 בניהול החברה).
  4. מספקים את פרטי ההגדרה הבאים:
    • שם הקטגוריה: מזינים את השם של קטגוריית S3 (לדוגמה, umbrella-logs).
    • אזור: בוחרים את אזור AWS שבו נמצאת הקטגוריה.
  5. מעתיקים את מספר חשבון AWS ואת המזהה החיצוני שמוצגים ב-Umbrella, אם הם עדיין לא נשמרו.
  6. לוחצים על Save.

הגדרה של קטגוריית AWS S3 ו-IAM ל-Google SecOps

  1. יוצרים קטגוריה ב-Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה
  2. שומרים את השם והאזור של הקטגוריה לעיון בהמשך (לדוגמה, umbrella-logs).
  3. יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
  4. בוחרים את המשתמש שנוצר.
  5. לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
  6. בקטע מפתחות גישה, לוחצים על יצירת מפתח גישה.
  7. בוחרים באפשרות שירות של צד שלישי בתור תרחיש שימוש.
  8. לוחצים על הבא.
  9. אופציונלי: מוסיפים תג תיאור.
  10. לוחצים על Create access key (יצירת מפתח גישה).
  11. לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לעיון עתידי.
  12. לוחצים על סיום.
  13. לוחצים על הכרטיסייה הרשאות.
  14. בקטע Permissions policies, לוחצים על Add permissions.
  15. לוחצים על הוספת הרשאות.
  16. בוחרים באפשרות צירוף מדיניות ישירות.
  17. מחפשים את המדיניות AmazonS3FullAccess.
  18. בוחרים את המדיניות.
  19. לוחצים על הבא.
  20. לוחצים על הוספת הרשאות.

הגדרת מדיניות ותפקיד IAM לגישה ל-Cisco Umbrella S3

כדי לכתוב יומנים לקטגוריית S3, ל-Cisco Umbrella נדרש תפקיד IAM בין חשבונות.

  1. במסוף AWS, עוברים אל IAM > Policies > Create policy > JSON tab.
  2. מעתיקים ומדביקים את המדיניות הבאה (מחליפים את 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/*"
          ]
        }
      ]
    }
    
  3. לוחצים על הבא > יצירת מדיניות. נותנים לו את השם UmbrellaS3WritePolicy.

  4. עוברים אל IAM > תפקידים > יצירת תפקיד > מדיניות אמון בהתאמה אישית.

  5. מדביקים את מדיניות האמון הבאה ומחליפים את הערכים 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"
            }
          }
        }
      ]
    }
    
  6. לוחצים על הבא.

  7. מצרפים את המדיניות UmbrellaS3WritePolicy.

  8. נותנים לתפקיד את השם UmbrellaS3Role ולוחצים על יצירת תפקיד.

  9. מעתיקים את Role ARN לשימוש בלוח הבקרה של Umbrella.

אימות הייצוא של יומני Cisco Umbrella

  1. חוזרים ללוח הבקרה של Cisco Umbrella.
  2. עוברים אל ניהול > ניהול יומנים.
  3. מזינים את מספר ה-ARN של התפקיד מתפקיד IAM שיצרתם (אם הוא עדיין לא הוגדר).
  4. לוחצים על Verify (אימות) כדי לוודא ש-Umbrella יכול לכתוב ל-S3 bucket.
  5. אחרי שהאימות יסתיים בהצלחה, Umbrella יתחיל לייצא יומני פרוקסי לקטגוריית S3.

הגדרת פיד ב-Google SecOps להטמעת יומנים של Cisco Umbrella Web Proxy

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על + הוספת פיד חדש.
  3. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Cisco Umbrella Web Proxy logs).
  4. בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
  5. בוחרים באפשרות Cisco Umbrella Web Proxy בתור סוג היומן.
  6. לוחצים על הבא.
  7. מציינים ערכים לפרמטרים הבאים של הקלט:

    • S3 URI: s3://umbrella-logs/proxylogs/
    • אפשרויות למחיקת המקור: בוחרים את אפשרות המחיקה הרצויה.
    • הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון. ברירת המחדל היא 180 ימים.
    • מזהה מפתח הגישה: מפתח הגישה של המשתמש עם גישה לקטגוריית S3.
    • מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3.
    • מרחב השמות של הנכס: מרחב השמות של הנכס.
    • תוויות להוספה: התווית שמוחלת על האירועים מהפיד הזה.
  8. לוחצים על הבא.

  9. בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.

טבלת מיפוי 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.