תיעוד 126
התחלת עבודה
חומת האש ליישומי אינטרנט של Cloudflare (Cloudflare WAF) בודקת בקשות אינטרנט ו-API נכנסות ומסננת תעבורה לא רצויה על בסיס ערכות כללים שנקראות rulesets.
דף זה מנחה אתכם בצעדים הראשוניים המומלצים להגדרת ה-WAF, כדי לקבל הגנה מיידית מפני ההתקפות הנפוצות ביותר.
עיינו במושגים למידע נוסף על מושגי WAF, הרכיבים העיקריים והתפקידים.
הערה
מדריך זה מתמקד בהגדרת WAF לדומיינים בודדים, הידועים בשם zones. הגדרת ה-WAF זמינה גם ברמת החשבון ללקוחות Enterprise עם תוספת בתשלום.
#לפני שמתחילים
- ודאו שהגדרתם חשבון Cloudflare והוספתם את הדומיין ל-Cloudflare.
- למשתמשים בתוכנית Free יש גישה ל-Cloudflare Free Managed Ruleset, תת-קבוצה של Cloudflare Managed Ruleset. ה-Free Managed Ruleset נפרסת כברירת מחדל בתוכניות Free ואינה מכוסה במדריך זה באופן ספציפי.
אם אתם בתוכנית Free, אפשר לדלג אל 5. סקירת תעבורה בלוחות המחוונים של האבטחה.
#1. פריסת Cloudflare Managed Ruleset
ה-Cloudflare Managed Ruleset מגינה מפני Common Vulnerabilities and Exposures (CVEs) ומפני וקטורי תקיפה ידועים. ערכת הכללים הזו נועדה לזהות התקפות נפוצות באמצעות חתימות, ובמקביל לייצר מעט תוצאות חיוביות שגויות. שינויים בכללים מתפרסמים על בסיס שבועי ביומן השינויים של WAF. Cloudflare עשויה גם להוסיף כללים בכל עת במהלך פרסומי חירום להגנה בולטת מפני zero-day.
- בלוח הבקרה של Cloudflare, עברו לדף Settings של Security. מעבר אל Settings ↗
- (אופציונלי) סננו לפי Web application exploits.
- הפעילו את Cloudflare managed ruleset.
#הגדרות ברירת מחדל והתאמה אישית של ערכת הכללים
כברירת מחדל, Cloudflare Managed Ruleset מפעילה רק תת-קבוצה של כללים, והיא נועדה לאזן בין הגנה לבין תוצאות חיוביות שגויות. אפשר לעיין בכללים נוספים ולהפעיל אותם בהתאם למחסנית הטכנולוגיה של היישום שלכם.
במצבים מסוימים, הפעלת ערכת הכללים המנוהלת עלולה לגרום לתוצאות חיוביות שגויות. תוצאות חיוביות שגויות הן בקשות לגיטימיות שה-WAF מטפל בהן בטעות. למידע על טיפול בתוצאות חיוביות שגויות, עיינו בTroubleshoot managed rules.
אם אתם בודקים את ה-WAF מול כלי pentesting, מומלץ להפעיל את כל הכללים באמצעות הגדרת ערכת הכללים הבאה:
- Ruleset action: Block
- Ruleset status: Enabled (מפעיל את כל הכללים בערכת הכללים)
למידע נוסף על הגדרת Cloudflare Managed Ruleset בלוח הבקרה, עיינו בCloudflare Managed Ruleset.
#2. יצירת כלל מותאם אישית על בסיס WAF attack score
הערה
WAF attack score זמין רק ללקוחות Business (גישה מוגבלת לשדה יחיד) וללקוחות Enterprise (גישה מלאה).
WAF attack score הוא שכבת למידת מכונה שמשלימה את ערכות הכללים המנוהלות של Cloudflare, ומספקת הגנה נוספת מפני SQL injection ↗︎ (SQLi), cross-site scripting ↗︎ (XSS), והתקפות remote code execution ↗︎ (RCE) רבות. הוא עוזר לזהות עקיפות של כללים וגם התקפות חדשות שטרם התגלו.
אם אתם לקוחות Enterprise, בצעו את הפעולות הבאות:
- פנו לצוות החשבון שלכם כדי לקבל גישה ל-WAF attack score.
- צרו כלל מותאם אישית באמצעות השדה Attack Score:
- When incoming requests match:
| שדה | אופרטור | ערך |
|---|---|---|
| WAF Attack Score | less than | 20 |
- Choose action: Block
אם אתם בתוכנית Business, צרו כלל מותאם אישית כפי שתואר למעלה, אבל השתמשו בשדה WAF Attack Score Class במקום זאת. לדוגמה, אפשר להשתמש בביטוי הכלל הבא: WAF Attack Score Class equals Attack.
#3. הגדרת הגנה מפני בוטים
הערה
Bot score זמין רק ללקוחות Enterprise עם Bot Management. לקוחות בתוכניות Pro ו-Business צריכים להפעיל במקום זאת את Super Bot Fight Mode, שמספק הגנה מובנית מפני בוטים בלי יצירת כללים מותאמים אישית.
Bot Management פעיל תמיד עבור zones של Enterprise שזכאים לכך, ומקצה bot score לכל בקשה. הוא אינו חוסם תעבורה ואינו מציב לה אתגר בכוחות עצמו: פועלים על תעבורת בוטים באמצעות כללים מותאמים אישית.
- בלוח הבקרה של Cloudflare, עברו לדף Security Settings וסננו לפי Bot traffic. מעבר אל Settings ↗
- ב-Bot management, בחרו את סמל העריכה וודאו ש-JavaScript Detections ו-Auto-update machine learning model מופעלים.
- צרו כלל מותאם אישית באמצעות השדות Bot Score, Verified Bot ו-Static Resource. אפשר גם להתחיל מתבניות תעבורת הבוטים באמצעות בחירה ב-View bot traffic templates בתוך Bot management.
- When incoming requests match:
| שדה | אופרטור | ערך | לוגיקה |
|---|---|---|---|
| Bot Score | less than | 30 | And |
| Verified Bot | equals | Off | And |
| Static Resource | equals | Off |
- Choose action: Managed Challenge
- (אופציונלי) ב-Security Settings, השתמשו ב-Configure AI bot policies כדי לשלוט באופן שבו זחלני AI וסוכנים יכולים לגשת לאתר שלכם. לפרטים, עיינו ב-Block AI bots.
לפרטים נוספים על תבניות כללים והגדרות מומלצות, עיינו ב-Bot Management.
לדוגמה מקיפה יותר של הגנת בסיס מפני בוטים זדוניים, עיינו ב-Challenge bad bots.
למידע נוסף על השדות הקשורים לבוטים שאפשר להשתמש בהם בביטויים, עיינו ב-Bot Management variables.
אחרי שפרסתם את Cloudflare Managed Ruleset וכללים המבוססים על attack score ועל bot score, תשיגו הגנה משמעותית, שמגבילה את הסיכוי לתוצאות חיוביות שגויות.
#4. (אופציונלי) פריסת Cloudflare OWASP Core Ruleset
אחרי הגדרת Cloudflare Managed Ruleset ו-attack score, אפשר גם לפרוס את Cloudflare OWASP Core Ruleset. ערכת הכללים המנוהלת הזו היא המימוש של Cloudflare ל-OWASP ModSecurity Core Rule Set. כיסוי ההתקפות שלה חופף במידה רבה ל-Cloudflare Managed Ruleset באמצעות זיהוי וקטורי תקיפה נפוצים כגון SQLi ו-XSS.
זהירות
Cloudflare OWASP Core Ruleset נוטה לתוצאות חיוביות שגויות ומציעה רק תועלת שולית כשמוסיפים אותה מעל Cloudflare Managed Ruleset ו-WAF attack score. אם תחליטו לפרוס את ערכת הכללים המנוהלת הזו, תצטרכו לעקוב אחרי ההגדרות שלה ולהתאים אותן בהתאם לתעבורה שלכם כדי למנוע תוצאות חיוביות שגויות.
- בלוח הבקרה של Cloudflare, עברו לדף Settings של Security. מעבר אל Settings ↗
- (אופציונלי) סננו לפי Web application exploits.
- הפעילו את OWASP Core.
פעולה זו תפרוס את Cloudflare OWASP Core Ruleset עם הגדרת ברירת המחדל: paranoia level = PL1 ו-score threshold = Medium - 40 and higher.
#הגדרת ערכת הכללים
בשונה מ-Cloudflare Managed Ruleset המבוססת על חתימות, Cloudflare OWASP Core Ruleset מבוססת על ציון. בוחרים רמת paranoia מסוימת (הרמות נעות מ-PL1 עד PL4, כאשר PL1 היא הרמה הנמוכה ביותר), שמפעילה קבוצת כללים הולכת וגדלה. בוחרים גם score threshold, שקובע מתי לבצע את הפעולה שהוגדרה. paranoia נמוכה עם score threshold גבוה מובילה בדרך כלל לפחות תוצאות חיוביות שגויות. לדוגמה לאופן ההערכה של OWASP Core Ruleset, עיינו ב-OWASP evaluation example.
פעלו לפי אחת מהאסטרטגיות הבאות כדי להגדיר את ערכת הכללים בהתאם לצרכים שלכם:
- התחילו מהגדרה מחמירה (paranoia level = PL4, score threshold = Low - 60 and higher). הפחיתו את ה-score threshold ואת רמת ה-paranoia עד שתשיגו יחס טוב של תוצאות חיוביות שגויות לעומת תוצאות חיוביות אמיתיות עבור התעבורה הנכנסת שלכם.
- לחלופין, התחילו מהגדרה מתירנית יותר (paranoia level = PL1, score threshold = High - 25 and higher) והעלו את שני הפרמטרים כדי להתאים את ההגנה, תוך ניסיון לשמור על מספר נמוך של תוצאות חיוביות שגויות.
למידע נוסף על הגדרת Cloudflare OWASP Core Ruleset בלוח הבקרה, עיינו ב-Configure in the dashboard.
#5. סקירת תעבורה בלוחות המחוונים של האבטחה
אחרי הגדרת תצורת ה-WAF, סקרו כיצד התעבורה הנכנסת מושפעת מההגדרות הנוכחיות באמצעות לוחות המחוונים הבאים:
- השתמשו ב-Security Analytics כדי לחקור את כל התעבורה, כולל תעבורה שאינה מושפעת מאמצעי טיפול של WAF. כל הנתונים שמספקים זיהויי תעבורה זמינים בלוח המחוונים הזה.
- השתמשו ב-Security Events כדי לקבל מידע נוסף על בקשות שמוצרי האבטחה של Cloudflare מטפלים בהן.
לקוחות Enterprise יכולים גם לקבל נתונים על בקשות HTTP ועל אירועי אבטחה באמצעות Cloudflare Logs.
#6. (אופציונלי) הצעדים הבאים
אחרי הגדרת ה-WAF על בסיס המידע בסעיפים הקודמים, אמורה להיות לכם הגנת בסיס חזקה מפני איומים אפשריים על היישומים שלכם.
אפשר לעיין בהמלצות הבאות כדי לקבל הגנה נוספת לתרחישי שימוש ספציפיים.
#הוספת כתובות IP מסוימות לרשימת היתר
צרו כלל מותאם אישית כדי לאפשר תעבורה רק מכתובות IP שברשימת היתר.
#חסימת מדינות ספציפיות
צרו כלל מותאם אישית כדי לחסום תעבורה ממדינות ספציפיות.
#הגדרת הגבלות קצב
צרו כלל rate limiting כדי להחיל rate limiting על נקודת קצה של התחברות.
#מניעת התקפות credential stuffing
השתמשו ב-leaked credentials detection כדי למנוע התקפות credential stuffing על היישומים שלכם.
#מניעת העלאת נוזקה ליישומים על ידי משתמשים
הערה
זמין ללקוחות Enterprise עם תוספת בתשלום.
השתמשו ב-WAF content scanning כדי לסרוק תוכן שמועלה ליישום שלכם, ולחפש תוכן זדוני.
#קבלת אבטחה נוספת ל-API שלכם
הערה
זמין ללקוחות Enterprise.
Cloudflare מגינה על ה-API שלכם מפני התקפות יישומים וניצול חולשות, חדשים וידועים, כגון התקפות SQL injection. מוצרי אבטחה ייעודיים ל-API מרחיבים את ההגנות האלה לסיכונים הייחודיים ב-API, כגון גילוי API וניהול אימות.
למידע נוסף על תכונות אבטחת ה-API של Cloudflare, עיינו ב-Cloudflare API Shield.
#הגנה על שרת המקור
למידע על הדרך למנוע מתוקפים לגלות את שרת המקור או להעמיס עליו, עיינו ב-Protect your origin server לגישה בשכבות שכוללת DNS דרך proxy, הוספת IP לרשימת היתר, ו-authenticated origin pulls.