כללי חומת אש של ענן וירטואלי פרטי (VPC) יוצרים רשומות ביומן כשהם חלים על תעבורה. למרות שזרימת מנות יכולה ליצור כמה רשומות ביומן, כלל חומת אש של VPC יוצר לכל היותר רשומה אחת ביומן לכל חיבור ממכונת VM. הדוגמאות הבאות מראות איך רישום ביומן של כללי חומת האש ב-VPC פועל בתרחישים שונים.
דוגמה ל-egress deny
בדוגמה הזו מוצגת כניסה ליומן של כלל חומת אש של VPC שחוסם תעבורה בין שתי מכונות וירטואליות באותה רשת VPC.
בדוגמה הזו, תעבורת הנתונים זורמת בין מכונות וירטואליות בפרויקט example-netברשת ה-VPC example-proj.
שתי המכונות הווירטואליות הן:
- מכונה וירטואלית VM1 באזור
us-west1-aעם כתובת IP10.10.0.99ב-west-subnet(אזורus-west1). - VM2 באזור
us-east1-bעם כתובת IP10.20.0.99ב-east-subnet(אזורus-east1).
- מכונה וירטואלית VM1 באזור
כלל א': כלל חומת אש לדחיית תעבורה יוצאת (egress) מוגדר עם יעד של כל המופעים ברשת, יעד של
10.20.0.99(VM2) והוא חל על יציאת TCP80. הרישום ביומן מופעל במסגרת הכלל הזה.כלל ב': כלל חומת אש שמאפשר תעבורת נתונים נכנסת (ingress) מכוון לכל המכונות ברשת, המקור הוא
10.10.0.99(VM1) והוא חל על יציאת TCP80. הרישום ביומן מופעל גם עבור הכלל הזה.
כדי ליצור את כללי חומת האש של ה-VPC, משתמשים בפקודות הבאות: gcloud
כלל א': כלל דחייה של תעבורת נתונים יוצאת (egress) ליציאת TCP
80, חל על כל המופעים, יעד10.20.0.99:gcloud compute firewall-rules create rule-a \ --network example-net \ --action deny \ --direction EGRESS \ --rules tcp:80 \ --destination-ranges 10.20.0.99/32 \ --priority 10 \ --enable-loggingכלל ב': כלל שמאפשר תעבורת נתונים נכנסת (ingress) ביציאת TCP
80, חל על כל המכונות, מקור10.10.0.99:gcloud compute firewall-rules create rule-b \ --network example-net \ --action allow \ --direction INGRESS \ --rules tcp:80 \ --source-ranges 10.10.0.99/32 \ --priority 10 \ --enable-logging
בתרחיש שבו מכונה וירטואלית VM1 מנסה להתחבר למכונה וירטואלית VM2 ביציאת TCP 80, קורה הדבר הבא:
- כשמכונה וירטואלית VM1 מנסה להתחבר אל
10.20.0.99(מכונה וירטואלית VM2), נוצרת רשומה ביומן עבור כלל A מנקודת המבט של מכונה וירטואלית VM1. - מכיוון שכלל א' חוסם את התעבורה, המערכת לא מתייחסת לכלל ב', ולכן לא נוצרת רשומת יומן לכלל ב' מנקודת המבט של מכונה וירטואלית 2.
המכונה הווירטואלית VM1 מדווחת על הרשומה הבאה ביומן של כלל חומת האש ב-VPC:
| שדה | ערכים |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
לא מאושרת |
rule_details |
reference = "network:example-net/firewall:rule-a" priority = 10 action = DENY destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_instance |
project_id="example-proj" instance_name=VM2 region=us-east1 zone=us-east1-b |
remote_vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=east-subnet |
remote_location |
אין מידע. השדה הזה משמש רק אם היעד הוא מחוץ לרשת ה-VPC. |
דוגמה להרשאת יציאה ולהרשאת כניסה
בדוגמה הזו מוצג רישום ביומן של כלל חומת אש של VPC שמאפשר תעבורת נתונים יוצאת וכלל חומת אש של VPC שמאפשר תעבורת נתונים נכנסת, שביחד מאפשרים תעבורת נתונים בין שתי מכונות וירטואליות באותה רשת VPC.
בדוגמה הזו, תעבורת הנתונים זורמת בין מכונות וירטואליות ברשת ה-VPC בפרויקט example-proj.example-net
שתי המכונות הווירטואליות הן:
- מכונה וירטואלית VM1 באזור
us-west1-aעם כתובת IP10.10.0.99ב-west-subnet(אזורus-west1). - VM2 באזור
us-east1-bעם כתובת IP10.20.0.99ב-east-subnet(אזורus-east1).
- מכונה וירטואלית VM1 באזור
כלל א': כלל חומת אש שמאפשר תעבורת נתונים יוצאת (egress) מוגדר עם יעד של כל המכונות ברשת, יעד של
10.20.0.99(VM2) והוא חל על יציאת TCP80. הרישום ביומן מופעל במסגרת הכלל הזה.כלל ב': כלל חומת אש שמאפשר תעבורת נתונים נכנסת (ingress) מכוון לכל המכונות ברשת, המקור הוא
10.10.0.99(VM1) והוא חל על יציאת TCP80. הרישום ביומן מופעל גם עבור הכלל הזה.
כדי ליצור את כללי חומת האש של ה-VPC, משתמשים בפקודות הבאות: gcloud
כלל א': כלל שמאפשר תעבורת נתונים יוצאת ביציאת TCP מספר
80, חל על כל המכונות, יעד10.20.0.99(מכונה וירטואלית 2):gcloud compute firewall-rules create rule-a \ --network example-net \ --action allow \ --direction EGRESS \ --rules tcp:80 \ --destination-ranges 10.20.0.99/32 \ --priority 10 \ --enable-loggingכלל ב': כלל שמאפשר תעבורת נתונים נכנסת (ingress) ביציאת TCP
80, חל על כל המכונות, מקור10.10.0.99(VM1):gcloud compute firewall-rules create rule-b \ --network example-net \ --action allow \ --direction INGRESS \ --rules tcp:80 \ --source-ranges 10.10.0.99/32 \ --priority 10 \ --enable-logging
בתרחיש שבו מכונה וירטואלית VM1 מנסה להתחבר למכונה וירטואלית VM2 ביציאת TCP 80, קורה הדבר הבא:
- רשומה ביומן עבור כלל A מנקודת המבט של מכונה וירטואלית 1 נוצרת בזמן שמכונה וירטואלית 1 מתחברת אל
10.20.0.99(מכונה וירטואלית 2). - רשומת יומן עבור כלל B מנקודת המבט של מכונה וירטואלית 2 נוצרת בזמן שמכונה וירטואלית 2 מאפשרת חיבורים נכנסים מ-
10.10.0.99(מכונה וירטואלית 1).
המכונה הווירטואלית VM1 מדווחת על הרשומה הבאה ביומן של כלל חומת האש ב-VPC:
| שדה | ערכים |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
מאושרת |
rule_details |
reference = "network:example-net/firewall:rule-a" priority = 10 action = ALLOW destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_instance |
project_id="example-proj" instance_name=VM2 region=us-east1 zone=us-east1-b |
remote_vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=east-subnet |
remote_location |
אין מידע. השדה הזה משמש רק אם היעד הוא מחוץ לרשת ה-VPC. |
ב-VM2 מדווחת רשומת יומן של כלל חומת האש ב-VPC:
| שדה | ערכים |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
מאושרת |
rule_details |
reference = "network:example-net/firewall:rule-b" priority = 10 action = ALLOW source_range = 10.10.0.99/32 ip_port_info = tcp:80 direction = ingress |
instance |
project_id="example-proj" instance_name=VM2 region=us-east1 zone=us-east1-b |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=east-subnet |
remote_instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
remote_vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_location |
אין מידע. השדה הזה משמש רק אם היעד הוא מחוץ לרשת ה-VPC. |
דוגמה לתעבורת נתונים נכנסת (ingress) מהאינטרנט
בדוגמה הזו מוצגת כניסה ליומן של כלל חומת אש מסוג ingress-allow שמאפשר תעבורה מהאינטרנט למכונה וירטואלית. הוא גם מראה איך ההתנהגות של חומת אש עם שמירת מצב משפיעה על כלל של דחיית תעבורה יוצאת.
בדוגמה הזו, תעבורת הנתונים זורמת ממשאב חיצוני למכונה וירטואלית ברשת ה-VPC example-net. הרשת נמצאת בפרויקט example-proj.
- למערכת באינטרנט יש כתובת IP
203.0.113.114. - למכונה וירטואלית VM1 באזור
us-west1-aיש כתובת IP10.10.0.99באזורwest-subnet(us-west1). - כלל ג': כלל חומת אש שמאפשר תעבורת נתונים נכנסת (ingress) עם יעד של כל המכונות ברשת, מקור של כל כתובת IP (
0.0.0.0/0) וחל על יציאת TCP80. הרישום ביומן מופעל במסגרת הכלל הזה. - כלל D: כלל חומת אש לדחיית תעבורת נתונים יוצאת (egress) מוגדר כך שהיעד שלו הוא כל המכונות ברשת, היעד הוא כל כתובת IP (
0.0.0.0/0) והוא חל על כל הפרוטוקולים. הרישום ביומן מופעל במסגרת הכלל הזה.
כדי ליצור את כללי חומת האש של ה-VPC, משתמשים בפקודות הבאות: gcloud
כלל C: כלל שמאפשר תעבורת נתונים נכנסת (ingress) ביציאת TCP
80, חל על כל המכונות, מכל מקור:gcloud compute firewall-rules create rule-c \ --network example-net \ --action allow \ --direction INGRESS \ --rules tcp:80 \ --source-ranges 0.0.0.0/0 \ --priority 10 \ --enable-loggingכלל D: כלל שחוסם יציאה לכל הפרוטוקולים, חל על כל המקרים, כל יעד:
gcloud compute firewall-rules create rule-d \ --network example-net \ --action deny \ --direction EGRESS \ --rules all \ --destination-ranges 0.0.0.0/0 \ --priority 10 \ --enable-logging
בתרחיש שבו מערכת עם כתובת ה-IP 203.0.113.114 מנסה להתחבר ל-VM1 ביציאת TCP 80, קורה הדבר הבא:
- המכונה הווירטואלית VM1 יוצרת רשומה ביומן עבור כלל C בזמן שהיא מקבלת תנועה מ-
203.0.113.114. - למרות כלל D, המכונה הווירטואלית VM1 יכולה להשיב לבקשה הנכנסת כי Google Cloud כללי חומת האש הם stateful. אם הבקשה הנכנסת מורשית, אף כלל יציאה לא יכול לחסום תגובות שנוצרו.
- מכיוון שהכלל D לא חל, המערכת לא מתייחסת אליו, ולכן אין רשומה ביומן לגבי הכלל D.
המכונה הווירטואלית VM1 מדווחת על הרשומה הבאה ביומן של כלל חומת האש ב-VPC:
| שדה | ערכים |
|---|---|
connection |
src_ip=203.0.113.114 src_port=[EPHEMERAL_PORT] dest_ip=10.10.0.99 dest_port=80 protocol=6 |
disposition |
מאושרת |
rule_details |
reference = "network:my-vpc/firewall:rule-c" priority = 10 action = ALLOW source_range = 0.0.0.0/0 ip_port_info = tcp:80 direction = ingress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_location |
continent country region city |
המאמרים הבאים
- סקירה כללית על רישום ביומן של כללי חומת אש ב-VPC
- ניהול הרישום ביומן של כללי חומת אש ב-VPC.
- סקירה כללית של Cloud Logging.