הגדרת VPC Service Controls

נתמך ב:

במדריך הזה מוסבר איך להגדיר את VPC Service Controls ל-Google Security Operations.

בעזרת VPC Service Controls אתם יכולים להגדיר גבולות גזרה לשירות כדי להגן מפני זליגת נתונים. כדי ש-Google SecOps יוכל לגשת למשאבים ולשירותים מחוץ לגבולות הגזרה לשירות, צריך להגדיר את Google Security Operations באמצעות VPC Service Controls.

מידע נוסף על VPC Service Controls זמין בסקירה כללית על VPC Service Controls. אפשר גם לעיין בערך של Google Security Operations בטבלת המוצרים הנתמכים של VPC Service Controls.

לפני שמתחילים

  • מוודאים שיש לכם את התפקידים הנדרשים להגדרת VPC Service Controls ברמת הארגון.
  • כדי להשתמש ב-Google SecOps עם VPC Service Controls, אתם יכולים להשתמש רק בתכונות שתואמות ל-VPC Service Controls. ברשימה הבאה מפורטות התכונות שתואמות ל-VPC Service Controls:

    • ‫Google SecOps עם VPC Service Controls תומך רק ב Google Cloud אימות זהות, ספקי זהויות של צד שלישי ואיחוד שירותי אימות הזהות של כוח העבודה.
    • כדי להשתמש ב-VPC Service Controls עם Google SecOps, צריך להפעיל את התכונה RBAC ב-Google SecOps.
    • ‫Google SecOps עם VPC Service Controls תומך רק בממשקי ה-API הבאים שגלויים לכולם:

      • chronicle.googleapis.com
      • chronicleservicemanager.googleapis.com

      כדי להצטרף ל-VPC Service Controls, צריך להעביר את כל נקודות הקצה המתאימות ל-API של chronicle.googleapis.com.

    • ב-Google SecOps עם VPC Service Controls אפשר לייצא נתונים של מודל הנתונים המאוחד (UDM) של Google SecOps רק לפרויקט בניהול עצמי ב-BigQuery או באמצעות ייצוא מתקדם ל-BigQuery.

    • שירות VPC Service Controls תומך רק במרכזי הבקרה של Google SecOps.

    • אפשר ליצור פידים של Cloud Storage רק עם סוג המקור GOOGLE_CLOUD_STORAGE_V2 באמצעות מחברים בגרסה 2.

    • כשיוצרים מינויים חדשים ל-Pub/Sub ו-Google SecOps מוגבל בתוך גבולות הגזרה של VPC Service Controls, צריך לכתוב את היומנים ב-Cloud Storage ולהשתמש ב-GOOGLE_CLOUD_STORAGE_V2 או ב-GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN במקום בפידים של CLOUD_PUB_SUB.

  • במכונה של Google SecOps שמשתמשת במפתחות הצפנה בניהול הלקוח (CMEK), Google ממליצה מאוד להשאיר את הפרויקט של Cloud Key Management Service באותו היקף כמו הפרויקט ב- Google Cloud שמקושר ל-Google SecOps, או להשאיר את המפתחות בתוך הפרויקט ב- Google Cloud שמקושר ל-Google SecOps.

  • בצד של ה-SOAR בפלטפורמה, אם במכונה של Google SecOps משתמשים במפתחות הצפנה בניהול הלקוח (CMEK), צריך לוודא שהמכונה של SOAR הועברה אל Google.com.

  • אם אתם משתמשים בייצוא נתונים מדור קודם של SOAR ל-BigQuery, למשל ל-Looker או ל-Managed BigQuery Export, ‏ Google ממליצה להשתמש במקום זאת בתכונה Bring Your Own BigQuery (BYOBQ)‎. מכיוון שמרכזי הבקרה של Looker הם תכונה מדור קודם, Google ממליצה להשתמש במקום זאת במרכזי בקרה. אם אתם ממשיכים להשתמש בייצוא נתונים מדור קודם של SOAR ל-BigQuery, אתם צריכים להגדיר כלל ייעודי לתעבורת נתונים יוצאת (egress) בהיקף השירות של VPC Service Controls. כדי לקבל את פרטי הכלל והפרויקט הנדרשים, כמו SOAR_TENANT_PROJECT_ID ו-BQ_TLA_PROJECT_NUMBER, פנו ל-Customer Engineer (CE) או פתחו בקשת תמיכה.

