בדף הזה מוצגות דוגמאות למדיניות חומת אש היררכית. הדוגמאות האלה עוזרות להבין איך פועלת מדיניות חומת אש היררכית ואיך אפשר להשתמש בה כדי לספק אבטחה עקבית בהיררכיית המשאבים שלכם. Cloud de Confiance by S3NS כדי להבין את הדוגמאות האלה, מומלץ לקרוא על מושגים שקשורים למדיניות חומת אש היררכית.
דוגמה 1: מתן גישה לכל המכונות הווירטואליות לכלי לבדיקת קישוריות
בדוגמה הזו מוסבר איך להגדיר כלל חומת אש ברמת הארגון ולאפשר לכלי לבדיקת תקינות גישה לכל המכונות הווירטואליות. בודק הוא תוכנית מיוחדת שבודקת באופן אוטומטי את מכונות ה-VM כדי לקבוע את התוכן או את ההגדרה שלהן.
תרחיש
אתם אדמינים של אבטחה שצריכים לוודא שכלי סריקת האבטחה יכול להתחבר לכל מכונות ה-VM.
הכלי שולח בדיקות מכתובת ה-IP 10.100.0.1 ליציאת היעד 123.
צריך לוודא שאף אדמין של הרשת או של האבטחה לא יחסום בטעות את החיבור הזה בשום רמה בארגון.
התרשים הבא מציג את ההגדרה של התרחיש הזה:
איך המדיניות חלה על מכונות וירטואליות
אחרי הערכת כל הכללים, מדיניות חומת האש חלה על מכונות וירטואליות באופן הבא:
חיבורי כניסה
מדיניות הארגון מאפשרת חיבורי כניסה מכתובת ה-IP של המקור
10.100.0.1ליציאת היעד123. אם מדיניות הארגון תואמת, היא מאפשרת את חיבורי הבדיקה ומפסיקה את הערכת הכללים האחרים בהיררכיה.אם החיבורים הנכנסים לא מגיעים מכתובת ה-IP של המקור
10.100.0.1או מיציאת היעד123, לא מתבצעת התאמה. לכן, חל כלל ברירת המחדל של תעבורת נכנסת בכללי חומת האש של הענן הווירטואלי הפרטי (VPC), והחיבור נדחה.
חיבורי יציאה
לא מתבצעת התאמה בכללים שהוגדרו בהיררכיה. לכן, כלל ברירת המחדל של תעבורת נתונים יוצאת (egress) בכללי חומת האש של VPC חל ומאפשר חיבורים של תעבורת נתונים יוצאת. אם הגדרתם כללי חומת אש אחרים שחוסמים תעבורת נתונים יוצאת (egress), חשוב לדעת שחומת האש היא stateful ומאפשרת תעבורת נתונים חוזרת לחיבורים קיימים. Cloud de Confiance by S3NS
אם הגדרתם כללי חומת אש לתעבורת נתונים יוצאת שחוסמים תעבורת נתונים יוצאת, כולל כלל מרומז לתעבורת נתונים יוצאת
deny-all, וההגדרה שלכם כוללת פרוטוקולים שלא משתמשים במעקב אחר חיבורים, אתם צריכים להגדיר במפורש כללי חומת אש שיאפשרו תעבורת נתונים חוזרת יוצאת.
איך מגדירים
כדי ליצור כלל מדיניות ולשייך אותו לארגון, מבצעים את הפעולות הבאות:
יוצרים מדיניות חומת אש שתכיל את הכלל:
gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTIONמוסיפים את הכלל למדיניות חומת האש:
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description DESCRIPTION \ --layer4-configs=tcp:123 \ --firewall-policy SHORT_NAME \ --organization ORG_ID \ --src-ip-ranges=10.100.0.1/32משייכים את מדיניות חומת האש לארגון:
gcloud compute firewall-policies associations create \ --firewall-policy SHORT_NAME\ --organization ORG_IDמחליפים את מה שכתוב בשדות הבאים:
ORG_ID: מזהה הארגוןמציינים מזהה ארגון כדי ליצור מדיניות שההורה שלה הוא ארגון. אפשר לשייך את המדיניות לארגון או לתיקייה בתוך הארגון.
SHORT_NAME: שם למדיניותלמדיניות שנוצרת באמצעות Google Cloud CLI יש שני שמות: שם שהמערכת יוצרת ושם קצר שאתם מספקים. כשמשתמשים ב-CLI של gcloud כדי לעדכן מדיניות קיימת, אפשר לציין את השם שנוצר על ידי המערכת או את השם המקוצר ואת מזהה הארגון. כשמשתמשים ב-API כדי לעדכן את המדיניות, צריך לציין את השם שנוצר על ידי המערכת.
DESCRIPTION: תיאור מדיניות חומת האש
דוגמה 2: דחיית כל החיבורים החיצוניים למעט חיבורים ליציאות מסוימות
בדוגמה הזו מוסבר איך מגדירים כללי מדיניות כדי לדחות חיבורים נכנסים מיציאות ספציפיות.
תרחיש
אתם אדמינים של אבטחה שרוצים לחסום את כל תעבורת האינטרנט הנכנסת כדי לאבטח את הארגון, למעט שירותים ספציפיים כמו תעבורת אינטרנט (יציאות 80 ו-443) וגישת SSH (יציאה 22). אתם צריכים לחסום את כל תעבורת האינטרנט הנכנסת ביציאות אחרות מלבד 80, 443 או 22, ללא קשר לכללים קיימים של רשת VPC.
לגבי חיבורים ביציאות המותרות האלה, אתם מעניקים למנהל האבטחה של ה-VPC את היכולת להחליט מה יקרה ברשת ה-VPC הספציפית שלו.
התרשים הבא מציג את ההגדרה של התרחיש הזה:
איך המדיניות חלה על מכונות וירטואליות
אחרי הערכת הכללים בהיררכיה, מדיניות חומת האש של מכונת ה-VM חלה באופן הבא:
חיבורי כניסה
חיבורי Ingress מ-
10.0.0.0/8תואמים לכלל ברמת הארגון עם העדיפות הכי גבוההdelegate-internal-traffic. החיבורים האלה עוקפים את שאר הכללים במדיניות הארגון לצורך הערכה מול כללי חומת האש ברמת רשת ה-VPC. כלל חומת האש ב-VPC מאפשר חיבורים מ-10.2.0.0/16ומעריך את שאר החיבורים לפי כלל הכניסה המשתמע,deny.חיבורים נכנסים ממקור מחוץ לטווח כתובות ה-IP
10.0.0.0/8ביציאות היעד22,80ו-443מועברים לרמה הבאה. ברמה הזו, הכללים מתירים תנועה ביציאות80ו-443, אבל חוסמים את יציאה22.כל החיבורים האחרים חסומים.
חיבורי יציאה
לא מתבצעת התאמה בכללים שהוגדרו בהיררכיה. לכן, כלל ברירת המחדל של תעבורת נתונים יוצאת (egress) בכללי חומת האש של VPC חל ומאפשר חיבורים של תעבורת נתונים יוצאת. אם הגדרתם כללי חומת אש אחרים שחוסמים תעבורת נתונים יוצאת (egress), חשוב לדעת שחומת האש היא stateful ומאפשרת תעבורת נתונים חוזרת לחיבורים קיימים. Cloud de Confiance by S3NS
אם הגדרתם כללי חומת אש לתעבורת נתונים יוצאת שחוסמים תעבורת נתונים יוצאת, כולל כלל מרומז לתעבורת נתונים יוצאת
deny-all, וההגדרה שלכם כוללת פרוטוקולים שלא משתמשים במעקב אחר חיבורים, אתם צריכים להגדיר במפורש כללי חומת אש שיאפשרו תעבורת נתונים חוזרת יוצאת.
איך מגדירים
כדי ליצור כלל מדיניות ולאפשר חיבורי TCP 80 או 443 חיצוניים, מבצעים את הפעולות הבאות:
יוצרים מדיניות חומת אש שתכיל את הכלל:
gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTIONמוסיפים כלל להקצאת חיבורים פנימיים לבעלים של הפרויקט:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description DESCRIPTION \ --organization ORG_ID \ --firewall-policy SHORT_NAME \ --src-ip-ranges=10.0.0.0/8מוסיפים כלל להקצאת כללי חיבורים חיצוניים ליציאות
80או443או22לבעלים של הפרויקט:gcloud compute firewall-policies rules create 2000 \ --action=goto_next \ --description DESCRIPTION \ --src-ip-ranges=0.0.0.0/0 \ --layer4-configs=tcp:80,tcp:443,tcp:22 \ --organization ORG_ID \ --firewall-policy SHORT_NAMEמוסיפים כלל לדחיית כל החיבורים החיצוניים האחרים:
gcloud compute firewall-policies rules create 3000 \ --action=deny \ --description DESCRIPTION \ --organization ORG_ID \ --firewall-policy SHORT_NAME \ --src-ip-ranges=0.0.0.0/0משייכים את מדיניות חומת האש לארגון:
gcloud compute firewall-policies associations create \ --organization ORG_ID \ --firewall-policy SHORT_NAMEבפרויקט, מוסיפים כלל חומת אש שמאפשר חיבורים פנימיים מתת-הרשת שצוינה:
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --priority=1000 \ --source-ranges=10.2.0.0/16בפרויקט, מוסיפים כלל של חומת האש שמאפשר חיבורי TCP חיצוניים
80או443:gcloud compute firewall-rules create allow-external-traffic \ --action=allow \ --priority=2000 \ --rules=tcp:80,tcp:443מחליפים את מה שכתוב בשדות הבאים:
ORG_ID: מזהה הארגוןמציינים מזהה ארגון כדי ליצור מדיניות שההורה שלה הוא ארגון. אפשר לשייך את המדיניות לארגון או לתיקייה בתוך הארגון.
SHORT_NAME: שם למדיניותלמדיניות שנוצרת באמצעות Google Cloud CLI יש שני שמות: שם שהמערכת יוצרת ושם קצר שאתם מספקים. כשמשתמשים ב-CLI של gcloud כדי לעדכן מדיניות קיימת, אפשר לציין את השם שנוצר על ידי המערכת או את השם המקוצר ואת מזהה הארגון. כשמשתמשים ב-API כדי לעדכן את המדיניות, צריך לציין את השם שנוצר על ידי המערכת.
DESCRIPTION: תיאור מדיניות חומת האש
דוגמה 3: דחיית חיבורים יוצאים, למעט חיבורים מרשת VPC ספציפית
בדוגמה הזו מוסבר איך להגדיר מדיניות כדי לדחות חיבורי תעבורת נתונים יוצאת (egress) מרשת VPC ספציפית.
תרחיש
הארגון שלכם מטפל במידע רגיש וצריך להגביל את המידע שיוצא מהרשת שלו. כברירת מחדל, הארגון שלכם מונע מכל מכונות ה-VM לשלוח נתונים לאינטרנט. עם זאת, פרויקט ברשת ה-VPC של myvpc צריך לתקשר בצורה מאובטחת עם שרת של שותף מהימן בכתובת 203.0.113.1. כדי לתמוך בזה, אתם צריכים להטמיע את הפעולות הבאות:
- התרה של חיבורים יוצאים בלבד מ-
myvpcאל203.0.113.1. - העברת ניהול הפרטים הספציפיים של התקשורת עבור החיבור הזה לאדמין האבטחה של
myvpc. - חשוב לוודא שההגדרה הזו מונעת דליפות נתונים לא מכוונות מחלקים אחרים בארגון.
מנהל האבטחה של הארגון יכול לעשות זאת על ידי חסימת חיבורי תעבורת נתונים יוצאת (egress) בכל רשתות ה-VPC האחרות, למעט חיבורים שמקורם ב-myvpc. האדמין מייפה את כוחו של אדמין האבטחה myvpc באופן ספציפי כדי לאפשר יציאה לשרת ציבורי 203.0.113.1.
התרשים הבא מציג את ההגדרה של התרחיש הזה:
איך המדיניות חלה על מכונות וירטואליות
אחרי הערכת הכללים בהיררכיה, מדיניות חומת האש של מכונת ה-VM חלה באופן הבא:
חיבורי כניסה
- אין התאמה בין הכללים שהוגדרו בהיררכיה. לכן, חל הכלל שמוגדר כברירת מחדל לחיבורים נכנסים בכללי חומת האש ב-VPC, והוא מונע חיבורים נכנסים.
חיבורי יציאה
חיבורי יציאה שמיועדים ל-
203.0.113.1מותרים כי הם תואמים לכללdelegate-egress-my-vpcועוקפים את שאר הכללים במדיניות הארגון. כל שאר החיבורים היוצאים נדחים.החיבורים היוצאים נבדקים מול כללי חומת האש שהוגדרו ב-
myvpc. כלל ברירת המחדל מאפשר את חיבורי היציאה. הכללblock-egress-traffic-sepc-portsבמדיניות ברמת הארגון דוחה את שאר החיבורים.
איך מגדירים
כדי ליצור כלל מדיניות ולהקצות לו חיבורים מסוימים ליציאה, פועלים לפי השלבים הבאים:
יוצרים מדיניות חומת אש שתכיל את הכלל:
gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTIONמוסיפים כלל להקצאת חיבורים מסוימים ליציאה:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description DESCRIPTION \ --dest-ip-ranges=203.0.113.1/32 --direction=egress --organization ORG_ID \ --short-name SHORT_NAME \ --target-resources=projects/PROJECT_ID/networks/myvpcמוסיפים כלל לדחיית כל חיבורי היציאה האחרים:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description DESCRIPTION \ --direction=egress \ --dest-ip-ranges=0.0.0.0/0 \ --organization ORG_ID \ --short-name SHORT_NAMEמשייכים את מדיניות חומת האש לארגון:
gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAME
מחליפים את מה שכתוב בשדות הבאים:
ORG_ID: מזהה הארגוןSpecify an organization ID to create a policy whose parent is an organization. The policy can be associated with the organization or a folder within the organization.SHORT_NAME: שם למדיניותA policy created by using the Google Cloud CLI has two names: a system-generated name and a short name provided by you. When using the gcloud CLI to update an existing policy, you can provide either the system-generated name or the short name and the organization ID. When using the API to update the policy, you must provide the system-generated name.
DESCRIPTION: תיאור מדיניות חומת האש
דוגמה 4: הגדרת כללים ברמת הארגון וכללים ספציפיים לתיקיות
בדוגמה הזו מוסבר איך לחסום חיבורי כניסה לכל מכונות ה-VM בארגון, למעט חיבורים מטווח כתובות IP.
תרחיש
הארגון שלכם כולל כמה תיקיות, כמו Folder1 ו-Folder2.
צוות האבטחה של הארגון מגדיר מדיניות ברמת הארגון כדי לאפשר תעבורת נתונים נכנסת (ingress) רק מטווח כתובות ה-IP 203.0.113.0/24 בכל התיקיות.
אחרי שהתנועה נכנסת לרשת, לתיקיות שונות יש צרכים שונים:
Folder1: הצוות הזה מפעיל רק אפליקציות אינטרנט, ולכן אדמין האבטחה שלו מאפשר תנועה מהשותף המהימן רק ביציאות האינטרנט80ו-443. המדיניות חוסמת את כל היציאות האחרות כדי לספק אבטחה נוספת.
Folder2: הצוות הזה משתמש בכלי שסורק את המערכות שלו. המקור של הכלי הוא כתובת ה-IP203.0.113.1בטווח של השותף המהימן. האדמין שלהם מוודא שכלי הסריקה הזה יכול להגיע לכל יציאה במכונות הווירטואליות שלהם. לכל שאר התנועה מהשותף המהימן, מנהלי מערכת ברמת הפרויקט קובעים את הכללים. לאחר מכן הם פותחים את הפורטים80,443ו-22עבור האפליקציות הספציפיות שלהם.
בדוגמה הזו, אדמין אבטחה חוסם חיבורי כניסה לכל המכונות הווירטואליות בארגון, מלבד אלה שנמצאות בטווח כתובות ה-IP המותר 203.0.113.0/24. האדמין מעביר את ההחלטות הנוספות לגבי חיבורים מ-203.0.113.0/24 לאדמינים של אבטחה ברמת התיקייה.
התרשים הבא מציג את ההגדרה של התרחיש הזה:
איך המדיניות חלה על מכונות וירטואליות
אחרי הערכת הכללים בהיררכיה, מדיניות חומת האש של מכונת ה-VM חלה באופן הבא:
למכונות וירטואליות ברשת VPC my-vpc
כל החיבורים הנכנסים מ-
203.0.113.0/24ליציאות TCP של היעד80ו-443מותרים. כל חיבורי הכניסה האחרים נדחים.כלל חומת האש ב-VPC מאפשר את כל החיבורים היוצאים כשאין כללים תואמים במדיניות חומת האש ברמה גבוהה יותר.
למכונות וירטואליות ברשת VPC vpc2
המדיניות מאפשרת את כל חיבורי הכניסה מ-
203.0.113.1. לחיבורים נכנסים ממקורות203.0.113.0/24, למעט203.0.113.1, המדיניות מאפשרת תנועה רק ליציאות80,443ו-22. המדיניות דוחה את כל שאר החיבורים הנכנסים.מכיוון שאין כללים תואמים במדיניות חומת האש ברמה גבוהה יותר, כלל חומת האש ב-VPC מאפשר את כל החיבורים היוצאים.
איך מגדירים
כדי להגדיר כללים ברמת הארגון וכללים ספציפיים לתיקיות:
יצירת מדיניות חומת אש עבור
Org_A:gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTIONמוסיפים כלל להענקת הרשאת כניסה מ-
203.0.113.0/24לבעלים של הפרויקט:gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=203.0.113.0/24מוסיפים כלל לדחיית כל החיבורים החיצוניים האחרים:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=0.0.0.0/0משייכים את מדיניות חומת האש לארגון:
gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAMEיוצרים מדיניות חומת אש שתכיל את הכללים עבור
Folder1:gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTIONמוסיפים כלל שמאפשר את כל תעבורת הנתונים הנכנסת מסוג HTTP(S):
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description DESCRIPTION \ --layer4-configs=tcp:80,tcp:443 \ --organization ORG_ID \ --short-name SHORT_NAMEמוסיפים כלל לדחיית תעבורה נכנסת בכל היציאות או הפרוטוקולים האחרים:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=0.0.0.0/0משייכים את מדיניות חומת האש ל-
Folder1:gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAME \ --folder FOLDER_IDיוצרים מדיניות חומת אש שתכיל את הכללים עבור
Folder2:gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTIONמוסיפים כלל כדי לאפשר תעבורת נתונים נכנסת מ-
203.0.113.1:gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=203.0.113.1/32משייכים את מדיניות חומת האש ל-
Folder2:gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAME \ --folder FOLDER_IDמוסיפים כלל חומת אש שמאפשר תעבורת נתונים נכנסת מסוג HTTP(S):
gcloud compute firewall-rules create allow-internal-traffic \ --network=vpc2 \ --action=allow \ --rules=tcp:80,tcp:443,tcp:22
מחליפים את מה שכתוב בשדות הבאים:
ORG_ID: מזהה הארגוןSpecify an organization ID to create a policy whose parent is an organization. The policy can be associated with the organization or a folder within the organization.SHORT_NAME: שם למדיניותA policy created by using the Google Cloud CLI has two names: a system-generated name and a short name provided by you. When using the gcloud CLI to update an existing policy, you can provide either the system-generated name or the short name and the organization ID. When using the API to update the policy, you must provide the system-generated name.
DESCRIPTION: תיאור מדיניות חומת האש
FOLDER_ID: מזהה התיקייה
המאמרים הבאים
מידע נוסף על כללים ומדיניות היררכית של חומת אש זמין במאמר מדיניות היררכית של חומת אש.
כדי ליצור ולשנות כללים ומדיניות היררכית של חומת אש, אפשר לעיין במאמר בנושא שימוש במדיניות היררכית של חומת אש.