התקפת מניעת שירות מבוזרת (DDoS) היא ניסיון מכוון של גורם עוין לשבש את הפעילות של אתרים, מערכות וממשקי API שחשופים לציבור, במטרה לפגוע בחוויה של משתמשים לגיטימיים. עבור עומסי עבודה שמשתמשים במאזני עומסים חיצוניים של רשת להעברת סיגנל ללא שינוי, בהעברת פרוטוקולים או במכונות וירטואליות עם כתובות IP ציבוריות, Google Cloud Armor מציע את האפשרויות הבאות שיעזרו להגן על מערכות מפני מתקפות DDoS:
- הגנה רגילה מפני DDoS ברשת: הגנה בסיסית שפועלת ללא הפסקה למאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, להעברת פרוטוקול או למכונות וירטואליות עם כתובות IP ציבוריות. השירות הזה כלול ב-Google Cloud Armor Standard ולא נדרשים מינויים נוספים.
- הגנה מתקדמת מפני DDoS ברשת: אמצעי הגנה נוספים למנויי Cloud Armor Enterprise שמשתמשים במאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, בהעברת פרוטוקולים או במכונות וירטואליות עם כתובות IP ציבוריות. מידע נוסף על Cloud Armor Enterprise זמין במאמר סקירה כללית על Cloud Armor Enterprise.
במסמך הזה מוסבר ההבדל בין הגנה רגילה מפני DDoS ברשת לבין הגנה מתקדמת מפני DDoS ברשת, איך פועלת הגנה מתקדמת מפני DDoS ברשת ואיך מפעילים אותה.
השוואה בין הגנה רגילה מפני DDoS ברשת לבין הגנה מתקדמת
בטבלה הבאה אפשר להשוות בין התכונות של הגנה רגילה ומתקדמת מפני מתקפות DDoS ברשת.
| תכונה | הגנה רגילה מפני מתקפות DDoS ברשת | הגנה מתקדמת מפני התקפות DDoS ברשת |
|---|---|---|
| סוג נקודת הקצה המוגנת |
|
|
| אכיפה של כללי העברה | ||
| מעקב והתראות על מתקפות בזמינות תמידית | ||
| אמצעים לצמצום הסיכון למתקפות ממוקדות | ||
| טלמטריית מיטיגציה |
איך פועלת הגנה מפני התקפות DDoS ברשת
ההגנה הרגילה מפני התקפות DDoS ברשת מופעלת תמיד. לא צריך לבצע שום פעולה כדי להפעיל אותו.
אתם מגדירים הגנה מתקדמת מפני התקפות DDoS ברשת לפי אזור. במקום לשייך את מדיניות האבטחה של קצה הרשת למאגר יעד אחד או יותר, למכונות יעד, לשירותי קצה עורפי או למכונות עם כתובות IP חיצוניות, משייכים אותה לשירות אבטחה של קצה הרשת באזור מסוים. כשמפעילים את התכונה הזו באזור מסוים, Cloud Armor מספק זיהוי והפחתה של מתקפות נפחיות ממוקדות שפועלים תמיד עבור מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, העברת פרוטוקולים ומכונות וירטואליות עם כתובות IP ציבוריות באותו אזור. אפשר להחיל הגנה מתקדמת מפני התקפות DDoS ברשת רק על פרויקטים שרשומים ל-Cloud Armor Enterprise.
כשמגדירים הגנה מתקדמת מפני מתקפות DDoS ברשת, קודם יוצרים מדיניות אבטחה מהסוג CLOUD_ARMOR_NETWORK באזור שבוחרים. בשלב הבא, מעדכנים את מדיניות האבטחה כדי להפעיל הגנה מתקדמת מפני מתקפות DDoS ברשת. לבסוף, יוצרים שירות אבטחה של קצה הרשת, משאב שאליו אפשר לצרף מדיניות אבטחה מסוג CLOUD_ARMOR_NETWORK. צירוף מדיניות האבטחה לשירות אבטחת קצה הרשת מאפשר הגנה מתקדמת מפני מתקפות DDoS ברשת לכל נקודות הקצה הרלוונטיות באזור שבחרתם.
ההגנה המתקדמת מפני DDoS ברשת מודדת את תנועת הבסיס כדי לשפר את ביצועי ההפחתה. כשמפעילים הגנה מתקדמת מפני DDoS ברשת, יש תקופת האימון של 24 שעות לפני שההגנה המתקדמת מפני DDoS ברשת מפתחת בסיס אמין ויכולה להשתמש בתקופת האימון שלה כדי לשפר את אמצעי ההגנה. כשמסתיים תקופת האימון, ההגנה המתקדמת מפני התקפות DDoS ברשת מפעילה טכניקות נוספות לצמצום הסיכון על סמך נתוני תנועה היסטוריים.
הפעלת הגנה מתקדמת מפני התקפות DDoS ברשת
כדי להפעיל הגנה מתקדמת מפני מתקפות DDoS ברשת, פועלים לפי השלבים הבאים.
הרשמה ל-Cloud Armor Enterprise
כדי להפעיל הגנה מתקדמת מפני DDoS ברשת על בסיס אזורי, הפרויקט צריך להיות רשום ב-Cloud Armor Enterprise. אחרי ההפעלה, כל נקודות הקצה האזוריות באזור המופעל מקבלות הגנה מתקדמת מפני DDoS ברשת שפועלת תמיד.
מוודאים שיש מינוי פעיל ל-Cloud Armor Enterprise בחשבון לחיוב, ושהפרויקט הנוכחי רשום ב-Cloud Armor Enterprise. מידע נוסף על הרשמה ל-Cloud Armor Enterprise זמין במאמר הרשמה ל-Cloud Armor Enterprise ורישום פרויקטים.
הגדרת הרשאות לניהול זהויות והרשאות גישה (IAM)
כדי להגדיר, לעדכן או למחוק שירות אבטחה של Cloud Armor Edge, אתם צריכים את הרשאות ה-IAM הבאות:
compute.networkEdgeSecurityServices.createcompute.networkEdgeSecurityServices.updatecompute.networkEdgeSecurityServices.getcompute.networkEdgeSecurityServices.delete
בטבלה הבאה מפורטות הרשאות הבסיס של תפקידי IAM והשיטות (method) ב-API שמשויכות אליהן.
| הרשאת IAM | שיטות API |
|---|---|
compute.networkEdgeSecurityServices.create |
networkEdgeSecurityServices insert |
compute.networkEdgeSecurityServices.update |
networkEdgeSecurityServices patch |
compute.networkEdgeSecurityServices.get |
networkEdgeSecurityServices get |
compute.networkEdgeSecurityServices.delete |
networkEdgeSecurityServices delete |
compute.networkEdgeSecurityServices.list |
networkEdgeSecurityServices aggregatedList |
מידע נוסף על הרשאות IAM שנדרשות כשמשתמשים ב-Cloud Armor זמין במאמר הגדרת הרשאות IAM למדיניות אבטחה של Google Cloud Armor.
הגדרת הגנה מתקדמת מפני התקפות DDoS ברשת
כדי להפעיל הגנה מתקדמת מפני מתקפות DDoS ברשת:
יוצרים מדיניות אבטחה מסוג
CLOUD_ARMOR_NETWORKאו משתמשים במדיניות אבטחה קיימת מסוגCLOUD_ARMOR_NETWORK.gcloud compute security-policies create SECURITY_POLICY_NAME \ --type CLOUD_ARMOR_NETWORK \ --region REGIONמחליפים את מה שכתוב בשדות הבאים:
-
SECURITY_POLICY_NAME: השם שרוצים לתת למדיניות האבטחה -
REGION: האזור שבו רוצים להקצות את מדיניות האבטחה
-
מעדכנים את מדיניות האבטחה החדשה או הקיימת על ידי הגדרת הדגל
--network-ddos-protectionלערךADVANCED.gcloud compute security-policies update SECURITY_POLICY_NAME \ --network-ddos-protection ADVANCED \ --region REGIONלחלופין, אפשר להגדיר את הדגל
--network-ddos-protectionלערךADVANCED_PREVIEWכדי להפעיל את מדיניות האבטחה במצב תצוגה מקדימה.gcloud beta compute security-policies update SECURITY_POLICY_NAME \ --network-ddos-protection ADVANCED_PREVIEW \ --region REGIONיוצרים שירות אבטחה של קצה הרשת שמפנה למדיניות האבטחה.
gcloud compute network-edge-security-services create SERVICE_NAME \ --security-policy SECURITY_POLICY_NAME \ --region REGION
השבתה של הגנה מתקדמת מפני התקפות DDoS ברשת
כדי להשבית את ההגנה המתקדמת מפני מתקפות DDoS ברשת, אפשר לעדכן או למחוק את מדיניות האבטחה.
עדכון מדיניות האבטחה
כדי לעדכן את מדיניות האבטחה ולהגדיר את הדגל --network-ddos-protection לערך STANDARD, משתמשים בפקודה הבאה: מחליפים את המשתנים במידע שרלוונטי לפריסה.
gcloud compute security-policies update SECURITY_POLICY_NAME \
--network-ddos-protection STANDARD \
--region REGION
מחיקת מדיניות האבטחה
כדי למחוק מדיניות אבטחה של קצה הרשת, צריך קודם להסיר אותה משירות האבטחה של קצה הרשת, כי אי אפשר למחוק מדיניות אבטחה שנמצאת בשימוש. כדי למחוק את מדיניות האבטחה:
מסירים את המדיניות משירות האבטחה של קצה הרשת או מוחקים את שירות האבטחה של קצה הרשת.
כדי להסיר את המדיניות משירות האבטחה של קצה הרשת, משתמשים בפקודה הבאה:
gcloud compute network-edge-security-services update SERVICE_NAME \ --security-policy="" \ --region=REGION_NAMEכדי למחוק את שירות האבטחה של קצה הרשת, משתמשים בפקודה הבאה:
gcloud compute network-edge-security-services delete SERVICE_NAME \ --region=REGION_NAME
כדי למחוק את מדיניות האבטחה, מריצים את הפקודה הבאה:
gcloud compute security-policies delete SECURITY_POLICY_NAME
שימוש במצב תצוגה מקדימה
מצב התצוגה המקדימה מאפשר לכם לעקוב אחרי ההשפעות של הגנה מתקדמת מפני DDoS ברשת בלי לאכוף את ההפחתה.
מנויים ל-Cloud Armor Enterprise יכולים גם להפעיל מצב תצוגה מקדימה לכללי מדיניות מתקדמים להגנה מפני מתקפות DDoS ברשת. במצב תצוגה מקדימה, מקבלים את כל הרישום ביומן והטלמטריה לגבי המתקפה שזוהתה וההצעה לצמצום הסיכון. עם זאת, השבתה זמנית של אותות אכיפה המוצעת לא נאכפת. כך תוכלו לבדוק את היעילות של אמצעי ההגנה לפני שתפעילו אותם. מכיוון שכל מדיניות מוגדרת לפי אזור, אפשר להפעיל או להשבית את מצב התצוגה המקדימה לפי אזור.
כדי להפעיל את מצב התצוגה המקדימה, מגדירים את הדגל --ddos-protection לערך ADVANCED_PREVIEW.
אפשר להשתמש בדוגמה הבאה כדי לעדכן מדיניות קיימת.
gcloud beta compute security-policies update POLICY_NAME \
--network-ddos-protection ADVANCED_PREVIEW \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של המדיניות-
REGION: האזור שבו נמצאת המדיניות.
אם מדיניות האבטחה שלכם נמצאת במצב תצוגה מקדימה במהלך מתקפה פעילה ואתם רוצים לאכוף את אמצעי ההגנה, אתם יכולים לעדכן את מדיניות האבטחה כדי להגדיר את הדגל --network-ddos-protection לערך ADVANCED. המדיניות נאכפת כמעט באופן מיידי, והשינוי משתקף באירוע הבא של רישום ביומן MITIGATION_ONGOING. אירועי רישום ביומן MITIGATION_ONGOING מתרחשים כל חמש דקות.
טלמטריית נתונים של צעדים לצמצום ההשפעה של התקפות DDoS ברשת
Cloud Armor יוצר שלושה סוגים של יומני אירועים כשממתנים מתקפות DDoS: MITIGATION_STARTED, MITIGATION_ONGOING ו-MITIGATION_ENDED. כדי להציג את היומנים לפי סוג ההפחתה, אפשר להשתמש במסנני היומנים הבאים:
| סוג המיטיגציה | מסנן יומן |
|---|---|
| השבתה זמנית של אותות אכיפה התחלה | resource.type="network_security_policy" jsonPayload.mitigationType="MITIGATION_STARTED" |
| הטיפול נמשך | resource.type="network_security_policy" jsonPayload.mitigationType="MITIGATION_ONGOING" |
| סיום המיטיגציה | resource.type="network_security_policy" jsonPayload.mitigationType="MITIGATION_ENDED" |
יומני אירועים של צעדים לצמצום נזקים ממתקפות ב-Cloud Logging
בקטעים הבאים מופיעות דוגמאות לפורמט של יומן לכל סוג של יומן אירועים:
הטיפול התחיל
@type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert"
alertId: "11275630857957031521"
mitigation_type: "MITIGATION_STARTED"
target_vip: "XXX.XXX.XXX.XXX"
total_volume: {
pps: 1400000
bps: 140000000
}
started: {
total_attack_volume: {
pps: 1100000
bps: 110000000
}
classified_attack: {
attack_type: "NTP-udp"
attack_volume: {
pps: 500000
bps: 50000000
}
}
classified_attack: {
attack_type: "CHARGEN-udp"
attack_volume: {
pps: 600000
bps: 60000000
}
}
attack_sources: {
top_source_asns: {
asn: "ABCDEF"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_asns: {
asn: "UVWXYZ"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_geos: {
region_code: "XX"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_geos: {
region_code: "XY"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_ips: {
region_code: "xx.xx.xx.xx"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_ips: {
region_code: "yy.yy.yy.yy"
volume: {
pps: 20000
bps: 2000000
}
}
}
}
הטיפול נמשך
@type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert"
alertId: "11275630857957031521"
mitigation_type: "MITIGATION_ONGOING"
target_vip: "XXX.XXX.XXX.XXX"
total_volume: {
pps: 1500000
bps: 150000000
}
ongoing: {
total_attack_volume: {
pps: 1100000
bps: 110000000
}
classified_attack: {
attack_type: "NTP-udp"
attack_volume: {
pps: 500000
bps: 50000000
}
}
classified_attack: {
attack_type: "CHARGEN-udp"
attack_volume: {
pps: 600000
bps: 60000000
}
}
attack_sources: {
top_source_asns: {
asn: "ABCDEF"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_asns: {
asn: "UVWXYZ"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_geos: {
region_code: "XX"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_geos: {
region_code: "XY"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_ips: {
region_code: "xx.xx.xx.xx"
volume: {
pps: 20000
bps: 2000000
}
}
top_source_ips: {
region_code: "yy.yy.yy.yy"
volume: {
pps: 20000
bps: 2000000
}
}
}
}
הטיפול הושלם
@type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert"
alertId: "11275630857957031521"
mitigation_type: "MITIGATION_ENDED"
target_vip: "XXX.XXX.XXX.XXX"
ended: {
attack_duration_seconds: 600
attack_type: "NTP-udp"
}
במצב תצוגה מקדימה, לפני כל אחד מהתגים mitigation_type מופיע התג PREVIEWED_. לדוגמה, במצב תצוגה מקדימה, הערך MITIGATION_STARTED הוא במקום זאת PREVIEWED_MITIGATION_STARTED.
כדי לראות את היומנים האלה, עוברים אל Logs Explorer ומציגים את המשאב network_security_policy.
מידע נוסף על צפייה ביומנים זמין במאמר צפייה ביומנים.
ממצאים ב-Security Command Center
לוח הבקרה של Security Command Center עוזר לכם לעקוב אחרי מתקפות DDoS נפחיות שמכוונות למאזן עומסי הרשת ולמכונות הווירטואליות שלכם, ולהגיב להן. כש-Cloud Armor מזהה מתקפה, במרכז הבקרה ובכרטיס Cloud Armor מופיע ממצא ייעודי עם התווית Volumetric DDoS Attack Attempt - Network LB/VMs (ניסיון למתקפת DDoS נפחית – מאזן עומסים ברשת/מכונות וירטואליות).
הממצא כולל קישורים ישירים ליומנים רלוונטיים, ומספק את המידע הבא שיעזור לכם להבין את המתקפה:
- המשאב הספציפי שנמצא תחת מתקפה
- נפח התנועה שמשפיע על המשאב
- הסיווג של המתקפה (כמו הצפת UDP, TCP או SYN)
הממצא משקף באופן דינמי את סטטוס המתקפה. סטטוס המתקפה מבוסס על האירועים הבאים ביומן:
- התחילה פעולת צמצום סיכונים: הממצא מופיע כשמתחילות פעולות לצמצום סיכונים
הפעולות לתיקון הבעיה מתבצעות: ככל שהפעולות לתיקון הבעיה מתקדמות, הממצא מתעדכן באופן אוטומטי, כדי שתהיו מעודכנים לגבי המצב. בצילום המסך הבא מוצג ממצא פעיל לדוגמה:
ממצא פעיל ב-Security Command Center (לחיצה להגדלה). ההתמודדות הסתיימה: כשהמתקפה נחלשת וההתמודדות מסתיימת, הממצא הופך ללא פעיל, ומתקבל תיעוד של האירוע. בצילום המסך הבא מוצג ממצא לא פעיל לדוגמה:
ממצא לא פעיל ב-Security Command Center (אפשר ללחוץ כדי להגדיל).