מגבלות

  • נקודת הקצה ל-API של Google SecOps Chronicle‏ ImportPushLogs לא תומכת ב-VPC Service Controls. עם זאת, המגבלה הזו לא מהווה סיכון של זליגת נתונים, כי נקודת הקצה ImportPushLogs משמשת רק כדי להעביר נתונים למכונה של Google SecOps, ולא כדי לגשת לנתונים.

  • ב-Google SecOps עם VPC Service Controls אין תמיכה בלוחות הבקרה של Looker.

  • Google Cloud ב-Pub/Sub אי אפשר ליצור מינוי חדש שמשתמש בנקודות קצה ל-API של Chronicle כדי להטמיע יומנים (הרשומה של Pub/Sub בטבלת המוצרים שנתמכים ב-VPC Service Controls). עם זאת, כל המינויים הקיימים ל-Pub/Sub (שנוצרו לפני העברת הפרויקט Google Cloud אל תוך ההיקף של VPC Service Controls) ימשיכו להטמיע יומנים כצפוי.

  • ב-Google SecOps עם VPC Service Controls אין תמיכה בקטגוריות קלאסיות בענן ובמחברי פידים של ממשקי API של צד שלישי.

הגדרת הכללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress)

מגדירים כללים לתעבורת נתונים נכנסת ויוצאת על סמך ההגדרות של גבולות הגזרה לשירות. מידע נוסף זמין במאמר סקירה כללית על גבולות גזרה לשירות.

אם נתקלתם בבעיות ב-VPC Service Controls, אתם יכולים להשתמש בכלי לניתוח הפרות של VPC Service Controls כדי לנפות באגים ולנתח את הבעיה. מידע נוסף זמין במאמר אבחון של דחיית גישה בכלי לניתוח הפרות.

הגדרת הכלל לתעבורת נתונים נכנסת (ingress) ל-SOAR

בקטע הזה מוסבר איך להגדיר את VPC Service Controls בצד של SOAR בפלטפורמה.

מגדירים את כלל התעבורה הנכנסת הבא לחשבון המשתמש ב- Google Cloud שציינתם כשהגדרתם את Google SecOps:

  - ingressFrom:
      identityType: ANY_SERVICE_ACCOUNT
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: secretmanager.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/PROJECT_NUMBER

מחליפים את PROJECT_NUMBER במספר הפרויקט ב- Google Cloud שמקושר ל-Google SecOps.

הגדרת הכללים ל-SIEM

בקטע הזה מוסבר איך להגדיר את VPC Service Controls בצד של ה-SIEM בפלטפורמה.

כללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress) בפידים בגרסה 2 שמבוססים על Cloud Storage

מגדירים כללים לתעבורת נתונים נכנסת ויוצאת על סמך ההגדרות של גבולות הגזרה לשירות. מידע נוסף זמין במאמר סקירה כללית על גבולות גזרה לשירות. אם VPC Service Controls מופעל בפרויקט ב- Google Cloud שמארח את קטגוריית המקור של Cloud Storage או בפרויקט ב-Google SecOps שמקושר ל- Google Cloud (BYOP), צריך להגדיר את כללי תעבורת הנתונים הנכנסת והיוצאת הנדרשים על סמך הגדרת גבולות הגזרה:

גודל אות הפרויקט של קטגוריית המקור פרויקט שמקושר ל-Google SecOps‏ (BYOP) כללים למתחם המקור כללים ל-BYOP Perimeter
מקרה ראשון בתוך גבולות גזרה באותו היקף ללא ללא
מקרה שני בעוד CUSTOMER_SOURCE_PERIMETER ב-CUSTOMER_BYOP_PERIMETER (היקף שונה) כלל א'1 (תעבורת נתונים נכנסת) וכלל א'2 (תעבורת נתונים יוצאת) כלל B1 (תעבורת נתונים יוצאת)
מקרה שלישי בעוד CUSTOMER_SOURCE_PERIMETER לא בתוך היקף כלל א'1 (תעבורת נתונים נכנסת) וכלל א'2 (תעבורת נתונים יוצאת) ללא
מקרה 4 לא בתוך היקף בעוד CUSTOMER_BYOP_PERIMETER ללא כלל B1 (תעבורת נתונים יוצאת)

