בדף הזה מוסבר איך להפעיל בדיקה של Transport Layer Security (TLS) במופע של Secure Web Proxy. Secure Web Proxy מציע שירות בדיקת TLS שמאפשר ליירט את תעבורת ה-TLS, לבדוק את הבקשה המוצפנת ולאכוף מדיניות אבטחה. מידע נוסף על בדיקת TLS זמין במאמר סקירה כללית על בדיקת TLS.
לפני שמתחילים
לפני שמגדירים את מופע Secure Web Proxy לבדיקת TLS, צריך לבצע את המשימות בקטעים הבאים.
הפעלת Certificate Authority Service
ב-Secure Web Proxy נעשה שימוש בCertificate Authority Service כדי ליצור את האישורים שמשמשים לבדיקת TLS.
כדי להפעיל את שירות ה-CA, משתמשים בפקודה הבאה:
gcloud services enable privateca.googleapis.com
יצירת מאגר רשויות אישורים
מאגר רשויות אישורים (CA) הוא אוסף של כמה רשויות אישורים עם מדיניות משותפת להנפקת אישורים ומדיניות משותפת של ניהול זהויות והרשאות גישה (IAM). מאגרי CA מאפשרים לבצע רוטציה של שרשראות אמון בלי שיהיו שיבושים או השבתה של המטענים הייעודיים שלהם.
כדי ליצור CA באמצעות CA Service, צריך ליצור מאגר CA. בקטע הזה מפורטות ההרשאות שצריך כדי לבצע את המשימה הזו, ומוסבר איך ליצור מאגר CA.
כדי ליצור אישורים, בדיקת TLS משתמשת בחשבון שירות נפרד לכל פרויקט שנקרא service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.
צריך לוודא שהענקתם לחשבון השירות הזה הרשאות להשתמש במאגר רשויות האישורים שלכם. אם הגישה הזו מבוטלת, בדיקת ה-TLS מפסיקה לפעול.
כדי לאחזר את PROJECT_NUMBER באמצעות PROJECT_ID של פרויקט מאגר CA, משתמשים בפקודה הבאה:
gcloud projects describe <var>PROJECT_ID</var>
--format="value(projectNumber)"
כדי ליצור את המאגר, משתמשים בפקודה gcloud privateca pools create ומציינים את מזהה המאגר המשני, את המסלול, את מזהה הפרויקט ואת המיקום.
gcloud privateca pools create SUBORDINATE_POOL_ID \
--tier=TIER \
--project=PROJECT_ID \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SUBORDINATE_POOL_ID: שם מאגר רשות האישורים
TIER: רמת CA, devopsאוenterpriseמומלץ ליצור את מאגר רשויות האישורים ברמה
devopsכי אין צורך לעקוב אחרי אישורים שהונפקו בנפרד.
PROJECT_ID: מזהה הפרויקט של מאגר רשויות האישורים
REGION: המיקום של מאגר אישורי ה-CA
יצירת מאגר של רשויות אישורים משניות
אם יש לכם כמה תרחישים להנפקת אישורים, אתם יכולים ליצור רשות אישורים משנית לכל אחד מהתרחישים האלה. אפשר ליצור CA משני במאגר CA, וה-CA הבסיסי חותם על כל ה-CA במאגר הזה. האישורים האלה משמשים לחתימה על אישורי שרת שנוצרים לבדיקת TLS.
כדי ליצור מאגר של רשויות אישורים משניות, משתמשים באחת מהשיטות הבאות.
יצירת מאגר של רשויות אישורים משניות באמצעות רשות אישורים בסיסית קיימת שמאוחסנת ב-Certificate Authority Service
כדי ליצור רשות אישורים משנית:
יצירת מאגר של רשויות אישורים משניות באמצעות רשות אישורים בסיסית קיימת שמאוחסנת באופן חיצוני
כדי ליצור רשות אישורים משנית:
- יצירת מאגר של רשויות אישורים
- יצירת רשויות אישורים (CA) משניות שנחתמות על ידי רשות אישורים (CA) חיצונית ברמה הבסיסית
יצירת רשות אישורים (CA) עליונה
אם אין רשות אישורים בסיסית, אפשר ליצור אחת בשירות CA.
כדי ליצור רשות אישורים (CA) בסיסית:
- יצירת רשות אישורים (CA) עליונה
- יצירת מאגר של רשויות אישורים משניות באמצעות רשות אישורים בסיסית קיימת שמאוחסנת בשירות CA
יצירה של חשבון שירות
חשבון שירות עוזר לספק את ההרשאות הנדרשות לבדיקת TLS בלי לפגוע באבטחה של חשבונות המשתמשים או במכונה של Secure Web Proxy עצמה.
אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות ואז להעניק לו את ההרשאות הנדרשות.
יוצרים חשבון שירות.
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_IDבתגובה, Google Cloud CLI יוצר חשבון שירות בשם
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.כדי לאחזר את
PROJECT_NUMBERבאמצעותPROJECT_IDשל פרויקט מאגר רשויות האישורים, משתמשים בפקודה הבאה:gcloud projects describe PROJECT_ID --format="value(projectNumber)"לחשבון השירות שיצרתם, מעניקים הרשאות ליצירת אישורים באמצעות מאגר רשויות האישורים.
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member='serviceAccount:SERVICE_ACCOUNT' \ --role='roles/privateca.certificateManager' \ --location='REGION'
הגדרת Secure Web Proxy לבדיקת TLS
אפשר להמשיך למשימות שבקטע הזה רק אחרי שמסיימים את המשימות הנדרשות שמפורטות בקטע לפני שמתחילים.
כדי להגדיר בדיקת TLS, צריך לבצע את המשימות בקטעים הבאים.
יצירת מדיניות לבדיקת TLS
המסוף
נכנסים לדף TLS inspection policies במסוף Google Cloud .
בתפריט לבחירת פרויקטים, בוחרים את הפרויקט הרצוי.
לוחצים על יצירת מדיניות לבדיקת TLS.
בשדה Name, מזינים שם למדיניות.
אופציונלי: בשדה Description, מזינים תיאור למדיניות.
ברשימה Region, בוחרים את האזור שבו רוצים ליצור את המדיניות.
ברשימה מאגר רשויות אישורים, בוחרים את מאגר רשויות האישורים שממנו רוצים ליצור את האישורים.
אם לא הגדרתם מאגר של רשויות אישורים, לוחצים על מאגר חדש ופועלים לפי ההוראות שבקטע יצירת מאגר של רשויות אישורים.
לוחצים על יצירה.
gcloud
יוצרים את קובץ ה-
TLS_INSPECTION_FILE.yaml. מחליפים אתTLS_INSPECTION_FILEבשם הקובץ הנדרש.מוסיפים את הקוד הבא לקובץ ה-YAML כדי להגדיר את ה-TlsInspectionPolicy הנדרש:
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOLמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של הפרויקט -
REGION: האזור שבו רוצים ליצור את המדיניות -
TLS_INSPECTION_NAME: השם של מדיניות הבדיקה של TLS ב-Secure Web Proxy -
CA_POOL: השם של מאגר רשויות האישורים שממנו ייצרו את האישורים
מאגר אישורי ה-CA חייב להיות באותו אזור.
-
ייבוא מדיניות הבדיקה של TLS
מייבאים את מדיניות הבדיקה של TLS שיצרתם בשלב הקודם:
gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
--source=TLS_INSPECTION_FILE.yaml \
--location=REGION
הוספת מדיניות הבדיקה של TLS למדיניות האבטחה
המסוף
יצירת מדיניות לשרת proxy לאינטרנט
נכנסים לדף SWP Policies במסוף Google Cloud .
לוחצים על יצירת מדיניות.
מזינים שם למדיניות שרוצים ליצור, למשל
myswppolicy.מזינים תיאור של המדיניות, כמו
My new swp policy.ברשימה Regions, בוחרים את האזור שבו רוצים ליצור את המדיניות של Secure Web Proxy.
כדי להגדיר בדיקת TLS, בוחרים באפשרות Configure TLS inspection (הגדרת בדיקת TLS).
ברשימה TLS inspection policy, בוחרים את מדיניות בדיקת ה-TLS שיצרתם.
כדי ליצור כללים למדיניות, לוחצים על המשך ואז על הוספת כלל. פרטים נוספים מופיעים במאמר בנושא יצירת כללים ל-Secure Web Proxy.
לוחצים על יצירה.
יצירת כללים ל-Secure Web Proxy
נכנסים לדף SWP Policies במסוף Google Cloud .
בתפריט לבחירת פרויקט, בוחרים את מזהה הארגון או את התיקייה שמכילים את המדיניות.
לוחצים על שם המדיניות.
לוחצים על הוספת כלל.
ממלאים את השדות של הכלל:
- שם
- תיאור
- סטטוס
- עדיפות: סדר ההערכה המספרי של הכלל. הכללים מוערכים מהעדיפות הגבוהה ביותר לנמוכה ביותר, כאשר
0היא העדיפות הגבוהה ביותר. - בקטע פעולה, מציינים אם חיבורים שתואמים לכלל מותרים (אישור) או נדחים (דחייה).
- בקטע התאמה לסשן, מציינים את הקריטריונים להתאמה לסשן. מידע נוסף על התחביר של
SessionMatcherזמין במאמר הפניה לשפת ההתאמה של CEL. - כדי להפעיל את בדיקת ה-TLS, בוחרים באפשרות הפעלת בדיקת ה-TLS.
- בקטע Application Match, מציינים את הקריטריונים להתאמת הבקשה. אם לא מפעילים את הכלל לבדיקת TLS, הבקשה יכולה להתאים רק לתעבורת HTTP.
- לוחצים על יצירה.
לוחצים על הוספת כלל כדי להוסיף עוד כלל.
לוחצים על יצירה כדי ליצור את המדיניות.
הגדרת שרת Proxy לאינטרנט
נכנסים לדף Web Proxies במסוף Google Cloud .
לוחצים על יצירת שרת proxy מאובטח לאינטרנט.
מזינים שם לשרת ה-proxy לאינטרנט שרוצים ליצור, למשל
myswp.מזינים תיאור של שרת ה-Proxy לאינטרנט, למשל
My new swp.ברשימה Regions, בוחרים את האזור שבו רוצים ליצור את שרת ה-proxy לאינטרנט.
ברשימה רשת, בוחרים את הרשת שבה רוצים ליצור את פרוקסי האינטרנט.
ברשימה Subnetwork, בוחרים את רשת המשנה שבה רוצים ליצור את שרת ה-proxy לאינטרנט.
אופציונלי: מזינים את כתובת ה-IP של Secure Web Proxy. אפשר להזין כתובת IP מתוך טווח כתובות ה-IP של Secure Web Proxy שנמצאות ברשת המשנה שיצרתם בשלב הקודם. אם לא תזינו את כתובת ה-IP, מופע Secure Web Proxy יבחר באופן אוטומטי כתובת IP מתוך תת-הרשת שנבחרה.
ברשימה Certificate, בוחרים את האישור שרוצים להשתמש בו כדי ליצור את פרוקסי האינטרנט.
ברשימה Policy, בוחרים את המדיניות שיצרתם כדי לשייך אליה את פרוקסי האינטרנט.
לוחצים על יצירה.
Cloud Shell
יוצרים את הקובץ
policy.yaml:description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAMEיוצרים את מדיניות Secure Web Proxy:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml --location=REGIONיוצרים את הקובץ
rule.yaml:name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-example-com description: Allow example.com enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'example.com' applicationMatcher: request.path.contains('index.html') tlsInspectionEnabled: trueיוצרים את הכלל של מדיניות האבטחה.
gcloud network-security gateway-security-policies rules import allow-example-com \ --source=rule.yaml \ --location=REGION \ --gateway-security-policy=policy1כדי לצרף מדיניות לבדיקת TLS למדיניות אבטחה קיימת, יוצרים את הקובץ
POLICY_FILE.yaml. מחליפים אתPOLICY_FILEבשם הקובץ.description: My Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME