יצירה ופריסה של מכונת 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 (roles/compute.instanceAdmin). המערכת של Compute Engine גם מוסיפה את המשתמש לקבוצת sudo.

  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. המדיניות יכולה לשמש כקונטיינר לכל כללי האבטחה ששולטים בזרימת התנועה דרך Secure Web 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. בשדה תיאור, מזינים תיאור לכלל, למשל 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. בקטע אזורים, בוחרים את האזור שבו רוצים ליצור את שרת ה-proxy לאינטרנט, למשל us-central1.

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

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

  9. אופציונלי: בשדה כתובת ה-IP של שרת ה-proxy לאינטרנט, מזינים את כתובת ה-IP של שרת ה-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 Cloud להתחבר לשרת ה-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 שיצרתם קודם כחלק משלבי ההגדרה הראשונית.
  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 לאינטרנט שרוצים למחוק. בדוגמה הזו, שם פרוקסי האינטרנט הוא 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 באזור של המדיניות.

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

המסוף

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

    כניסה לדף VM instances

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

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

Cloud Shell

gcloud compute instances delete swp-test-vm

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