יצירה ופריסה של מופע Secure Web Proxy

במדריך למתחילים הזה נסביר איך פורסים ובודקים מופע של Secure Web Proxy. השלבים מתארים פריסה של Secure Web Proxy במצב ניתוב מפורש, שפועל כפרוקסי מפורש.

אפשר לפרוס מופעים של Secure Web Proxy כשירות Private Service Connect במצב ניתוב מפורש. אפשרות נוספת היא פריסת Secure Web Proxy במצב ניתוב של הצעד הבא.

הפריסה של Secure Web Proxy במצב ניתוב מפורש כוללת את השלבים הבאים:

  1. יוצרים מדיניות Secure Web Proxy.
  2. יוצרים כללים ל-Secure Web Proxy ומוסיפים אותם למדיניות.
  3. מגדירים את מופע Secure Web Proxy במצב ניתוב מפורש.
  4. בודקים את הקישוריות ממכונה וירטואלית (VM) של Linux כדי לוודא שה-proxy והמדיניות שלו פועלים בצורה תקינה.
פריסת Secure Web Proxy במצב ניתוב מפורש של שרת proxy.
פריסת Secure Web Proxy במצב ניתוב של שרת proxy מפורש (לחצו כדי להגדיל).

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

  1. משלימים את השלבים להגדרה הראשונית.

  2. אופציונלי: כדי להריץ את הדוגמאות של שורת הפקודה gcloud שמופיעות במסמך הזה, מתקינים את Google Cloud CLI באחת מסביבות הפיתוח הבאות:

    Cloud Shell

    כדי להשתמש בטרמינל אונליין שכבר מוגדר בו ה-CLI של gcloud, צריך להפעיל את Cloud Shell.

    בחלק התחתון של הדף הזה מתחיל סשן של Cloud Shell ומופיעה הנחיה של שורת הפקודה. הסשן יופעל תוך כמה שניות.

    אם התקנתם בעבר את ה-CLI של gcloud, צריך לוודא שפועלת אצלכם הגרסה העדכנית ביותר של gcloud components update.

    מעטפת מקומית

    כדי להשתמש בסביבת פיתוח מקומית:

    1. התקנת Google Cloud CLI
    2. אתחול ה-CLI של gcloud
  3. יוצרים פרויקט או בוחרים פרויקט קיים Google Cloud .

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

    המסוף

    בדף לבחירת הפרויקט במסוף Google Cloud , יוצרים פרויקט Google Cloud או בוחרים פרויקט קיים.

    כניסה לדף לבחירת הפרויקט

    Cloud Shell

    1. יוצרים Google Cloud פרויקט.

      gcloud projects create PROJECT_ID
      

      מחליפים את הערך PROJECT_ID במזהה הפרויקט הרצוי.

    2. בוחרים את הפרויקט שיצרתם Google Cloud .

      gcloud config set project PROJECT_ID
      
  4. יוצרים מכונה וירטואלית של Linux.

    gcloud compute instances create swp-test-vm \
        --subnet=default \
        --zone=ZONE \
        --image-project=debian-cloud \
        --image-family=debian-11
    

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

    מערכת Compute Engine מעניקה למשתמש שיוצר את מכונת ה-VM את התפקיד Compute Instance Admin (roles/compute.instanceAdmin). בנוסף, המשתמש יתווסף לקבוצת sudo ב-Compute Engine.

  5. יוצרים כלל לחומת האש.

    gcloud compute firewall-rules create default-allow-ssh \
        --direction=INGRESS \
        --priority=1000 \
        --network=default \
        --action=ALLOW \
        --rules=tcp:22 \
        --source-ranges=0.0.0.0/0
    

התפקידים הנדרשים

כדי להשלים את המשימות במדריך הזה, צריך לוודא שיש לכם את התפקידים הבאים:

למידע נוסף, קראו את המאמרים הבאים:

יצירת מדיניות Secure Web Proxy

בקטע הזה מוסבר איך ליצור מדיניות של Secure Web Proxy. המדיניות יכולה לשמש כמאגר לכל כללי האבטחה ששולטים בזרימת התנועה דרך שרת ה-Proxy המאובטח לאינטרנט. אחרי שיוצרים את המדיניות, אפשר ליצור כללים ולהוסיף אותם למדיניות.

המסוף

  1. נכנסים לדף SWP Policies במסוף Google Cloud .

    למדיניות של SWP

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

  3. בשדה Name, מזינים שם למדיניות, למשל myswppolicy.

  4. בשדה Description (תיאור) מזינים תיאור למדיניות, למשל My new swp policy.

  5. בקטע אזורים, בוחרים את האזור שבו רוצים ליצור את המדיניות, כמו us-central1.

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

  7. לוחצים על יצירה.

