פריסה אוטומטית של כללים מוצעים של הגנה דינמית

במסמך הזה מפורטים שלבי ההגדרה של פריסה אוטומטית של הכללים המוצעים שנוצרים על ידי Adaptive Protection. כדי להפעיל פריסה אוטומטית של כללים, צריך ליצור כלל placeholder עם הערכים הבאים:

  • ביטוי ההתאמה: evaluateAdaptiveProtectionAutoDeploy()
  • פעולה: כל פעולה
  • עדיפות: כלשהי. מומלץ להגדיר כלל הרשאה מפורש בעדיפות גבוהה יותר מהכללים האחרים שלכם לתנועה לגיטימית בעדיפות גבוהה.

אם אתם משתמשים בשרת proxy במעלה הזרם לפני מאזן עומסים של אפליקציות (ALB) חיצוני, כמו CDN של צד שלישי, אתם יכולים להגדיר את כלל הפלייסהולדר כך שיתאים לבקשות על סמך כתובת ה-IP המקורית של הלקוח מכותרת או מכותרות שצוינו. כדי להשתמש בתכונת התצוגה המקדימה הזו, צריך להגדיר את האפשרות userIpRequestHeaders[] בשדה advancedOptionsConfig. מידע נוסף זמין במאמר בנושא ComputeSecurityPolicy.

דוגמאות לכללי placeholder

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

חסימה של תנועה זדונית

הערך של כלל לדוגמה הזה הוא true לבקשות שזוהו על ידי Adaptive Protection כתעבורת נתונים של התקפה. Cloud Armor מחיל את פעולת החסימה על הבקשה התוקפת:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action deny-403

הפניה של תנועה זדונית למבחן reCAPTCHA

בדוגמה הזו, הכלל מפנה תעבורה שמזוהה על ידי Adaptive Protection כזדונית למבחן reCAPTCHA:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action redirect \
    --redirect-type google-recaptcha

הגבלת קצב של תנועה זדונית

בדוגמה הזו, הגבלת קצב של יצירת בקשות של Cloud Armor חלה על תעבורת נתונים שזוהתה על ידי Adaptive Protection כתנועה זדונית:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action throttle \
    --rate-limit-threshold-count 500 \
    --rate-limit-threshold-interval-sec 120 \
    --conform-action allow \
    --exceed-action deny-404 \
    --enforce-on-key ip

הגדרת פרמטרים לפריסה אוטומטית של הגנה דינמית

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

  • סף עומס: במהלך מתקפה שמוגדרת לגביה התראה, Adaptive Protection מזהה תוקפים חדשים רק כשהעומס על שירות לקצה העורפי שנמצא תחת מתקפה חורג מהסף הזה. בנוסף, הכללים נפרסים אוטומטית רק לגבי התראות כשהעומס על שירות לקצה העורפי שנמצא תחת מתקפה חורג מהסף הזה.

    • ערך ברירת המחדל: 0.8

  • סף הסמך: הכללים נפרסים באופן אוטומטי רק לגבי התראות על מתקפות פוטנציאליות עם ציוני סמך שגבוהים מהסף הזה.

    • ערך ברירת המחדל: 0.5
  • ערך הסף של נתוני הבסיס שהושפעו: כללים מופעלים אוטומטית רק אם ההשפעה המשוערת על תנועת הבסיס מההמלצה לצמצום הסיכון נמוכה מערך הסף הזה. הערכים של impactedBaselineProportion ושל impactedbaselinePolicyProportion צריכים להיות נמוכים מסף הבסיס שמושפע.

    • ערך ברירת המחדל: 0.01 (1%)
  • תוקף מוגדר: אחרי משך הזמן הזה, Cloud Armor מפסיק להחיל את הפעולה בכלל שנפרס אוטומטית על תוקף מזוהה. הכלל ימשיך לפעול על בקשות חדשות.

    • ערך ברירת המחדל: 7200 שניות

הפקודה הבאה מוסיפה הגדרות של סף להגנה מפני מתקפות DDoS בשכבה 7 למדיניות האבטחה.

gcloud compute security-policies add-layer7-ddos-defense-threshold-config NAME
[FLAG = VALUE]

מחליפים את מה שכתוב בשדות הבאים:

  • NAME: השם של מדיניות האבטחה.
  • FLAG: פרמטר ערך הסף להגנה.
  • VALUE: הערך של פרמטר הסף של ההגנה.

מידע נוסף מופיע במאמר הגדרת יחידות תנועה מפורטות.

הפקודה הבאה מעדכנת את מדיניות האבטחה לשימוש בספים לא ברירת מחדל, שנפרסים באופן אוטומטי. אפשר להגדיר לכל היותר אחד מהפרמטרים auto_deploy_config ו-threshold_config. הגדרת יותר מדגל אחד גורמת לשגיאה.

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-PARAMETER VALUE
]

מחליפים את מה שכתוב בשדות הבאים:

  • NAME: השם של מדיניות האבטחה.
  • PARAMETER: פרמטר הפריסה האוטומטית. הוא יכול להיות אחד מהערכים הבאים:
    • load-threshold
    • confidence-threshold
    • impacted-baseline-threshold
    • expiration-sec
  • VALUE: הערך של הפרמטר auto-deploy.

רישום ביומן

בלוגים שנוצרים על ידי כללים שנפרסים באופן אוטומטי באמצעות ההגנה הדינמית יש את השדות הנוספים הבאים:

  • autoDeployed: אחרי שמגדירים פריסה אוטומטית של כללים, לכל יומן התראות שנוצר על ידי ההגנה האדפטיבית יש את השדה הבוליאני autoDeployed, שמציין אם הופעלה הגנה אוטומטית. כשהערך של autoDeployed הוא true, המשמעות היא שהכלל של placeholder‏ evaluateAdaptiveProtectionAutoDeploy() כבר העריך שהספים של רמת הביטחון של המתקפה וההשפעה חרגו מהפרמטרים של הפריסה האוטומטית שהוגדרו. לאחר מכן המערכת מתחילה לעקוב אחרי העומס הדינמי. ברגע שהעומס חורג מסף העומס שהוגדר, הכלל נפרס באופן אוטומטי כדי לצמצם את המתקפה.
  • adaptiveProtection.autoDeployAlertId: בכל פעם שהגנה דינמית מבצעת פעולה בבקשה כחלק מהגנה אוטומטית, ביומן הבקשות מופיע השדה הנוסף adaptiveProtection.autoDeployAlertId, שבו מתועד מזהה ההתראה. השדה הזה מופיע בקטע enforcedSecurityPolicy או previewSecurityPolicy, בהתאם למצב התצוגה המקדימה של מדיניות האבטחה.

כדי לראות את יומני הבקשות, אפשר לעיין במאמר בנושא שימוש ביומן הבקשות. בצילום המסך הבא מוצגת דוגמה לרשומה ביומן של Adaptive Protection, עם השדות autoDeployed ו-adaptiveProtection.autoDeployAlertId.

דוגמה ליומן של תוכנית ההגנה המתקדמת.
יומן לדוגמה של הגנה דינמית (לחצו כדי להגדיל).

מגבלות

  • התכונה 'הגנה דינמית' זמינה רק למדיניות אבטחה של בק-אנד שמצורפת לשירותי בק-אנד שנחשפים דרך מאזן עומסים חיצוני של אפליקציות (ALB). התכונה 'הגנה דינמית' לא זמינה למאזני עומסים חיצוניים של רשתות proxy.