כדי לפשט את התקורה התפעולית ולרכז את הניהול, אפשר להעביר את כללי חומת האש הקיימים של הענן הווירטואלי הפרטי (VPC) למדיניות גלובלית של חומת אש ברשת. במאמר הזה מוסבר איך להשלים את ההעברה הזו עבור כללים שלא משתמשים בתגי רשת או בחשבונות שירות.
המסמך הזה מיועד לאדמינים של רשתות ולמהנדסי אבטחה שמבצעים מיגרציה של כללי חומת אש של VPC שמשתמשים בתגי רשת ובחשבונות שירות.
כדי להשלים את ההעברה הזו, צריך לבצע את המשימות הבאות:
- הערכת הסביבה
- העברת הכללים של חומת האש ב-VPC.
- עיון במדיניות החדשה של חומת האש ברשת הגלובלית
- משלימים את המשימות שאחרי ההעברה.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - מוודאים שיש לכם את התפקיד 'אדמין אבטחה של Compute' (
roles/compute.securityAdmin).
הערכת הסביבה
- מזהים את מספר הכללים הקיימים של חומת האש ב-VPC ברשת.
- חשוב לרשום את רמות העדיפות שמשויכות לכל כלל של חומת אש ב-VPC.
- חשוב לוודא שיש לכם את התפקידים וההרשאות הנדרשים ב-IAM כדי ליצור, לשייך, לשנות ולצפות במדיניות גלובלית של חומת אש ברשת.
העברת הכללים של חומת האש ב-VPC
אחרי שמעריכים את הסביבה, מעבירים את כללי חומת האש של ה-VPC למדיניות גלובלית של חומת אש ברשת באמצעות הפקודה compute firewall-rules migrate.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_NAME: השם של רשת ה-VPC שמכילה את כללי חומת האש של ה-VPC שרוצים להעביר. -
POLICY_NAME: השם של מדיניות חומת האש הגלובלית ברשת שתיצורו במהלך ההעברה.
החרגה של כללים לחומת אש מההעברה
כדי להחריג כללים ספציפיים של חומת האש מההעברה, משתמשים בפקודה gcloud beta compute
firewall-rules migrate עם הדגל --exclusion-patterns-file:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_NAME: השם של רשת ה-VPC שמכילה את כללי חומת האש של ה-VPC שרוצים להעביר. -
POLICY_NAME: השם של מדיניות חומת האש הגלובלית ברשת שרוצים ליצור במהלך ההעברה.
EXCLUSION_PATTERNS_FILE: השם של הקובץ שמכיל ביטויים רגולריים שמגדירים תבניות של שמות חומות אש ב-VPC שצריך להחריג מההעברה. חשוב לציין את הנתיב המלא של הקובץ. כללי חומת אש שתואמים לתבניות שצוינו ייפסחו.כשמגדירים את דפוסי ההחרגה, חשוב לשים לב לדברים הבאים:
- כל ביטוי רגולרי צריך להיות בשורה נפרדת ולייצג תבנית אחת של שמות חומות אש.
- הביטויים הרגולריים לא מכילים רווחים לבנים בתחילתם או בסופם.
הצגת הכללים של חומת האש שהוחרגו
בהתאם לדפוסי השמות של כללי חומת האש שהוחרגו, כלי ההעברה לא מעביר כללי חומת אש מסוימים, כמו כללי חומת אש של Google Kubernetes Engine (GKE). כדי לייצא את רשימת דפוסי השמות של כללי חומת האש שהוחרגו, משתמשים בפקודה gcloud beta compute firewall-rules migrate עם הדגלים --export-exclusion-patterns ו---exclusion-patterns-file.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \
--export-exclusion-patterns
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_NAME: השם של רשת ה-VPC שמכילה את כללי חומת האש של ה-VPC שרוצים להעביר. -
POLICY_NAME: השם של מדיניות חומת האש הגלובלית ברשת שרוצים ליצור במהלך ההעברה.
EXCLUSION_PATTERNS_FILE: הנתיב של הקובץ שאליו מיוצאים דפוסי השמות הבאים של כללי חומת האש שלא נכללים.gke-(.+)-ipv6-all gke-(.+)-(.+)-((master)|(vms)|(all)|(inkubelet)|(exkubelet)|(mcsd)) k8s-fw-(l7-)?(.+) k8s-(.+)-((node)|(http)|(node-http))-hc (.+)-hc k8s2-(.+)-(.+)-(.+)-(.+)(-fw)? k8s2-(.+)-l4-shared-hc-fw gke((gw)|(mcg))1-l7-(.+)-(.+)
כדי להעביר כללי חומת אש מוחרגים שתואמים לתבנית ספציפית, מסירים את התבנית מהרשימה המיוצאת ומריצים את הפקודה gcloud beta compute
firewall-rules migrate עם הדגל --exclusion-patterns-file.
העברה בכפייה תוך שמירה על סדר ההערכה
במהלך ההעברה, אם סדר ההערכה של כלל חומת אש שהוחרג נמצא בין סדרי ההערכה של כללי חומת אש שצוינו על ידי המשתמש, ההעברה נכשלת.זה קורה כי כללי חומת האש שהוחרגו לא מועברים, וכלי ההעברה לא יכול לשמור על סדר ההערכה המקורי של כללים שהוגדרו על ידי המשתמש במדיניות החדשה של חומת האש ברשת.
לדוגמה, אם לכללי חומת האש שלכם יש את העדיפויות הבאות, ההעברה תיכשל.
- כלל שצוין על ידי המשתמש עם עדיפות 100
- כלל מוחרג עם עדיפות 200
- כלל שצוין על ידי המשתמש עם עדיפות 300
כדי לאלץ את כלי ההעברה להעביר את הכללים שצוינו על ידי המשתמש תוך שמירה על סדר ההערכה המקורי שלהם והתעלמות מכללי חומת אש שהוחרגו, משתמשים בפקודה gcloud beta compute firewall-rules migrate עם הדגל --force.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--force
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_NAME: השם של רשת ה-VPC שמכילה את כללי חומת האש של ה-VPC שרוצים להעביר. -
POLICY_NAME: השם של מדיניות חומת האש הגלובלית ברשת שרוצים ליצור במהלך ההעברה.
בדיקת מדיניות חומת האש החדשה בין רשתות גלובליות
לפני שמצרפים את מדיניות חומת האש החדשה ברשת הגלובלית לרשת VPC, מומלץ לעיין במדיניות כדי לוודא שתהליך ההעברה הושלם בצורה מדויקת.
בודקים את ההגדרה של הכללים במדיניות חומת האש, ומוודאים שרכיבי הכללים הבאים הועברו בצורה תקינה לכל כלל:
- עדיפות יחסית
- כיוון התנועה
- פעולה במקרה של התאמה
- הגדרות היומן
- פרמטרים של יעד
- פרמטרים של מקור (לכללי תעבורת נתונים נכנסת)
- פרמטרים של יעד (לכללי תעבורת נתונים יוצאת)
- הגבלות על פרוטוקולים ועל יציאות
מידע נוסף על הרכיבים של כלל במדיניות חומת האש זמין במאמר הרכיבים של כלל במדיניות חומת האש.
משימות אחרי ההעברה
כדי להפעיל ולהשתמש במדיניות חומת האש ברשת הגלובלית, צריך לבצע את המשימות שאחרי ההעברה שמפורטות בקטעים הבאים.
משייכים את מדיניות חומת האש בין רשתות גלובליות לרשת
כלי ההעברה יוצר את מדיניות חומת האש הגלובלית ברשת על סמך כללי חומת האש הקיימים ב-VPC. כדי להפעיל את כללי המדיניות עבור מכונות וירטואליות ברשת, צריך לשייך את המדיניות לרשת ה-VPC הנדרשת באופן ידני. כדי לשייך את מדיניות חומת האש הגלובלית ברשת, משתמשים בפקודה compute network-firewall-policies associations create.
gcloud compute network-firewall-policies associations create \
--firewall-policy=POLICY_NAME \
--network=NETWORK_NAME \
--global-firewall-policy \
--replace-association-on-target
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות הרשת הגלובלית שרוצים לשייך לרשת ה-VPC. -
NETWORK_NAME: השם של רשת ה-VPC
מידע נוסף על שיוך מדיניות חומת אש בין רשתות גלובלית לרשת VPC
שינוי סדר ההערכה של המדיניות והכללים
כברירת מחדל, Cloud Next Generation Firewall (Cloud NGFW) בודק את כללי חומת האש של ה-VPC לפני שהוא בודק את מדיניות חומת האש הגלובלית של הרשת. כדי לוודא שמדיניות חומת האש ברשת הגלובלית מקבלת עדיפות על פני כללי חומת האש של VPC, משתמשים בפקודה compute networks update כדי לשנות את סדר הערכת הכללים.
gcloud compute networks update NETWORK_NAME \
--network-firewall-policy-enforcement-order=BEFORE_CLASSIC_FIREWALL
מחליפים את NETWORK_NAME בשם של רשת ה-VPC.
כדי לבדוק אם מדיניות חומת האש ברשת הגלובלית מוערכת לפני כללי חומת האש ב-VPC, משתמשים בפקודה compute networks get-effective-firewalls.
gcloud compute networks get-effective-firewalls NETWORK_NAME
בפלט של הפקודה הקודמת, אם TYPE: network-firewall-policy מוצג לפני TYPE: network-firewall, אז מדיניות חומת האש הגלובלית של הרשת מוערכת קודם.
מידע נוסף על המדיניות ועל סדר ההערכה של הכללים זמין במאמר סדר ההערכה של כללי מדיניות וכללים של חומת אש.
הפעלת רישום ביומן של כללי חומת אש
הרישום עוזר לכם לקבוע אם כלל חומת האש פועל כמצופה.
כלי ההעברה שומר על סטטוס הרישום ביומן של הכללים הקיימים לחומת האש של VPC כשהוא יוצר את מדיניות חומת האש הגלובלית החדשה לרשת. מוודאים שהרישום ביומן מופעל עבור הכללים במדיניות חומת האש הגלובלית ברשת.
כדי להפעיל רישום ביומן של כללים במדיניות חומת האש, משתמשים בפקודה compute network-firewall-policies rules update.
gcloud compute network-firewall-policies rules update PRIORITY \
--firewall-policy=POLICY_NAME \
--enable-logging \
--global-firewall-policy
מחליפים את מה שכתוב בשדות הבאים:
-
PRIORITY: העדיפות של הכלל שרוצים לעדכן. -
POLICY_NAME: השם של מדיניות חומת האש הגלובלית ברשת שאתם רוצים לעדכן את הכלל שלה.
בדיקה של מדיניות חומת אש בין רשתות גלובלית
לפני שמוחקים את הכללים של חומת האש ב-VPC, כדאי לבדוק את מדיניות חומת האש הגלובלית ברשת כדי לוודא שכללי המדיניות פועלים בהתאם לציפיות שלכם לגבי כל תנועת נתונים שתואמת לכללים.
מבצעים את הפעולות הבאות:
- מוודאים שהפעלתם את הרישום ביומן בכללי חומת האש של VPC ובמדיניות הגלובלית של חומת האש ברשת.
- משנים את סדר הבדיקה של הכללים, כך שמדיניות חומת האש ברשת הגלובלית תיבדק לפני הכללים של חומת האש ב-VPC.
- עוקבים אחרי היומנים כדי לוודא שמדיניות חומת האש ברשת הגלובלית מציגה ספירת פגיעות ושהכללים של חומת האש ב-VPC מוצגים כהצללה.
מחיקת הכללים של חומת האש ב-VPC מהרשת
מומלץ להשבית את כללי חומת האש של ה-VPC לפני שמוחקים אותם לגמרי. אתם יכולים לחזור לכללים האלה אם מדיניות חומת האש הגלובלית ברשת שנוצרה על ידי כלי ההעברה לא מספקת את התוצאות הרצויות.
כדי להשבית כלל חומת אש ב-VPC, משתמשים בפקודה compute firewall-rules update.
gcloud compute firewall-rules update RULE_NAME --disabled
מחליפים את RULE_NAME בשם של כלל חומת האש של ה-VPC שרוצים להשבית.
כדי למחוק כלל של חומת אש ב-VPC, משתמשים בפקודה compute firewall-rules delete.
gcloud compute firewall-rules delete RULE_NAME