מחליפים את ה-placeholder האלה בכללים הבאים לתעבורת נתונים נכנסת ויוצאת:

  • ‫CUSTOMER_SOURCE_PROJECT_NUMBER: מזהה הפרויקט המספרי של הפרויקט ב- Google Cloud שמארח את קטגוריית המקור ב-Cloud Storage.
  • ‫CUSTOMER_SOURCE_PERIMETER: היקף ה-VPC-SC שמגן על הפרויקט של קטגוריית המקור.
  • ‫CUSTOMER_BYOP_PROJECT_NUMBER: המזהה המספרי של הפרויקט ב-Google SecOps שמקושר לפרויקט Google Cloud (BYOP).
  • ‫CUSTOMER_BYOP_PERIMETER: היקף ה-VPC-SC שמגן על פרויקט ה-BYOP.
  • ‫CHRONICLE_STS_SERVICE_AGENT: חשבון השירות של Storage Transfer Service ‏ (STS) שמוצג ב-Google SecOps כשמגדירים את פיד Cloud Storage V2 (לדוגמה, project-123456789@storage-transfer-service.).
א. כללים להיקף הפרויקט של קטגוריית המקור (CUSTOMER_SOURCE_PERIMETER)

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

כלל א'1: כלל לתעבורת נתונים נכנסת (ingress)
  {
    "ingressFrom": {
      "identities": [
        "serviceAccount:<CHRONICLE_STS_SERVICE_AGENT>"
      ],
      "sources": [
        {
          "accessLevel": "*"
        }
      ]
    },
    "ingressTo": {
      "operations": [
        {
          "serviceName": "storage.googleapis.com",
          "methodSelectors": [
            { "method": "*" }
          ]
        }
      ],
      "resources": [
        "projects/<CUSTOMER_SOURCE_PROJECT_NUMBER>"
      ]
    }
  }
כלל א'2: כלל לתעבורת נתונים יוצאת (egress)
  {
    "egressFrom": {
      "identities": [
        "serviceAccount:<CHRONICLE_STS_SERVICE_AGENT>"
      ]
    },
    "egressTo": {
      "operations": [
        {
          "serviceName": "storage.googleapis.com",
          "methodSelectors": [
            { "method": "google.storage.objects.create" },
            { "method": "google.storage.objects.delete" }
          ]
        }
      ],
      "resources": [
        "projects/<CUSTOMER_BYOP_PROJECT_NUMBER>"
      ]
    }
  }
ב. כללים להיקף הפרויקט של BYOP‏ (CUSTOMER_BYOP_PERIMETER)

הכלל הזה חל על מקרים 2 ו-4, כפי שהם מוגדרים בטבלה שלמעלה.

כלל ב'1: כלל לתעבורת נתונים יוצאת (egress)
  {
    "egressFrom": {
      "identities": [
        "serviceAccount:<CHRONICLE_STS_SERVICE_AGENT>"
      ]
    },
    "egressTo": {
      "operations": [
        {
          "serviceName": "storage.googleapis.com",
          "methodSelectors": [
            { "method": "*" }
          ]
        }
      ],
      "resources": [
        "projects/<CUSTOMER_SOURCE_PROJECT_NUMBER>"
      ]
    }
  }

אם נתקלתם בבעיות ב-VPC Service Controls, אתם יכולים להשתמש בכלי לניתוח הפרות של VPC Service Controls כדי לנפות באגים ולנתח את הבעיה. מידע נוסף מופיע במאמר אבחון של דחיית גישה בכלי לניתוח הפרות.

כלל תעבורת נתונים נכנסת ל-Advanced BigQuery Export

אם אתם משתמשים בתכונה ייצוא מתקדם ל-BigQuery, הגדירו את הכלל הבא לחשבון המשתמש ב- Google Cloud שציינתם כשהגדרתם את Google SecOps:

    - ingressFrom:
      identities:
      - serviceAccount:malachite-bq-export-entity-graph-batch-adv-bq@
      - serviceAccount:malachite-customer-monitoring-exporter@
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: bigquery.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/PROJECT_NUMBER

