הגנה על Compute Engine באמצעות גבולות גזרה של VPC Service Controls

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

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

המדריך הזה מיועד Cloud de Confiance לאדמינים בארגון שרוצים ללמוד את המושגים הבסיסיים של VPC Service Controls.

מטרות

  • הסבר על היסודות של VPC Service Controls.
  • יוצרים גבולות גזרה לשירות.
  • הגנה על פרויקט באמצעות VPC Service Controls.
  • פתרון בעיות של הפרת תעבורת נתונים נכנסת (ingress) ב-VPC Service Controls.

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Cloud de Confiance by S3NS, והשימוש בהם כרוך בתשלום:

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

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

יצירה של service perimeter

יוצרים גבולות גזרה לשירות שיגנו על Compute Engine API בפרויקט My-Project-2:

  1. נכנסים לדף VPC Service Controls במסוף Cloud de Confiance .

    מעבר אל VPC Service Controls

    מוודאים שאתם בהיקף הארגון.

  2. לוחצים על ניהול מדיניות.

  3. יוצרים מדיניות גישה חדשה בהיקף של התיקייה Exercise.

  4. יוצרים גבולות גזרה חדשים עם הפרטים הבאים:

    • כותרת: MyFirstPerimeter

    • סוג ההיקף: רגיל

    • מצב אכיפה: אכיפה

    • משאבים להגנה: פרויקט My-Project-2

    • שירותים מוגבלים: Compute Engine API

אימות ההיקף

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

  1. נכנסים לפרויקט My-Project-1 ומוודאים שאפשר לגשת ל-Compute Engine דרך הדף VM instances.

    כניסה לדף VM instances

    אמורה להיות לך גישה כי My-Project-1 לא מוגן על ידי גבולות הגזרה שיצרת קודם.

  2. נכנסים לפרויקט My-Project-2 ומוודאים שאפשר לגשת ל-Compute Engine דרך הדף VM instances.

    אפשר לראות ש-VPC Service Controls דוחה את הבקשה שלכם לגשת ל-Compute Engine כי גבולות הגזרה MyFirstPerimeter מגנים על My-Project-2 ועל Compute Engine API.

פתרון בעיה של הפרה

יומני ביקורת של VPC Service Controls כוללים פרטים על בקשות למשאבים מוגנים ועל הסיבה לדחיית הבקשה על ידי VPC Service Controls. המידע הזה נחוץ כדי לזהות את ההפרה בפרויקט My-Project-2 ולפתור אותה.

הצגה של יומני ביקורת

  1. איתור המזהה הייחודי של ההפרה של VPC Service Controls בMy-Project-2יומני הביקורת של הפרויקט:

    1. במסוף Cloud de Confiance , נכנסים לדף Logs Explorer:

      כניסה אל Logs Explorer

      אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.

    2. בוחרים את הפרויקט My-Project-2.

    3. כדי להציג את כל יומני הביקורת, מזינים את השאילתה הבאה בשדה עורך השאילתות:

      resource.type="audited_resource"
      protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
      
    4. לוחצים על Run query.

    השאילתה הזו מציגה את כל יומני הביקורת של VPC Service Controls. כדי למצוא את פרטי ההפרה של הגישה ל-Compute Engine API בפרויקט My-Project-2, בודקים את יומן השגיאות האחרון.

    מידע נוסף זמין במאמר בנושא צפייה ביומנים.

  2. בחלונית Query results, לוחצים על VPC Service Controls לצד הדחייה שרוצים לפתור, ואז לוחצים על Troubleshoot denial.

    ייפתח הדף VPC Service Controls violation analyzer. בדף הזה מוצגת הסיבה להפרה ומידע נוסף, כמו האם ההפרה היא הפרת תעבורת נתונים נכנסת (ingress) או הפרת תעבורת נתונים יוצאת (egress).

    במדריך הזה תמצאו את הפרטים הבאים:

    "principalEmail": "USER@DOMAIN"
    "callerIp": "PUBLIC_IP_ADDRESS"
    "serviceName": "compute.googleapis.com"
    "servicePerimeterName":
    "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter
    "ingressViolations": [
            {
    "targetResource": "projects/PROJECT_NUMBER",
    "servicePerimeter": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter"
            }
          ],
    "violationReason": "NO_MATCHING_ACCESS_LEVEL",
    "resourceNames": "PROJECT_ID"
    

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

כדי לפתור את הדחייה בפרויקט My-Project-2, יש שתי אפשרויות:

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

יצירה של רמת גישה

  1. במסוף Cloud de Confiance , עוברים לדף Access Context Manager בהיקף התיקייה Exercise.

    מעבר אל Access Context Manager

  2. יצירת רמת גישה עם הפרטים הבאים:

    • בקטע Create conditions in, בוחרים באפשרות Basic mode.

    • בקטע When condition is met, return (כשהתנאי מתקיים, מחזיר), בוחרים באפשרות True (אמת).

    • בוחרים את מאפיין רשתות משנה של כתובות IP ומציינים את כתובת ה-IP הציבורית של המערכת.

    • בוחרים את מאפיין המיקומים הגיאוגרפיים ומציינים את המיקום הגיאוגרפי.

    רמת הגישה הזו מאפשרת גישה רק אם יש התאמה בין כתובת ה-IP לבין המיקום הגיאוגרפי.

  3. עוברים לדף VPC Service Controls בהיקף הארגון.

    מעבר אל VPC Service Controls

  4. בוחרים את מדיניות הגישה שיצרתם קודם במדריך הזה.

  5. מוסיפים את רמת הגישה שיצרתם בהיקף התיקייה Exercise לגבולות הגזרה MyFirstPerimeter.

בדיקת הגישה

אחרי שמוסיפים את רמת הגישה, צריך לוודא שאפשר לגשת ל-Compute Engine בפרויקט My-Project-2 וליצור מכונה וירטואלית.

  1. נכנסים לדף VM instances במסוף Cloud de Confiance .

    כניסה לדף VM instances

  2. איך יוצרים מופע של VM?

אחרי דקה בערך, Compute Engine יוצר מכונת VM. הפעולה הזו מאמתת שיש לכם גישה מלאה ל-Compute Engine שמוגן בתוך גבולות הגזרה.

הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.

מחיקת הפרויקט

  1. במסוף Cloud de Confiance , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

מחיקת משאבים בודדים

מחיקת מכונות וירטואליות

  1. נכנסים לדף VM instances במסוף Cloud de Confiance .

    כניסה לדף VM instances

  2. מסמנים את התיבה שלצד המופע שרוצים למחוק.
  3. כדי למחוק את המכונה, לוחצים על More actions ואז על Delete ופועלים לפי ההוראות.

מחיקת משאבים של VPC Service Controls

  1. מחיקת גבולות גזרה לשירות.

  2. מחיקה של רמת הגישה שיצרתם בהיקף התיקייה Exercise.

המאמרים הבאים