בדף הזה מוצגות דוגמאות למדיניות חומת אש היררכית. הדוגמאות האלה עוזרות להבין איך פועלת מדיניות חומת אש היררכית ואיך להשתמש בה כדי לספק אבטחה עקבית בהיררכיית Google Cloud המשאבים. כדי להבין את הדוגמאות האלה, כדאי להכיר את המושגים של מדיניות חומת אש היררכית.
דוגמה 1: מתן גישה לכל המכונות הווירטואליות לכלי לבדיקת קישוריות
בדוגמה הזו מוסבר איך להגדיר כלל חומת אש ברמת הארגון ולאפשר לכלי לבדיקת תקינות גישה לכל המכונות הווירטואליות (VM). בודק הוא תוכנית מיוחדת שבודקת באופן אוטומטי את מכונות ה-VM כדי לקבוע את התוכן או ההגדרה שלהן.
תרחיש
אתם אדמינים של אבטחה שצריכים לוודא שכלי סריקת האבטחה שלכם יכול להתחבר לכל המכונות הווירטואליות.
הכלי שולח בדיקות מכתובת ה-IP 10.100.0.1 ליציאת היעד 123.
צריך לוודא שאף אדמין של הרשת או של האבטחה לא חוסם בטעות את החיבור הזה באף רמה בארגון.
התרשים הבא מציג את ההגדרה של התרחיש הזה:
איך המדיניות חלה על מכונות וירטואליות
אחרי הערכת כל הכללים, מדיניות חומת האש חלה על המכונות הווירטואליות באופן הבא:
חיבורים של תעבורת נתונים נכנסת (ingress)
מדיניות הארגון מאפשרת חיבורי כניסה מכתובת ה-IP של המקור
10.100.0.1ליציאת היעד123. אם מדיניות הארגון תואמת, היא מאפשרת את חיבורי הבדיקה ומפסיקה את ההערכה של כללים אחרים בהיררכיה.לא מתבצעת התאמה לחיבורים נכנסים שלא מגיעים מכתובת ה-IP של המקור
10.100.0.1או מיציאת היעד123. לכן, חל כלל ברירת המחדל של תעבורת נכנסת בכללי חומת האש של הענן הווירטואלי הפרטי (VPC), והחיבור נדחה.
חיבורי יציאה
לא מתבצעת התאמה בכללים שמוגדרים בהיררכיה. לכן, כלל ברירת המחדל ליציאה בכללי חומת האש של VPC חל ומאפשר חיבורים ליציאה. אם הגדרתם כללי חומת אש אחרים שחוסמים תעבורת נתונים יוצאת (egress), חשוב לדעת Google Cloud שחומת האש היא stateful ומאפשרת תעבורת נתונים חוזרת לחיבורים קיימים.
אם הגדרתם כללי חומת אש לתעבורת נתונים יוצאת שחוסמים תעבורת נתונים יוצאת, כולל כלל חומת אש מרומז לתעבורת נתונים יוצאת
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)
חיבורי 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.כל החיבורים האחרים חסומים.
חיבורי יציאה
לא מתבצעת התאמה בכללים שמוגדרים בהיררכיה. לכן, כלל ברירת המחדל ליציאה בכללי חומת האש של VPC חל ומאפשר חיבורים ליציאה. אם הגדרתם כללי חומת אש אחרים שחוסמים תעבורת נתונים יוצאת (egress), חשוב לדעת Google Cloud שחומת האש היא stateful ומאפשרת תעבורת נתונים חוזרת לחיבורים קיימים.
אם הגדרתם כללי חומת אש לתעבורת נתונים יוצאת שחוסמים תעבורת נתונים יוצאת, כולל כלל חומת אש מרומז לתעבורת נתונים יוצאת
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 ספציפית
בדוגמה הזו מוסבר איך להגדיר כללי מדיניות כדי לדחות חיבורים יוצאים מרשת VPC ספציפית.
תרחיש
הארגון שלכם מטפל בנתונים רגישים וצריך להגביל את המידע שיוצא מהרשת שלו. כברירת מחדל, הארגון שלכם מונע מכל מכונות ה-VM לשלוח נתונים לאינטרנט. עם זאת, פרויקט ברשת ה-VPC myvpc צריך לתקשר בצורה מאובטחת עם שרת של שותף מהימן בכתובת 203.0.113.1. כדי לתמוך בזה, אתם צריכים להטמיע את הפעולות הבאות:
- התרת חיבורים יוצאים בלבד מ-
myvpcאל203.0.113.1. - האדמין של האבטחה
myvpcמקבל הרשאה לנהל את פרטי התקשורת הספציפיים של החיבור הזה. - חשוב לוודא שההגדרה הזו מונעת דליפות נתונים לא מכוונות מחלקים אחרים בארגון.
אדמין האבטחה של הארגון יכול לעשות זאת על ידי חסימת חיבורי יציאה בכל רשתות ה-VPC האחרות, למעט חיבורים שמקורם ב-myvpc. האדמין מאציל באופן ספציפי את ההרשאה של תעבורת נתונים יוצאת (egress) לשרת ציבורי 203.0.113.1 לmyvpc אדמין אבטחה.
התרשים הבא מציג את ההגדרה של התרחיש הזה:
איך המדיניות חלה על מכונות וירטואליות
אחרי הערכת הכללים בהיררכיה, מדיניות חומת האש של מכונת ה-VM חלה באופן הבא:
חיבורים של תעבורת נתונים נכנסת (ingress)
- אין התאמה בין הכללים שהוגדרו בהיררכיה. לכן, חל כלל ברירת המחדל של תנועה נכנסת בכללי חומת האש ב-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: מזהה התיקייה
המאמרים הבאים
מידע נוסף על כללים ומדיניות היררכית של חומת אש זמין במאמר מדיניות היררכית של חומת אש.
כדי ליצור ולשנות כללים ומדיניות היררכית של חומת אש, אפשר לעיין במאמרים יצירה של כללים ומדיניות היררכית של חומת אש וניהול של כללים ומדיניות היררכית של חומת אש.