כללי מדיניות לאבטחת קצה הרשת מאפשרים לכם להגדיר כללים כדי לאפשר או לחסום תנועה בקצה הרשת של Google. אפשר להגדיר מדיניות אבטחה של קצה הרשת לסוגי חזיתות (frontend) הבאים:
- מאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי
- העברת פרוטוקולים
- מכונות וירטואליות עם כתובות IP ציבוריות
אתם יכולים להשתמש במדיניות אבטחה של קצה הרשת כדי לסנן לפי טווחי כתובות IP של מקור ויעד, בדומה ל-Cloud Next Generation Firewall, אבל בלי לצרוך את המשאבים שלכם. בנוסף, מדיניות אבטחה של קצה הרשת היא סוג המדיניות היחיד בנושא אבטחה שתומך בסינון לפי היסט בייטים.
הגדרת כללים מותאמים אישית למדיניות אבטחה של קצה הרשת
בדומה למדיניות אבטחה של קצה עורפי ושל Edge, אפשר להגדיר כללים מותאמים אישית למדיניות אבטחה של Edge ברשת. בדוגמה הבאה, יוצרים מדיניות אבטחה של קצה הרשת, מגדירים כלל מותאם אישית שמאפשר תעבורת נתונים רק מטווחי כתובות IP של מקור נתון ומצרפים את המדיניות לשירות לקצה העורפי.
מדיניות אבטחה של קצה הרשת תומכת בכמה מסננים של Cloud Armor, כולל מסננים ייחודיים כמו סינון לפי היסט בייטים. מידע נוסף על התכונות שנתמכות במדיניות אבטחה של קצה הרשת זמין במאמר סקירה כללית על מדיניות אבטחה. בנוסף, אפשר לפרוס מדיניות אבטחה של קצה הרשת במצב תצוגה מקדימה.
לפני שממשיכים, צריך להירשם ל-Google Cloud Armor Enterprise ולהגדיר הגנה מתקדמת מפני מתקפות DDoS ברשת. אי אפשר להשתמש בכללים מותאמים אישית למדיניות אבטחה של קצה הרשת בלי מינוי פעיל ל-Cloud Armor Enterprise והגנה מתקדמת מפני מתקפות DDoS ברשת.
כדי להגדיר כללים בהתאמה אישית:
יוצרים מדיניות אבטחה חדשה של קצה הרשת בשם
POLICY_NAMEבאזורREGION. אל תשתמשו באותה מדיניות אבטחה שבה השתמשתם כשהפעלתם את ההגנה המתקדמת מפני מתקפות DDoS ברשת.gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION
משנים את כלל ברירת המחדל במדיניות מ-
allowל-denyכדי לחסום תנועה שלא אושרה במפורש על ידי כללים אחרים.gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION
באותה מדיניות אבטחה, מוסיפים כלל בעדיפות
RULE_PRIORITYשמאפשר בקשות בטווח כתובות ה-IP של המקורRANGE.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-src-ip-ranges=RANGE \ --action=allow \ --region=REGION
משייכים את מדיניות האבטחה לשירות הקצה העורפי
BACKEND_SERVICE_NAME.gcloud compute backend-services update BACKEND_SERVICE_NAME \ --security-policy=POLICY_NAME \ --region=REGION
לחלופין, אפשר לשייך את מדיניות האבטחה למופע יחיד של מכונה וירטואלית באמצעות הפקודה הבאה:
gcloud beta compute instances network-interfaces update VM_NAME \ --security-policy=POLICY_NAME \ --security-policy-region=REGION \ --network-interface=NETWORK_INTERFACE \ --zone=ZONE_NAME
אופציונלי: אפשר לוודא שמדיניות האבטחה מצורפת באמצעות הפקודה הבאה. אם הפעולה תצליח, בשדה
securityPolicyבפלט יופיע קישור למשאב של מדיניות האבטחה.gcloud compute instances describe VM_NAME --zone=ZONE_NAME
אחרי שיוצרים את הדוגמה הקודמת, אפשר להמשיך להוסיף כללים למדיניות האבטחה של קצה הרשת באמצעות הפקודה security-policies rules update.
אלה השדות הנתמכים במדיניות אבטחה של קצה הרשת:
| שדה | סימון | תיאור |
|---|---|---|
| כתובת ה-IP של המקור | --network-src-ip-ranges |
כתובות IPv4/6 או קידומות CIDR של המקור, בפורמט טקסט רגיל. |
| יציאות מקור | --network-src-ports |
מספרי יציאות מקור ל-TCP/UDP/SCTP. כל רכיב יכול להיות מספר (16 ביט) (כמו '80') או טווח (כמו '0-1023'). |
| קודי אזור המקור | --network-src-region-codes |
קוד מדינה בן שתי אותיות (ISO 3166-1 alpha 2). |
| מספרי מערכות אוטונומיות (ASN) של המקור | --network-src-asns |
מספר המערכת האוטונומית (ASN) של BGP של כתובת ה-IP של המקור. |
| טווחי כתובות IP של יעד | --network-dest-ip-ranges |
כתובות IPv4/6 ליעד או קידומות CIDR, בפורמט טקסט רגיל. |
| יציאות יעד | --network-dest-ports |
מספרי יציאות של היעד עבור TCP/UDP/SCTP. כל רכיב יכול להיות מספר (16 ביט) (כמו '80') או טווח (כמו '0-1023'). |
| פרוטוקולים של כתובות IP | --network-ip-protocols |
פרוטוקול IPv4 / הכותרת הבאה של IPv6 (אחרי כותרות ההרחבה). כל רכיב יכול להיות מספר בן 8 ביט (כמו '6'), טווח (כמו '253-254') או אחד משמות הפרוטוקולים הבאים:
|
| סינון לפי היסט בבייט | לא רלוונטי | מידע נוסף מופיע בקטע הבא. |
כשמשתמשים בדגל --network-src-region-codes עם מדיניות אבטחה של קצה הרשת, אפשר להשתמש בקודי אזורים עבור הטריטוריות הבאות שחלות עליהן סנקציות מקיפות של ארה"ב:
| אזורים | קוד שהוקצה |
|---|---|
| חצי האי קרים | XC |
| הטריטוריות שמכונות "הרפובליקה העממית של דונצק (DNR)" ו"הרפובליקה העממית של לוהנסק (LNR)" |
XD |
הגדרת סינון לפי היסט בייטים
אם אתם משתמשים במאזני עומסים חיצוניים של רשת להעברת סיגנל ללא שינוי, בהעברת פרוטוקולים או במכונות וירטואליות עם כתובות IP ציבוריות, Cloud Armor יכול לבצע בדיקה מעמיקה של חבילות נתונים בתעבורה נכנסת. אפשר להגדיר כלל במדיניות אבטחה שתואם לערך ספציפי של היסט בתים ב-TCP/UDP. אפשר להגדיר את הכלל כך שפעולת הכלל תתבצע כשהערך שהוגדר קיים, או לחלופין כשהוא לא קיים.
בדוגמה הבאה, התנועה מותרת אם הערך קיים, וכל שאר התנועה נחסמת:
יוצרים מדיניות אבטחה חדשה של קצה הרשת. אפשר לדלג על השלב הזה אם כבר יש לכם מדיניות אבטחה של קצה הרשת.
gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION_NAME
כדי לעדכן את מדיניות האבטחה של קצה הרשת ולהוסיף שדות שהוגדרו על ידי המשתמש, צריך להשתמש בפרמטרים הבאים:
- בסיס: הערך יכול להיות
IPv4,IPv6,TCPאוUDP - Offset: ההיסט של השדה מהבסיס בבייטים
- גודל: גודל השדה בבייטים (הערך המקסימלי הוא
4) - מסיכה: המסיכה של הביטים בשדה שצריך להתאים
אפשר להשתמש בעד שמונה שדות מוגדרים על ידי המשתמש בכל מדיניות. בדוגמה הבאה, יוצרים שני שדות שמוגדרים על ידי המשתמש.
gcloud compute security-policies add-user-defined-field POLICY_NAME \ --user-defined-field-name=USER_DEFINED_FIELD_NAME_TCP \ --base=TCP \ --offset=OFFSET \ --size=SIZE \ --mask=MASK \ --region=REGION_NAME
gcloud compute security-policies add-user-defined-field POLICY_NAME \ --user-defined-field-name=USER_DEFINED_FIELD_NAME_UDP \ --base=UDP \ --offset=OFFSET \ --size=SIZE \ --mask=MASK \ --region=REGION_NAME
- בסיס: הערך יכול להיות
במדיניות האבטחה של קצה הרשת, מוסיפים כלל עם אותו שם של שדה מותאם אישית שבו השתמשתם בדוגמה הקודמת. מחליפים את
VALUE1ואתVALUE2בערכים שתואמים לתנועה שרוצים לאפשר.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-user-defined-fields="USER_DEFINED_FIELD_NAME_TCP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1,VALUE2" \ --action=allow \ --region=REGION_NAME
מגדירים את כלל ברירת המחדל במדיניות האבטחה של קצה הרשת ככלל דחייה. אפשר לדלג על השלב הזה אם כלל ברירת המחדל במדיניות האבטחה הוא כבר כלל דחייה.
gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION_NAME
משייכים את מדיניות האבטחה של קצה הרשת לשירות הקצה העורפי של מאזן עומסי הרשת החיצוני להעברת סיגנל ללא שינוי.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --security-policy=POLICY_NAME \ --region=REGION_NAME
מעקב
Cloud Armor מייצא את המדדים הבאים ל-Cloud Monitoring לכל אחד מהכללים במדיניות אבטחת קצה הרשת:
packet_count-
Blocked: ערך בוליאני שמייצג את התוצאה של פעולת כלל מסוגallowאוdeny -
Count: הערך שלpacket_countגדל ב-1 בכל פעם עבור כל 10,000 מנות מידע. לדוגמה, ערך שלpacket_countשהוא5מציין שלפחות 50,000 מנות מידע תאמו לכלל שהגדרתם
-
-
preview_packet_count: זהה ל-packet_count, משמש לכללים במצב תצוגה מקדימה
כדי להציג מדדים של מדיניות אבטחה בקצה הרשת, צריך קודם להפעיל את Network Security API (networksecurity.googleapis.com). ההרשאה הזו כלולה בתפקיד Compute Security Admin (roles/compute.securityAdmin). אחרי שמפעילים את Network Security API, אפשר להציג את המדדים ב-Monitoring במסוף Google Cloud .