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

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