מחליפים את PROJECT_NUMBER במספר הפרויקט ב- Google Cloud שמקושר ל-Google SecOps.

כלל לתעבורת נתונים נכנסת (ingress) בטבלאות נתונים

אם אתם משתמשים בטבלאות נתונים, הגדירו את הכלל הבא ל Google Cloud חשבון המשתמש שציינתם כשהגדרתם את Google SecOps:

  - ingressFrom:
      identities:
      - user:malachite-data-plane-api@prod.google.com
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: storage.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/PROJECT_NUMBER

מחליפים את PROJECT_NUMBER במספר הפרויקט ב- Google Cloud שמקושר ל-Google SecOps.

הגדרת הכללים של Google SecOps באמצעות Security Command Center

בקטע הזה מוסבר איך להגדיר את VPC Service Controls ל-Google SecOps באמצעות Security Command Center.

חשבונות השירות בכללים הבאים נוצרים רק במהלך ההקצאה של Google SecOps, ולכן צריך להגדיר את הכללים של Security Command Center אחרי ההקצאה, אבל לפני שמתחילים להשתמש ב-Security Command Center.

מבצעים את המשימות הבאות בחשבון המשתמש ב- Google Cloud שציינתם כשהגדרתם את Google SecOps:

  1. מגדירים את כלל התעבורה הנכנסת הבא:

    - ingressFrom:
        identities:
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-csc-hpsa.
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-asm-hpsa.
        sources:
        - accessLevel: "*"
      ingressTo:
        operations:
        - serviceName: chronicle.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: securitycenter.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: cloudasset.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: monitoring.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: iam.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: orgpolicy.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: serviceusage.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: dns.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - projects/PROJECT_NUMBER
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫GOOGLE_ORGANIZATION_NUMBER: מספר הארגון שלכם ב- Google Cloud
    • ‫PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud שמקושר ל-Google SecOps
  2. מגדירים את כלל התעבורה היוצאת הבא:

    - egressTo:
        operations:
        - serviceName: pubsub.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: securitycenter.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: cloudasset.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: iam.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - "*"
      egressFrom:
        identities:
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.
        - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.
        sources:
        - resource: projects/PROJECT_NUMBER
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫GOOGLE_ORGANIZATION_NUMBER: מספר הארגון שלכם ב- Google Cloud
    • ‫PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud שמקושר ל-Google SecOps

הגדרת כלל הכניסה למפתחות הצפנה בניהול הלקוח (CMEK)

בקטע הזה מוסבר איך להגדיר את VPC Service Controls ל-Google SecOps עם מפתחות הצפנה בניהול הלקוח (CMEK). מפתחות CMEK הם מפתחות הצפנה שבבעלותכם, שאתם מנהלים ומאחסנים ב-Cloud Key Management Service.

מגדירים את כלל התעבורה הנכנסת הבא:

  - ingressFrom:
    identities:
    - serviceAccount: service-SECRET_MANAGER_PROJECT_NUMBER@gcp-sa-secretmanager.
    - serviceAccount: service-GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER@gs-project-accounts.
    - serviceAccount: bq-GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER@bigquery-encryption.
      sources:
      - accessLevel: "*"
    ingressTo:
      operations:
      - serviceName: secretmanager.googleapis.com
        methodSelectors:
        - method: "*"
      - serviceName: cloudkms.googleapis.com
        methodSelectors:
        - method: "*"
      resources:
      - projects/CMEK_PROJECT_NUMBER

מחליפים את מה שכתוב בשדות הבאים:

  • ‫SECRET_MANAGER_PROJECT_NUMBER: הפרויקט שבו Google משתמשת כדי לאחסן סודות של תכונות מסוימות להטמעה. אפשר לקבל את המידע הזה מהנציג של Google SecOps.
  • ‫GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER: הפרויקט שמשמש את Google לאחסון משאבי BigQuery בשביל תכונות ייצוא מסוימות. אפשר לקבל את המידע הזה מהנציג של Google SecOps.
  • ‫CMEK_PROJECT_NUMBER: מספר הפרויקט שבו מאוחסנים מפתחות ה-CMEK