Cloud Shell

  1. משתמשים בכלי לעריכת טקסט כדי ליצור קובץ policy.yaml.

  2. מוסיפים את הקוד הבא לקובץ policy.yaml:

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/myswppolicy
    

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

    • PROJECT_ID: מזהה הפרויקט
    • REGION: האזור שבו נוצרה המדיניות, למשל us-central1
  3. יוצרים את מדיניות Secure Web Proxy.

    gcloud network-security gateway-security-policies import myswppolicy \
        --source=policy.yaml \
        --location=REGION
    

יצירת כללים ל-Secure Web Proxy

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

במדיניות שיצרתם קודם, אתם יכולים להגדיר כללים כמו allow-wikipedia-org. הכללים האלה מציינים את הקריטריונים להתאמה של סשנים באינטרנט – לדוגמה, התאמה של מארח ספציפי כמו www.wikipedia.org – ואז מאפשרים או דוחים את תנועת האינטרנט.

המסוף

  1. נכנסים לדף SWP Policies במסוף Google Cloud .

    למדיניות של SWP

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

  3. לוחצים על הוספת כלל.

  4. לכל כלל, מבצעים את הפעולות הבאות:

    1. בשדה עדיפות, מזינים מספר של סדר ההערכה של הכלל. הכללים מוערכים מהעדיפות הגבוהה ביותר לנמוכה ביותר, כאשר 0 היא העדיפות הגבוהה ביותר.

    2. בשדה Name, מזינים שם לכלל, למשל allow-wikipedia-org.

    3. בשדה Description (תיאור), מזינים תיאור לכלל, כמו Allow wikipedia.org.

    4. בקטע פעולה, בוחרים באחת מהאפשרויות הבאות:

      • אישור: כדי לאשר בקשות לחיבור שתואמות לכלל.
      • Deny: כדי לדחות בקשות לחיבור שתואמות לכלל.
    5. בשדה סטטוס, בוחרים אחת מהאפשרויות הבאות לאכיפת הכלל:

      • מופעל: כדי לאכוף את הכלל במופע Secure Web Proxy.
      • מושבתת: כדי לא לאכוף את הכלל במופע Secure Web Proxy.
    6. בקטע התאמה לסשן, מציינים את הקריטריונים להתאמה של הסשן, כמו host() == 'www.wikipedia.org'.

      מידע נוסף על התחביר של SessionMatcher זמין במאמר הפניה לשפת ההתאמה של CEL.

    7. בקטע Application Match, מציינים את הקריטריונים להתאמת הבקשה. לא הפעלנו את הכלל לבדיקת TLS, ולכן הבקשה יכולה להתאים רק לתעבורת HTTP.

      מידע נוסף על התאמת תנועת TCP זמין במאמר הגדרת כללי שרת proxy של TCP.

    8. לוחצים על יצירה.

  5. כדי להוסיף עוד כלל, לוחצים על הוספת כלל.

Cloud Shell

  1. משתמשים בעורך טקסט כדי ליצור את קובץ rule.yaml.

  2. מוסיפים את הקוד הבא לקובץ rule.yaml. מידע נוסף על התחביר של SessionMatcher זמין במאמר בנושא הפניה לשפת ההתאמה של CEL.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
    description: Allow wikipedia.org
    enabled: true
    priority: 1
    basicProfile: ALLOW
    sessionMatcher: host() == 'www.wikipedia.org'
    

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

    • PROJECT_ID: מזהה הפרויקט
    • REGION: האזור של המדיניות
    • RULE_NAME: שם הכלל, למשל allow-wikipedia-org.
  3. יוצרים את כלל מדיניות האבטחה.

    gcloud network-security gateway-security-policies rules import allow-wikipedia-org \
        --source=rule.yaml \
        --location=REGION \
        --gateway-security-policy=policy1
    

הגדרת שרת Proxy לאינטרנט

בקטע הזה מוסבר איך פורסים את Secure Web Proxy במצב ניתוב מפורש, כשהוא פועל כפרוקסי מפורש. בנוסף, מוסבר איך לקשר את המדיניות והכללים שנוצרו קודם למופע של Secure Web Proxy, כדי לוודא שכל התנועה שעוברת דרכו כפופה לבקרות הגישה שהוגדרו.

