פריסת Secure Web Proxy כשרת proxy מפורש
במדריך למתחילים מוסבר איך לפרוס ולבדוק מכונה של Secure Web Proxy. השלבים מתארים פריסה של Secure Web Proxy במצב ניתוב מפורש, שפועל כשרת proxy מפורש.
אפשר לפרוס כמכונות של Private Service Connect מכונות של Secure Web Proxy במצב ניתוב מפורש. אפשר גם לפרוס את Secure Web Proxy במצב ניתוב של הצעד הבא.
כדי לפרוס את Secure Web Proxy במצב ניתוב מפורש, צריך לבצע את השלבים הבאים:
- יוצרים מדיניות של Secure Web Proxy.
- יוצרים כללים של Secure Web Proxy ומוסיפים אותם למדיניות.
- מגדירים את המכונה של Secure Web Proxy במצב ניתוב מפורש.
- בודקים את הקישוריות ממכונה וירטואלית (VM) של Linux כדי לוודא ששרת ה-proxy והכללים שלו פועלים בצורה תקינה.
לפני שמתחילים
משלימים את שלבי ההגדרה הראשונית.
אופציונלי: כדי להריץ את הדוגמאות של שורת הפקודה
gcloudשמפורטות במסמך הזה, צריך להתקין את Google Cloud CLI באחת מסביבות הפיתוח הבאות:Cloud Shell
כדי להשתמש בטרמינל אונליין שכבר מוגדר בו ה-CLI של gcloud, צריך להפעיל את Cloud Shell.
בחלק התחתון של הדף הזה מתחיל סשן של Cloud Shell ומופיעה הודעה של שורת הפקודה. הסשן יופעל תוך כמה שניות.
אם כבר התקנתם את ה-CLI של gcloud, ודאו שפועלת אצלכם הגרסה העדכנית ביותר באמצעות הפקודה
gcloud components update.מעטפת מקומית
כדי להשתמש בסביבת פיתוח מקומית:
יוצרים פרויקט חדש או בוחרים פרויקט קיים ב- Google Cloud .
אם אתם לא מתכננים לשמור את המשאבים שתיצרו בתהליך הזה, מומלץ ליצור פרויקט חדש במקום לבחור באחד מהפרויקטים הקיימים. בסיום השלבים במדריך למתחילים, תוכלו למחוק את הפרויקט כדי להסיר את כל המשאבים שמשויכים אליו.
המסוף
בדף לבחירת הפרויקט במסוף Google Cloud , יוצרים פרויקט ב- Google Cloud או בוחרים פרויקט קיים.
Cloud Shell
יוצרים פרויקט ב- Google Cloud .
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבמזהה הפרויקט שבחרתם.בוחרים את הפרויקט ב- Google Cloud שיצרתם.
gcloud config set project PROJECT_ID
יוצרים מכונה וירטואלית של 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.יוצרים כלל לחומת האש.
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
התפקידים הנדרשים
כדי לבצע את המשימות במדריך הזה, ודאו שיש לכם את התפקידים הבאים:
התפקיד "אדמין של רשת Compute" (
roles/compute.networkAdmin)תפקיד עריכה ב-Certificate Manager (
roles/certificatemanager.editor)
למידע נוסף, קראו את המאמרים הבאים:
יצירת מדיניות של Secure Web Proxy
בקטע הזה מוסבר איך יוצרים מדיניות של Secure Web Proxy. לאחר מכן, המדיניות יכולה לשמש כקונטיינר לכל כללי האבטחה שקובעים את זרימת התנועה דרך Secure Web Proxy. אחרי שיוצרים את המדיניות, אפשר ליצור כללים ולהוסיף אותם למדיניות.
המסוף
נכנסים לדף SWP Policies במסוף Google Cloud .
לוחצים על יצירת מדיניות.
בשדה Name, מזינים שם למדיניות, למשל
myswppolicy.בשדה Description, מזינים תיאור למדיניות, למשל
My new swp policy.בשדה Regions, בוחרים את האזור שבו רוצים ליצור את המדיניות, למשל
us-central1.אם רוצים ליצור כללים למדיניות, לוחצים על הוספת כלל. מידע נוסף זמין בקטע יצירת כללים של Secure Web Proxy.
לוחצים על יצירה.
Cloud Shell
משתמשים בכלי לעריכת טקסט כדי ליצור קובץ
policy.yaml.מוסיפים את הקוד הבא לקובץ
policy.yaml:description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/myswppolicyמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
REGION: האזור שבו נוצרה המדיניות, למשלus-central1
-
יוצרים את המדיניות של 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 – ואז מאשרים או דוחים את התנועה באתר.
המסוף
נכנסים לדף SWP Policies במסוף Google Cloud .
לוחצים על שם המדיניות, למשל
myswppolicy.לוחצים על הוספת כלל.
לכל כלל, מבצעים את הפעולות הבאות:
בשדה Priority, מזינים את סדר ההערכה המספרי של הכלל. הכללים נבדקים לפי סדר העדיפות, מהגבוהה לנמוכה, כאשר
0היא העדיפות הגבוהה ביותר.בשדה Name, נותנים שם לכלל, למשל
allow-wikipedia-org.בשדה Description, מזינים תיאור לכלל, למשל
Allow wikipedia.org.בקטע Action, בוחרים אחת מהאפשרויות הבאות:
- אישור: כדי לאשר בקשות חיבור שתואמות לכלל.
- Deny: כדי לדחות בקשות חיבור שתואמות לכלל.
בשדה Status, בוחרים באחת מהאפשרויות הבאות לאכיפת הכלל:
- Enabled: כדי לאכוף את הכלל במכונה של Secure Web Proxy.
- Disabled: לא לאכוף את הכלל במכונה של Secure Web Proxy.
בקטע התאמת סשן, מציינים את הקריטריונים להתאמת הסשן, כמו
host() == 'www.wikipedia.org'.למידע נוסף על התחביר של
SessionMatcher, קראו את המדריך לשפת ההתאמה של CEL.בקטע Application Match, מציינים את הקריטריונים להתאמת הבקשה. מכיוון שלא הפעלנו את הכלל לבדיקת TLS, הבקשה יכולה להתאים רק לתנועת HTTP.
מידע נוסף על התאמת תנועת TCP זמין במאמר הגדרת כללים של שרת proxy מסוג TCP.
לוחצים על יצירה.
כדי להוסיף עוד כלל, לוחצים על הוספת כלל.
Cloud Shell
משתמשים בכלי לעריכת טקסט כדי ליצור את הקובץ
rule.yaml.מוסיפים את הקוד הבא לקובץ
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.
-
יוצרים את הכלל של מדיניות האבטחה.
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, כדי לוודא שכל התנועה שעוברת דרכה כפופה לבקרות הגישה שהוגדרו.
המסוף
נכנסים לדף Web Proxies במסוף Google Cloud .
לוחצים על Create a secure web proxy.
בשדה Name, מזינים שם לשרת ה-proxy לאינטרנט, למשל
myswp.בשדה Description, מזינים תיאור לשרת ה-proxy לאינטרנט, למשל
My new swp.בקטע Routing mode, בוחרים באפשרות Explicit.
בשדה Regions, בוחרים את האזור שבו רוצים ליצור את שרת ה-proxy לאינטרנט, למשל
us-central1.בשדה Network, בוחרים את הרשת שבה רוצים ליצור את שרת ה-proxy לאינטרנט.
בשדה Subnetwork, בוחרים את תת-הרשת של ה-VPC שיצרתם קודם כחלק משלבי ההגדרה הראשוניים.
אופציונלי: בשדה Web proxy IP address, מזינים את כתובת ה-IP של Secure Web Proxy.
אתם יכולים להזין כתובת IP מטווח כתובות ה-IP של Secure Web Proxy שנמצאות ברשת המשנה שיצרתם בשלב הקודם. אם לא תזינו את כתובת ה-IP, המכונה של Secure Web Proxy תבחר באופן אוטומטי כתובת IP מרשת המשנה שנבחרה.
בשדה Ports, מזינים את מספרי היציאות, כמו
80או443, שבהן רוצים ששרת ה-proxy לאינטרנט יאזין.
בשדה Certificate, בוחרים את האישור שבו רוצים להשתמש כדי ליצור את שרת ה-proxy לאינטרנט.
בשדה Associated policy, בוחרים את המדיניות שיצרתם כדי לשייך את שרת ה-proxy לאינטרנט.
לוחצים על יצירה.
Cloud Shell
משתמשים בכלי לעריכת טקסט כדי ליצור קובץ
gateway.yaml.מוסיפים את הקוד הבא לקובץ
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 שיצרתם קודם כחלק משלבי ההגדרה הראשוניים.
-
יוצרים מכונה של Secure Web Proxy על סמך הקובץ
gateway.yaml.gcloud network-services gateways import myswp \ --source=gateway.yaml \ --location=REGIONפריסת מכונה של Secure Web Proxy יכולה להימשך כמה דקות.
בדיקת הקישוריות
בקטע הזה נתמקד בבדיקת הקישוריות ממכונה וירטואלית של Linux כדי לוודא ש-Secure Web Proxy שנפרס לאחרונה, כללי המדיניות שלו והכללים שמשויכים אליו פועלים בצורה תקינה.
מתחברים למכונה הווירטואלית שהקציתם קודם.
gcloud compute ssh swp-test-vm \ --zone=ZONEמחליפים את
ZONEבאזור של מכונת ה-VM לבדיקה.בודקים את המכונה של 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
המסוף
נכנסים לדף Web Proxies במסוף Google Cloud . אתם יכולים לראות את הרשימה של כל שרתי ה-proxy לאינטרנט או רק את שרתי ה-proxy לאינטרנט שזמינים ברשת מסוימת.
בוחרים את שרת ה-proxy לאינטרנט שרוצים למחוק. בדוגמה הזו, השם של שרת ה-proxy לאינטרנט הוא
swp1.לוחצים על מחיקה ואז לוחצים שוב על מחיקה כדי לאשר.
Cloud Shell
gcloud network-services gateways delete swp1 \
--location=REGION
מחליפים את REGION באזור של המכונה של Secure Web Proxy.
מחיקת שער Cloud NAT
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
בוחרים את שער Cloud NAT שנוצר אוטומטית למכונה של Secure Web Proxy. בדרך כלל, השם של שער Cloud NAT הוא
swg-autogen-nat.לוחצים על מחיקה ואז לוחצים שוב על מחיקה כדי לאשר.
Cloud Shell
אופציונלי: כדי לזהות את השם של Cloud Router שנוצר אוטומטית, מציגים את רשימת הנתבים באזור.
gcloud compute routers list \ --region=REGION \ --filter="name:(swg-autogen-router-*)" \ --format="value(name)"מחליפים את
REGIONבאזור של המכונה של Secure Web Proxy.מוחקים את שער 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
המסוף
נכנסים לדף Cloud Routers במסוף Google Cloud .
בוחרים את ה-Cloud Router שנוצר אוטומטית למכונה של Secure Web Proxy. השם של הנתב בדרך כלל מתחיל ב-
swg-autogen-router-.לוחצים על מחיקה ואז לוחצים שוב על מחיקה כדי לאשר.
Cloud Shell
gcloud compute routers delete ROUTER_NAME \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ROUTER_NAME: השם של Cloud Router -
REGION: האזור של Cloud Router
מחיקת הכלל allow-wikipedia-org
המסוף
נכנסים לדף Web Proxies במסוף Google Cloud . אתם יכולים לראות את הרשימה של כל שרתי ה-proxy לאינטרנט או רק את שרתי ה-proxy לאינטרנט שזמינים ברשת מסוימת.
לוחצים על הפוליסה. בדוגמה הזו, שם המדיניות הוא
policy1.בוחרים את הכלל שרוצים למחוק. בדוגמה הזו, שם הכלל הוא
allow-wikipedia-org.לוחצים על מחיקה ואז לוחצים שוב על מחיקה כדי לאשר.
Cloud Shell
gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
--location=REGION \
--gateway-security-policy=policy1
מחליפים את REGION באזור של המדיניות.
מחיקת המדיניות של policy1 Secure Web Proxy
המסוף
נכנסים לדף Web Proxies במסוף Google Cloud . אתם יכולים לראות את הרשימה של כל שרתי ה-proxy לאינטרנט או רק את שרתי ה-proxy לאינטרנט שזמינים ברשת מסוימת.
בוחרים את המדיניות שרוצים למחוק. בדוגמה הזו, שם המדיניות הוא
policy1.לוחצים על מחיקה ואז לוחצים שוב על מחיקה כדי לאשר.
Cloud Shell
gcloud network-security gateway-security-policies delete policy1 \
--location=REGION
מחליפים את REGION באזור של המדיניות.
מחיקת המכונה הווירטואלית של Linux ב-swp-test-vm
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים את המופעים שרוצים למחוק.
swp-test-vmהוא השם של המכונה הווירטואלית של Linux.לוחצים על Delete.
Cloud Shell
gcloud compute instances delete swp-test-vm