הגדרת מדיניות אבטחה של Edge ברשת

כללי מדיניות לאבטחת קצה הרשת מאפשרים לכם להגדיר כללים כדי לאפשר או לחסום תנועה בקצה הרשת של Google. אפשר להגדיר מדיניות אבטחה של קצה הרשת לסוגי חזיתות (frontend) הבאים:

  • מאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי
  • העברת פרוטוקולים
  • מכונות וירטואליות עם כתובות IP ציבוריות

אתם יכולים להשתמש במדיניות אבטחה של קצה הרשת כדי לסנן לפי טווחי כתובות IP של מקור ויעד, בדומה ל-Cloud Next Generation Firewall, אבל בלי לצרוך את המשאבים שלכם. בנוסף, מדיניות אבטחה של קצה הרשת היא סוג המדיניות היחיד בנושא אבטחה שתומך בסינון לפי היסט בייטים.

הגדרת כללים מותאמים אישית למדיניות אבטחה של קצה הרשת

בדומה למדיניות אבטחה של קצה עורפי ושל Edge, אפשר להגדיר כללים מותאמים אישית למדיניות אבטחה של Edge ברשת. בדוגמה הבאה, יוצרים מדיניות אבטחה של קצה הרשת, מגדירים כלל מותאם אישית שמאפשר תעבורת נתונים רק מטווחי כתובות IP של מקור נתון ומצרפים את המדיניות לשירות לקצה העורפי.

מדיניות אבטחה של קצה הרשת תומכת בכמה מסננים של Cloud Armor, כולל מסננים ייחודיים כמו סינון לפי היסט בייטים. מידע נוסף על התכונות שנתמכות במדיניות אבטחה של קצה הרשת זמין במאמר סקירה כללית על מדיניות אבטחה. בנוסף, אפשר לפרוס מדיניות אבטחה של קצה הרשת במצב תצוגה מקדימה.

לפני שממשיכים, צריך להירשם ל-Google Cloud Armor Enterprise ולהגדיר הגנה מתקדמת מפני מתקפות DDoS ברשת. אי אפשר להשתמש בכללים מותאמים אישית למדיניות אבטחה של קצה הרשת בלי מינוי פעיל ל-Cloud Armor Enterprise והגנה מתקדמת מפני מתקפות DDoS ברשת.

כדי להגדיר כללים בהתאמה אישית:

  1. יוצרים מדיניות אבטחה חדשה של קצה הרשת בשם POLICY_NAME באזור REGION. אל תשתמשו באותה מדיניות אבטחה שבה השתמשתם כשהפעלתם את ההגנה המתקדמת מפני מתקפות DDoS ברשת.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION
    
  2. משנים את כלל ברירת המחדל במדיניות מ-allow ל-deny כדי לחסום תנועה שלא אושרה במפורש על ידי כללים אחרים.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION
    
  3. באותה מדיניות אבטחה, מוסיפים כלל בעדיפות 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
    
  4. משייכים את מדיניות האבטחה לשירות הקצה העורפי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
    
  5. אופציונלי: אפשר לוודא שמדיניות האבטחה מצורפת באמצעות הפקודה הבאה. אם הפעולה תצליח, בשדה 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') או אחד משמות הפרוטוקולים הבאים:
  • tcp
  • udp
  • icmp
  • esp
  • ah
  • ipip
  • sctp
סינון לפי היסט בבייט לא רלוונטי מידע נוסף מופיע בקטע הבא.

כשמשתמשים בדגל --network-src-region-codes עם מדיניות אבטחה של קצה הרשת, אפשר להשתמש בקודי אזורים עבור הטריטוריות הבאות שחלות עליהן סנקציות מקיפות של ארה"ב:

אזורים קוד שהוקצה
חצי האי קרים XC
הטריטוריות שמכונות "הרפובליקה העממית של דונצק (DNR)" ו"הרפובליקה העממית של לוהנסק (LNR)"
XD

הגדרת סינון לפי היסט בייטים

אם אתם משתמשים במאזני עומסים חיצוניים של רשת להעברת סיגנל ללא שינוי, בהעברת פרוטוקולים או במכונות וירטואליות עם כתובות IP ציבוריות, Cloud Armor יכול לבצע בדיקה מעמיקה של חבילות נתונים בתעבורה נכנסת. אפשר להגדיר כלל במדיניות אבטחה שתואם לערך ספציפי של היסט בתים ב-TCP/UDP. אפשר להגדיר את הכלל כך שפעולת הכלל תתבצע כשהערך שהוגדר קיים, או לחלופין כשהוא לא קיים.

בדוגמה הבאה, התנועה מותרת אם הערך קיים, וכל שאר התנועה נחסמת:

  1. יוצרים מדיניות אבטחה חדשה של קצה הרשת. אפשר לדלג על השלב הזה אם כבר יש לכם מדיניות אבטחה של קצה הרשת.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION_NAME
    
  2. כדי לעדכן את מדיניות האבטחה של קצה הרשת ולהוסיף שדות שהוגדרו על ידי המשתמש, צריך להשתמש בפרמטרים הבאים:

    • בסיס: הערך יכול להיות 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
    
  3. במדיניות האבטחה של קצה הרשת, מוסיפים כלל עם אותו שם של שדה מותאם אישית שבו השתמשתם בדוגמה הקודמת. מחליפים את 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
    
  4. מגדירים את כלל ברירת המחדל במדיניות האבטחה של קצה הרשת ככלל דחייה. אפשר לדלג על השלב הזה אם כלל ברירת המחדל במדיניות האבטחה הוא כבר כלל דחייה.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION_NAME
    
  5. משייכים את מדיניות האבטחה של קצה הרשת לשירות הקצה העורפי של מאזן עומסי הרשת החיצוני להעברת סיגנל ללא שינוי.

    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 .

כניסה ל-Monitoring