המסוף

  1. נכנסים לדף Web Proxies במסוף Google Cloud .

    מעבר ל-Web Proxies

  2. לוחצים על יצירת שרת proxy מאובטח לאינטרנט.

  3. בשדה Name, מזינים שם לשרת ה-proxy לאינטרנט, למשל myswp.

  4. בשדה Description (תיאור), מזינים תיאור לשרת ה-proxy לאינטרנט, כמו My new swp.

  5. בקטע מצב ניתוב, בוחרים באפשרות מפורש.

  6. בקטע Regions (אזורים), בוחרים את האזור שבו רוצים ליצור את שרת ה-proxy לאינטרנט, כמו us-central1.

  7. בקטע רשת, בוחרים את הרשת שבה רוצים ליצור את שרת ה-proxy לאינטרנט.

  8. בשדה Subnetwork (תת-רשת), בוחרים את תת-רשת ה-VPC שיצרתם קודם כחלק מהשלבים הראשוניים להגדרה.

  9. אופציונלי: בשדה כתובת ה-IP של שרת ה-proxy לאינטרנט, מזינים את כתובת ה-IP של Secure Web Proxy.

    אפשר להזין כתובת IP מתוך טווח כתובות ה-IP של Secure Web Proxy שנמצאות ברשת המשנה שיצרתם בשלב הקודם. אם לא תזינו את כתובת ה-IP, המופע של Secure Web Proxy יבחר באופן אוטומטי כתובת IP מתוך תת-הרשת שנבחרה.

  10. בקטע Ports (יציאות), מזינים את מספרי היציאות, כמו 80 או 443, שבהן רוצים שה-proxy של האינטרנט יאזין.

  1. בקטע Certificate, בוחרים את האישור שרוצים להשתמש בו כדי ליצור את שרת ה-proxy לאינטרנט.

  2. בשדה מדיניות משויכת, בוחרים את המדיניות שיצרתם כדי לשייך את שרת ה-proxy לאינטרנט.

  3. לוחצים על יצירה.

Cloud Shell

  1. משתמשים בכלי לעריכת טקסט כדי ליצור קובץ gateway.yaml.

  2. מוסיפים את הקוד הבא לקובץ gateway.yaml:

    name: projects/PROJECT_ID/locations/REGION/gateways/myswp
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: EXPLICIT_ROUTING_MODE
    

    אופציונלי: כדי לאפשר לאפליקציות לקוח מאזורים אחרים של Google Cloud Google להתחבר לשרת ה-proxy, צריך להפעיל גישה גלובלית כשיוצרים את מופע Secure Web Proxy.

    בקובץ gateway.yaml, מוסיפים את השדה allow_global_access ומגדירים אותו לערך true.

    חשוב: אפשר להפעיל את allow_global_access רק כשיוצרים מופע של Secure Web Proxy. אי אפשר להגדיר את ההגדרה הזו מאוחר יותר.

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: EXPLICIT_ROUTING_MODE
    allow_global_access: true
    

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

    • PROJECT_ID: מזהה הפרויקט
    • REGION: האזור שבו נוצר מופע Secure Web Proxy
    • IP_ADDRESS: כתובת ה-IP של מופע Secure Web Proxy
    • NETWORK: הרשת של מופע Secure Web Proxy
    • SUBNETWORK: רשת משנה של מופע Secure Web Proxy. צריך להשתמש ברשת המשנה של ה-VPC שיצרתם קודם כחלק משלבי ההגדרה הראשונית.
    Secure Web Proxy.
  3. יוצרים מופע של Secure Web Proxy על סמך הקובץ gateway.yaml.

    gcloud network-services gateways import myswp \
        --source=gateway.yaml \
        --location=REGION
    

    פריסת מופע של Secure Web Proxy יכולה להימשך כמה דקות.

בדיקת הקישוריות

החלק הזה מתמקד בבדיקת הקישוריות ממכונה וירטואלית של Linux כדי לוודא ש-Secure Web Proxy החדש, המדיניות שלו והכללים המשויכים לו פועלים בצורה תקינה.

  1. מתחברים למכונה הווירטואלית שהקציתם לה משאבים קודם.

    gcloud compute ssh swp-test-vm \
        --zone=ZONE
    

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

  2. בודקים את מופע Secure Web Proxy.

    curl -s -o /dev/null -w "%{http_code}\\n" -x IP_ADDRESS:443 https://www.wikipedia.org
    

    מחליפים את IP_ADDRESS בכתובת ה-IP של מכונת Secure Web Proxy.

    הפקודה הזו מדפיסה את קוד הסטטוס של HTTP שמוחזר מ-www.wikipedia.org. אם הפקודה מצליחה, קוד הסטטוס הוא 200. עם זאת, אם יש בעיה בשרת הפרוקסי, הפקודה מחזירה קוד סטטוס 000 כדי לציין שגיאת חיבור. כדי לראות את הודעות השגיאה המפורטות, מוסיפים את האפשרות -v לפקודה.

לא הגדרנו בדיקת TLS בדוגמה שמוזכרת בדף הזה. מידע נוסף על הגדרת Secure Web Proxy לבדיקת TLS ובדיקת מופע Secure Web Proxy זמין במאמר בנושא הפעלת בדיקת TLS.

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:

מחיקה של מופע swp1 Secure Web Proxy

המסוף

  1. נכנסים לדף Web Proxies במסוף Google Cloud . אתם יכולים לראות את רשימת כל שרתי ה-proxy לאינטרנט או רק את שרתי ה-proxy לאינטרנט שזמינים ברשת מסוימת.

    מעבר ל-Web Proxies

  2. בוחרים את שרת ה-proxy לאינטרנט שרוצים למחוק. בדוגמה הזו, שם ה-proxy לאינטרנט הוא swp1.

  3. לוחצים על מחיקה ואז שוב על מחיקה כדי לאשר.

Cloud Shell

gcloud network-services gateways delete swp1 \
    --location=REGION

מחליפים את REGION באזור של מופע Secure Web Proxy.

מחיקת שער Cloud NAT

המסוף

  1. נכנסים לדף Cloud NAT במסוף Google Cloud .

    כניסה ל-Cloud NAT

  2. בוחרים את שער ה-Cloud NAT שנוצר באופן אוטומטי עבור מכונת Secure Web Proxy. בדרך כלל, השם של שער Cloud NAT הוא swg-autogen-nat.

  3. לוחצים על מחיקה ואז שוב על מחיקה כדי לאשר.

Cloud Shell

  1. אופציונלי: כדי לזהות את השם של Cloud Router שנוצר אוטומטית, מפרטים את הנתבים באזור.

    gcloud compute routers list \
        --region=REGION \
        --filter="name:(swg-autogen-router-*)" \
        --format="value(name)"
    

    מחליפים את REGION באזור של מופע Secure Web Proxy.

  2. מוחקים את שער Cloud NAT.

    gcloud compute routers nats delete NAT_NAME \
        --router=ROUTER_NAME \
        --region=REGION
    

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

    • NAT_NAME: שם השער של Cloud NAT, בדרך כלל swg-autogen-nat
    • ROUTER_NAME: שם Cloud Router שמשויך לשער Cloud NAT. השם של הנתב בדרך כלל מתחיל ב-swg-autogen-router-.
    • REGION: האזור של שער Cloud NAT

מחיקת Cloud Router

המסוף

  1. נכנסים לדף Cloud Routers במסוף Google Cloud .

    מעבר אל Cloud Routers

  2. בוחרים את Cloud Router שנוצר אוטומטית עבור מופע Secure Web Proxy. השם של הנתב בדרך כלל מתחיל ב-swg-autogen-router-.

  3. לוחצים על מחיקה ואז שוב על מחיקה כדי לאשר.

Cloud Shell

gcloud compute routers delete ROUTER_NAME \
    --region=REGION

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

  • ROUTER_NAME: השם של Cloud Router
  • REGION: האזור של Cloud Router

מחיקת הכלל allow-wikipedia-org

המסוף

  1. נכנסים לדף Web Proxies במסוף Google Cloud . אתם יכולים לראות את רשימת כל שרתי ה-proxy לאינטרנט או רק את שרתי ה-proxy לאינטרנט שזמינים ברשת מסוימת.

    מעבר ל-Web Proxies

  2. לוחצים על המדיניות הרלוונטית. במקרה הזה, שם המדיניות הוא policy1.

  3. בוחרים את הכלל שרוצים למחוק. בדוגמה הזו, שם הכלל הוא allow-wikipedia-org.

  4. לוחצים על מחיקה ואז שוב על מחיקה כדי לאשר.

Cloud Shell

gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
    --location=REGION \
    --gateway-security-policy=policy1

מחליפים את REGION באזור של המדיניות.

מחיקת המדיניות של policy1 Secure Web Proxy

המסוף

  1. נכנסים לדף Web Proxies במסוף Google Cloud . אתם יכולים לראות את רשימת כל שרתי ה-proxy לאינטרנט או רק את שרתי ה-proxy לאינטרנט שזמינים ברשת מסוימת.

    מעבר ל-Web Proxies

  2. בוחרים את המדיניות שרוצים למחוק. במקרה הזה, שם המדיניות הוא policy1.

  3. לוחצים על מחיקה ואז שוב על מחיקה כדי לאשר.

Cloud Shell

gcloud network-security gateway-security-policies delete policy1 \
    --location=REGION

מחליפים את REGION באזור של המדיניות.

מחיקת מכונה וירטואלית של swp-test-vm Linux

המסוף

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

    כניסה לדף VM instances

  2. בוחרים את המופעים שרוצים למחוק. כאן, swp-test-vm הוא השם של מכונת ה-VM של Linux.

  3. לוחצים על Delete.

Cloud Shell

gcloud compute instances delete swp-test-vm

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