פריסת Secure Web Proxy כשרת proxy מפורש

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

אפשר לפרוס כמכונות של Private Service Connect מכונות של Secure Web Proxy במצב ניתוב מפורש. אפשר גם לפרוס את 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 באזור של מכונת ה-VM לבדיקה.

    ‫Compute Engine נותן את התפקיד "Compute Instance Admin" (roles/compute.instanceAdmin) למשתמש שיוצר את מכונת ה-VM. בנוסף, 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. בשדה Regions, בוחרים את האזור שבו רוצים ליצור את המדיניות, למשל 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. בשדה Priority, מזינים את סדר ההערכה המספרי של הכלל. הכללים נבדקים לפי סדר העדיפות, מהגבוהה לנמוכה, כאשר 0 היא העדיפות הגבוהה ביותר.

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

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

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

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

      • ‫Enabled: כדי לאכוף את הכלל במכונה של Secure Web Proxy.
      • ‫Disabled: לא לאכוף את הכלל במכונה של 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
    

הגדרת שרת פרוקסי לאינטרנט

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

המסוף

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

    מעבר לשרתי proxy לאינטרנט

  2. לוחצים על Create a secure web proxy.

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

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

  5. בקטע Routing mode, בוחרים באפשרות Explicit.

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

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

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

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

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

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

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

  2. בשדה Associated policy, בוחרים את המדיניות שיצרתם כדי לשייך את שרת ה-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להתחבר לשרת ה-proxy, מפעילים את האפשרות global access כשיוצרים את המכונה של Secure Web Proxy.

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

    חשוב: אפשר להפעיל את allowGlobalAccess רק כשיוצרים מכונה של 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
    allowGlobalAccess: 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 באזור של מכונת ה-VM לבדיקה.

  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. אבל אם יש בעיה בשרת ה-proxy, הפקודה מחזירה קוד סטטוס 000 כדי לציין שגיאת חיבור. כדי לראות את הודעות השגיאה המפורטות, מוסיפים לפקודה את האפשרות -v.

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

הסרת המשאבים

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

מחיקת המכונה של swp1 Secure Web Proxy

המסוף

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

    מעבר לשרתי proxy לאינטרנט

  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 לאינטרנט שזמינים ברשת מסוימת.

    מעבר לשרתי proxy לאינטרנט

  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 לאינטרנט שזמינים ברשת מסוימת.

    מעבר לשרתי proxy לאינטרנט

  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 הוא השם של המכונה הווירטואלית של Linux.

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

Cloud Shell

gcloud compute instances delete swp-test-vm

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