מדריך קלאודפלייר בעברית

תיעוד 145

שדרוג כללי WAF מנוהלים

ב-2022-05-04 Cloudflare החלה בשדרוג מהגרסה הקודמת של כללי WAF מנוהלים אל כללי WAF מנוהלים החדשים, ואפשרה לקבוצה ראשונה של אזורים זכאים לעבור. כרגע כל האזורים יכולים לשדרג לכללי WAF מנוהלים, כולל חשבונות שותפים.

Cloudflare משדרגת בהדרגה את כל האזורים לגרסה החדשה של כללי WAF מנוהלים. אפשר גם להתחיל את תהליך השדרוג ידנית עבור אזור בלוח הבקרה של Cloudflare או דרך API. השדרוג בלתי הפיך: אחרי השדרוג לכללי WAF מנוהלים החדשים אי אפשר לחזור לגרסה הקודמת.

אם משתמשים בלוח הבקרה הישן, אחרי סיום השדרוג הכללים יוצגו בממשק משתמש שונה בלשונית Security > WAF > Managed rules. אם משתמשים בלוח הבקרה החדש לאבטחה, הכללים המשודרגים יוצגו ב-Security > Security rules.

בנוסף, ממשקי ה-API של כללי WAF מנוהלים יפסיקו לעבוד אחרי השדרוג.

הודעת הוצאה משימוש

ממשקי ה-API ומשאבי Terraform שקשורים לגרסה הקודמת של כללי WAF מנוהלים הוצאו משימוש. ממשקי ה-API לניהול הגרסה הקודמת של כללי WAF מנוהלים אינם נתמכים עוד מאז 2025-06-15. אותו הדבר חל על משאבי Terraform שקשורים לגרסה הקודמת של כללי WAF מנוהלים. יש להעביר את התצורה כדי להימנע מבעיות.

עיינו בשגיאות שדרוג אפשריות אם יש בעיות בשדרוג.

#היתרונות העיקריים

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

  • מנוע התאמה חדש: כללי WAF מנוהלים מופעלים על ידי Ruleset Engine, שמאפשר פריסות מהירות יותר של כללים מנוהלים ויכולת לבדוק אפילו יותר תעבורה בלי בעיות קנה מידה. הכללים עוקבים אחרי אותו תחביר שמשמש במוצרי אבטחה אחרים של Cloudflare, כמו כללי WAF מותאמים אישית.
  • ערכות כללים מנוהלים מעודכנות: Cloudflare OWASP Core Ruleset, אחת מערכות הכללים המנוהלים של WAF, מבוססת על הגרסה העדכנית של OWASP Core Ruleset (v3.x), שמוסיפה רמות paranoia ומשפרת את שיעורי ה-false positives בהשוואה לגרסה ששימשה בכללי WAF מנוהלים (2.x). יש גם יותר שליטה על ציון הרגישות, עם ציון ברור של כמה כל כלל תורם לציון ומה היה הציון הכולל של בקשה שהופעלה.
  • עיון ותצורה טובים יותר של כללים: פריסה של ערכות כללים מנוהלים בלחיצה אחת כדי לקבל הגנה מיידית. דריסה של ההתנהגות של ערכות כללים שלמות, או התאמה של כלל בודד. החלת דריסות על כל הכללים עם תגית מסוימת כדי להתאים כללים שחלים על תוכנה או וקטור תקיפה נתון. אפשר לפרוס תצורות כמו אלה:
    • פריסת Cloudflare Managed Ruleset בכל האזורים שלי.
    • פריסת Cloudflare OWASP Core Ruleset על כל התעבורה שהנתיב שלה אינו מכיל את /api/*.
    • השבתת ערכות כללים מנוהלים בכל החשבון עבור תעבורה שמגיעה מכתובת ה-IP שלי.

למידע נוסף על היתרונות של כללי WAF מנוהלים, עיינו בפוסט בבלוג ↗︎.


#השפעת השדרוג

אפשר יהיה לשדרג את כל האזורים שאין בהם דריסות WAF מבוססות URI. אותה הגנה תחול על האזור אחרי המעבר ל-WAF החדש.

רוב הגדרות התצורה מהגרסה הקודמת של כללי WAF מנוהלים ישודרגו לגרסה החדשה, אבל חלק מהתצורות הספציפיות שהוגדרו במקור ב-OWASP ModSecurity Core Rule Set יאבדו: יהיה צורך ליצור את התצורות האלה בכללי WAF מנוהלים החדשים, אם יש צורך.

למשתמשי API, ממשקי ה-API לניהול הגרסה הקודמת של כללי WAF מנוהלים יפסיקו לעבוד אחרי השדרוג. יש להשתמש ב-Rulesets API כדי לנהל את כללי WAF מנוהלים החדשים.

#תצורות שישודרגו

תהליך השדרוג ייצור תצורה מקבילה להגדרות הבאות של כללי WAF מנוהלים:

  • כללי חומת אש שמוגדרים עם Bypass > WAF Managed Rules.
  • Page Rules שמוגדרים עם Disable Security.
  • Page Rules שמוגדרים עם Web Application Firewall: Off או Web Application Firewall: On.

תצורת ערכת הכללים של OWASP תשודרג חלקית. עיינו בסעיף הבא לפרטים.

#תצורות שיאבדו בתהליך השדרוג

תהליך השדרוג יעביר חלקית את ההגדרות של OWASP ModSecurity Core Rule Set שזמינות בגרסה הקודמת של כללי WAF מנוהלים.

הגדרות OWASP הבאות יועברו:

רגישות ישנהPL ב-OWASP החדשסף ציון ב-OWASP החדש
HighPL2Medium: 40 ומעלה
MediumPL1High: 25 ומעלה
LowPL1Medium: 40 ומעלה
DefaultPL2Medium: 40 ומעלה
  • Action: לפעולה בערכת הכללים הקודמת של OWASP יש מיפוי כמעט ישיר בערכת הכללים המנוהלת החדשה של OWASP, למעט פעולת Simulate שתועבר ל-Log.

הגדרות OWASP הבאות לא יועברו, כי אין שקילות ישירה בין כללים בשתי הגרסאות:

  • דריסות קבוצות OWASP
  • דריסות כללי OWASP

כדי להחליף את ההגדרות האלה יהיה צורך להגדיר מחדש את Cloudflare OWASP Core Ruleset בכללי WAF מנוהלים לפי הצרכים, כלומר כל דריסות תגית או כלל. למידע נוסף על הגדרת OWASP Core Ruleset החדש, עיינו בCloudflare OWASP Core Ruleset.

#תצורות שימנעו שדרוג

אם לאזור יש דריסות WAF מבוססות URI (זמינות רק דרך API), לא תהיה אפשרות לשדרג לכללי WAF מנוהלים. כדי לשדרג לכללי WAF מנוהלים יש:

  1. למחוק כל דריסות WAF מבוססות URI קיימות באמצעות פעולת Delete a WAF override.
  2. לבצע את תהליך השדרוג שמתואר בהמשך.

#שינויים בלוח הבקרה של Cloudflare

אחרי השלמת תהליך השדרוג, לוח הבקרה של Cloudflare יציג את הכללים ב:

  • לוח בקרה ישן: לשונית Security > WAF > Managed rules (בממשק משתמש שונה)
  • לוח בקרה חדש: Security > Security rules

בניגוד לכללי WAF המנוהלים הישנים, אין עוד הגדרת הפעלה או כיבוי גלובלית להפעלת ה-WAF. במקום זאת, פורסים כל ערכת כללים מנוהלת בנפרד באזור.

למידע נוסף על פריסת כללי WAF מנוהלים בלוח הבקרה של Cloudflare, עיינו בפריסת ערכת כללי WAF מנוהלת בלוח הבקרה.

#שינויי API

אחרי השלמת השדרוג, ממשקי ה-API לאינטראקציה עם כללי WAF מנוהלים יפסיקו לעבוד. ממשקי ה-API האלה הם:

זהירות

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

כדי לעבוד עם כללי WAF מנוהלים יש להשתמש ב-Rulesets API. למידע נוסף על פריסת כללי WAF מנוהלים דרך API, עיינו בפריסת ערכת כללי WAF מנוהלת דרך API (אזור).

#שינויי Terraform

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

המשאבים האלה נתמכו רק בספק Terraform של Cloudflare עד גרסה 3.35. גרסה 4.x כבר לא תומכת במשאבים האלה ↗︎.

כדי לנהל את התצורה של כללי WAF מנוהלים החדשים באמצעות Terraform, יש להשתמש במשאבי cloudflare_ruleset ↗︎.


#אזורים זכאים

#שלב 2 (מאז 2022-09-19)

הודעת עדכון

ב-2023-08-18 Cloudflare הוסיפה תמיכה בשדרוג חשבונות שותפים לכללי WAF מנוהלים החדשים.

בשלב 2 כל האזורים זכאים לשדרוג. הליך השדרוג המדויק משתנה לפי תוכנית Cloudflare.

  • לקוחות Pro ו-Business יכולים לשדרג לכללי WAF מנוהלים החדשים בלוח הבקרה של Cloudflare או דרך API. אחרי הפעלת הגרסה החדשה, הגרסה הקודמת של כללי WAF מנוהלים תושבת אוטומטית.
  • לקוחות Enterprise יכולים להפעיל את התצורה החדשה של כללי WAF מנוהלים תוך השארת הגרסה הקודמת של כללי WAF מנוהלים פעילה, וכך לבדוק את ההשפעה של תצורת ה-WAF החדשה. אחרי בדיקת ההתנהגות של התצורה החדשה וביצוע ההתאמות הנדרשות לכללים מנוהלים ספציפיים, משתמשי Enterprise יכולים לסיים את השדרוג, וזה ישבית את הגרסה הקודמת של כללי WAF מנוהלים.

הערה: אזורים שיש להם דריסות WAF מבוססות URI, שאפשר היה לנהל רק דרך API, לא יוכלו לשדרג מיד לכללי WAF מנוהלים החדשים. יש למחוק את הדריסות האלה לפני ההעברה.

#שלב 1 (מאז 2022-05-04)

בשלב 1 השדרוג הפך זמין לתת קבוצה של אזורים זכאים, שהיו צריכים לעמוד בדרישות הבאות:

  • לאזור יש:
    • WAF מושבת, או
    • WAF מופעל ורק Cloudflare Managed Ruleset מופעל (OWASP ModSecurity Core Rule Set חייב להיות מושבת).
  • לאזור אין כללי חומת אש או Page Rules שעוקפים, מפעילים או משביתים כללי WAF מנוהלים:
    • כללי חומת אש שמוגדרים עם Bypass > WAF Managed Rules.
    • Page Rules שמוגדרים עם Disable Security.
    • Page Rules שמוגדרים עם Web Application Firewall: Off או Web Application Firewall: On.
  • לאזור אין דריסות WAF מבוססות URI (זמינות רק דרך API).

#התחלת השדרוג

אפשר להתחיל את שדרוג ה-WAF בלוח הבקרה של Cloudflare או דרך API.

#שימוש בלוח הבקרה

  1. התחבר אל לוח הבקרה של Cloudflare ↗︎, ובחר את החשבון ואת האזור שלך.

  2. א) אם אתה משתמש בלוח הבקרה הישן:

    • עבור אל Security > WAF > לשונית Managed rules.

    ב) אם אתה משתמש בלוח הבקרה החדש לאבטחה:

    1. עבור אל הדף Security rules. עבור אל Security rules ↗
    2. בחר Go to upgrade your Managed rules.

    אם אתה לקוח Enterprise, לוח הבקרה יציג את הבאנר הבא:באנר השדרוג שמוצג ללקוחות Enterprise. אם אתה לקוח Professional/Business, לוח הבקרה יציג את הבאנר הבא: באנר השדרוג שמוצג ללקוחות Pro/Business.

  3. בבאנר השדרוג, בחר Review configuration. באנר זה מוצג רק באזורים זכאים.

  4. עיין בתצורת ה-WAF המוצעת. אפשר להתאים את התצורה, למשל עריכת תצורת WAF Managed Rules או יצירת חריגים כדי לדלג על ההרצה של rulesets או כללים מסוימים.

  5. כשמסיימים את העיון, בחר Deploy כדי לפרוס את תצורת WAF Managed Rules החדשה.

    אם אתה לקוח Professional/Business, Cloudflare תפרוס את תצורת ה-WAF החדשה ואז תשבית את גרסת ה-WAF הקודמת. תהליך השדרוג עשוי להימשך כמה דקות.

    אם אתה לקוח Enterprise, שתי הטמעות ה-WAF יופעלו בו זמנית כשתבחר Deploy, כדי שתוכל לאמת את התצורה החדשה. עיין בשלבים בסעיף הבא להנחיה נוספת.

#אימות תצורת ה-WAF החדשה וסיום השדרוג (לקוחות Enterprise בלבד)

אם אתה לקוח Enterprise, אחרי פריסת תצורת ה-WAF החדשה שתי הטמעות ה-WAF יופעלו בו זמנית. בשלב זה (שנקרא validation mode), אפשר לגשת אל שתי ההטמעות של WAF Managed Rules בלוח הבקרה של Cloudflare, שימשיך להציג את באנר השדרוג עד שתסיים את השדרוג. WAF Managed Rules החדשים ירוצו לפני הגרסה הקודמת.

  1. השתמש ב-validation mode הנוכחי כדי לבדוק את ההתנהגות של תצורת ה-WAF החדשה בSecurity Events. למידע נוסף, עיין בניתוח התנהגות ה-WAF החדש ב-Security Events.
  2. כשמסיימים את העיון בתצורה כששני ה-WAF מופעלים, בחר Ready to update בבאנר השדרוג, ואז בחר Turn off previous version. פעולה זו תשלים את השדרוג ותשבית את גרסת ה-WAF הקודמת.

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

  • לוח בקרה ישן: Security > WAF > לשונית Managed rules
  • לוח בקרה חדש: Security > Security rules

כדי לבדוק אם השדרוג הסתיים, רענן את לוח הבקרה.

הערה

תהליך השדרוג יכול להימשך עד שעה. במהלך תקופה זו ייתכן שתראה אירועי אבטחה משתי הגרסאות של WAF managed rules.

#שימוש ב-API

  1. השתמש בפעולה Check WAF update compatibility כדי לקבוע אם האזור יכול להתעדכן ל-WAF החדש, לפי התצורה הנוכחית שלו:

    curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/waf_migration/check?phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>"

    תשובה לדוגמה:

    {
        "result": {
            "compatible": true,
            "migration_state": "start"
        },
        "success": true,
        "errors": [],
        "messages": []
    }

    אם התשובה כוללת "compatible": true, המשמעות היא שהאזור יכול להתעדכן ל-WAF החדש ואפשר להמשיך בתהליך השדרוג. אם התשובה כוללת "compatible": false, המשמעות היא שהאזור שלך אינו זכאי לשדרוג, לפי התצורה הנוכחית שלו. עיין באזורים זכאים לפרטים.

  2. כדי לקבל את תצורת ה-WAF החדשה שתואמת לתצורה הנוכחית שלך, השתמש בפעולה Get new WAF configuration:

    curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/waf_migration/config?phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>"

    תשובה לדוגמה:

    {
        "result": {
            "name": "default",
            "rules": [
                {
                    "id": "",
                    "version": "",
                    "action": "execute",
                    "expression": "true",
                    "description": "",
                    "ref": "",
                    "enabled": true,
                    "action_parameters": {
                        "id": "efb7b8c949ac4650a09736fc376e9aee",
                        "overrides": {
                            "rules": [
                                {
                                    "id": "23ee7cebe6e8443e99ecf932ab579455",
                                    "action": "log",
                                    "enabled": false
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "success": true,
        "errors": [],
        "messages": []
    }

התצורה שמוחזרת בדוגמה שלמעלה, שתתאים לתצורה הקיימת של גרסת ה-WAF הקודמת, מכילה:

  • כלל שמריץ את Cloudflare Managed Ruleset (מזהה ruleset efb7b8c949ac4650a09736fc376e9aee).
  • דריסה יחידה לכלל Apache Struts - Open Redirect - CVE:CVE-2013-2248 (מזהה כלל 23ee7cebe6e8443e99ecf932ab579455) באותו ruleset, שמגדירה את הפעולה ל-log ומשביתה את הכלל.
  1. (אופציונלי, ללקוחות Enterprise בלבד) אם אתה משדרג אזור Enterprise אל WAF Managed Rules, אפשר להיכנס ל-validation mode לפני סיום השדרוג. במצב זה, שתי הטמעות ה-WAF יופעלו. השתמש בפעולה Update a zone entry point ruleset, וודא שאתה כולל את פרמטרי מחרוזת השאילתה waf_migration=validation&phase_two=1:

    curl --request PUT \
    "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_request_firewall_managed/entrypoint?waf_migration=validation&phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>" \
    --header "Content-Type: application/json" \
    --data '{
      "name": "default",
      "rules": [
        {
          "action": "execute",
          "expression": "true",
          "description": "",
          "enabled": true,
          "action_parameters": {
            "id": "efb7b8c949ac4650a09736fc376e9aee",
            "overrides": {
              "rules": [
                {
                  "id": "23ee7cebe6e8443e99ecf932ab579455",
                  "action": "log",
                  "enabled": false
                }
              ]
            }
          }
        }
      ]
    }'

    אחרי הפעלת נקודת הקצה הזו של ה-API, גם WAF managed rules וגם WAF Managed Rules יהיו מופעלים. בדוק יומנים שנדגמו ב-Security Events לאיתור תעבורה לגיטימית שנחסמת, ובצע את ההתאמות הנדרשות לתצורת WAF Managed Rules. לדוגמה, אפשר להוסיף דריסה לכלל יחיד שמשביתה אותו או משנה את הפעולה שלו.

  2. כדי לסיים את השדרוג ולהשבית את WAF managed rules, הגדר את התצורה של ה-WAF החדש באמצעות ההגדרות שקיבלת בשלב 2 ואולי התאמת בשלב 3. ודא שאתה כולל את פרמטרי מחרוזת השאילתה waf_migration=pending&phase_two=1.

    curl --request PUT \
    "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_request_firewall_managed/entrypoint?waf_migration=pending&phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>" \
    --header "Content-Type: application/json" \
    --data '{
      "name": "default",
      "rules": [
        {
          "id": "",
          "version": "",
          "action": "execute",
          "expression": "true",
          "description": "",
          "ref": "",
          "enabled": true,
          "action_parameters": {
            "id": "efb7b8c949ac4650a09736fc376e9aee",
            "overrides": {
              "rules": [
                {
                  "id": "23ee7cebe6e8443e99ecf932ab579455",
                  "action": "log",
                  "enabled": false
                }
              ]
            }
          }
        }
      ]
    }'

ברגע שהתצורה שסופקה נשמרת ו-WAF Managed Rules החדשים מופעלים, הגרסה הקודמת של WAF managed rules תושבת אוטומטית, בגלל נוכחות הפרמטרים waf_migration=pending&phase_two=1. כך מובטח שהאזור שלך יישאר מוגן על ידי אחת מגרסאות ה-WAF במהלך תהליך העדכון.

הערה

לקוחות Pro ו-Business, שאין להם גישה ל-validation mode שמתואר בשלב 3, יכולים לעדכן את הכללים (ואת הדריסות) ב-ruleset של נקודת הכניסה של האזור שלהם בלי להפעיל את השדרוג, על ידי השמטת הפרמטרים waf_migration=pending&phase_two=1. עם זאת, כל הכללים בתצורה שלהם חייבים להיות מושבתים ("enabled": false). רק לקוחות Enterprise יכולים להגדיר כללים (מופעלים) שפורסים Managed Rulesets בלי להפעיל את השדרוג.


#ניתוח התנהגות ה-WAF החדש ב-Security Events

#ללקוחות Enterprise

אם אתה לקוח Enterprise, השתמש ב-validation mode של תהליך שדרוג ה-WAF כדי לבדוק את ההתנהגות של תצורת WAF Managed Rules החדשה. Cloudflare מפעילה את validation mode אחרי שאתה פורס את תצורת ה-WAF החדשה. במצב זה, גרסת ה-WAF הקודמת עדיין מופעלת, כדי שתוכל לאמת את ההתנהגות של התצורה החדשה במהלך תהליך השדרוג. WAF Managed Rules החדשים ירוצו לפני הגרסה הקודמת.

עבור אל יומנים שנדגמו ב-Security Events במהלך validation mode ובדוק את אלה:

  • חפש בקשות שה-WAF החדש התיר ושגרסת ה-WAF הקודמת מטפלת בהן (לדוגמה, באמצעות פעולת challenge או block). אם זה קורה, שקול לכתוב כלל firewall או כלל WAF מותאם אישית כדי לטפל בבקשות שזיהית קודם.
  • חפש בקשות לגיטימיות שה-WAF החדש חוסם. במצב זה, ערוך את כלל ה-WAF המנוהל שחוסם את הבקשות האלה, שנה את הפעולה שמבוצעת או השבת את הכלל. למידע נוסף, עיין בהגדרת managed ruleset.

#ללקוחות Business/Professional

ללקוחות Business ו-Professional אין גישה ל-validation mode, והמשמעות היא שהם יוכלו לבדוק את התנהגות ה-WAF החדש אחרי שהם משדרגים אל WAF Managed Rules החדשים.

בימים שאחרי השדרוג, בדוק יומנים שנדגמו ב-Security Events וחפש בקשות לגיטימיות ש-WAF Managed Rules חוסמים. אם זיהית בקשות שנחסמו באופן שגוי, התאם את פעולת כלל ה-WAF המתאים ל-Log. למידע נוסף על שינוי הפעולה של כלל ב-managed ruleset, עיין בהגדרת כללים בודדים של managed ruleset.

בנוסף, בדוק אם יש בקשות שהיו אמורות להיחסם. במצב זה, שקול ליצור כלל firewall או כלל WAF מותאם אישית כדי לחסום את הבקשות האלה.


#פעולות API

שדרוג אל WAF Managed Rules החדשים דרך API דורש הפעלה של פעולות ה-API הבאות:

שםשיטה + נקודת קצהתיאור
בדיקת תאימות
לעדכון WAF
GET /zones/<ZONE_ID>/waf_migration/check?phase_two=1בודק אם אפשר לעדכן את האזור הנוכחי ל-WAF החדש, לפי התצורה הנוכחית שלו.
קבלת תצורת
WAF חדשה
GET /zones/<ZONE_ID>/waf_migration/config?phase_two=1מקבל את תצורת WAF Managed Rules החדשה ששקולה לתצורה הנוכחית (הגרסה הקודמת של WAF managed rules).
עדכון ה-ruleset
של נקודת הכניסה של האזור
PUT /zones/<ZONE_ID>/rulesets/ phases/http_request_firewall_managed/entrypoint?waf_migration=<VALUE>&phase_two=1מעדכן את התצורה של ה-ruleset של נקודת הכניסה של האזור עבור השלב http_request_firewall_managed.
ערכים זמינים לפרמטר מחרוזת השאילתה waf_migration:
- pending / 1: מגדיר את תצורת WAF Managed Rules החדשה ומשבית את הגרסה הקודמת של WAF managed rules ברגע שהתצורה שסופקה נשמרת וה-WAF החדש מופעל.
- validation / 2: (אזורי Enterprise בלבד) מגדיר את תצורת WAF Managed Rules החדשה ומפעיל את WAF Managed Rules החדשים זה לצד זה עם הגרסה הקודמת, וכניסה ל-validation mode. כדי לצאת מ-validation mode ולסיים את השדרוג, הפעל את אותה נקודת קצה של ה-API עם waf_migration=pending.
קבלת סטטוס WAFGET /zones/<ZONE_ID>/waf_migration/statusמקבל את הסטטוס של WAF managed rules ישנים וחדשים עבור אזור (מופעל/מושבת). התשובה כוללת גם את מצב השדרוג הנוכחי (או המצב).

יש להוסיף את כתובת הבסיס של Cloudflare API לפני נקודות הקצה שברשימה למעלה כדי לקבל את נקודת הקצה המלאה:

https://api.cloudflare.com/client/v4


#שגיאות אפשריות בשדרוג

פנה אל Cloudflare Support לקבלת עזרה עם השגיאות הבאות:

  • מספר כללי ה-firewall להעברה עולה על 200.
  • האורך של ביטוי כלל firewall ארוך מ-4 KB.

#משאבים נוספים

#הגדרת WAF Managed Rules החדשים באמצעות Cloudflare API

במקום להשתמש ב-API הקודמים לניהול חבילות WAF, קבוצות כללים וכללים, כעת יש להשתמש ב-Rulesets API כדי להגדיר באופן תכנותי את WAF Managed Rules.

אפשר גם ליצור overrides כדי לציין שינויים שיופעלו מעל תצורת ברירת המחדל של WAF Managed Rules. שינויים אלה יקבלו קדימות על פני התנהגות ברירת המחדל של ה-managed ruleset.

למידע נוסף, עיין במשאבים הבאים:

#הגדרת WAF Managed Rules החדשים באמצעות Terraform

במקום להשתמש במשאבים הקודמים לניהול חבילות WAF, קבוצות כללים וכללים, כעת יש להשתמש במשאב Terraform‏ cloudflare_ruleset ↗︎ כדי להגדיר את WAF Managed Rules. לדוגמאות תצורה, עיין ב-הגדרת WAF Managed Rules באמצעות Terraform.

#החלפת התצורה באמצעות cf-terraforming

אפשר להשתמש בכלי cf-terraforming ↗︎ כדי ליצור את תצורת Terraform עבור תצורת WAF Managed Rules החדשה לאחר השדרוג. לאחר מכן, ייבא את המשאבים החדשים ל-Terraform state.

השלבים המומלצים להחלפת תצורת כללי ה-WAF המנוהלים הישנה ב-Terraform בתצורה חדשה מבוססת ruleset עבור WAF Managed Rules החדשים הם:

  1. הרץ את הפקודה הבאה כדי ליצור את כל תצורות ה-ruleset עבור אזור:

    cf-terraforming generate --zone <ZONE_ID> --resource-type "cloudflare_ruleset"
    resource "cloudflare_ruleset" "terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31" {
      kind    = "zone"
      name    = "default"
      phase   = "http_request_firewall_managed"
      zone_id = "<ZONE_ID>"
      rules {
        [...]
      }
      [...]
    }
    [...]
  2. הפקודה הקודמת עשויה להחזיר תצורות ruleset נוספות עבור מוצרי Cloudflare אחרים שגם הם מבוססים על Ruleset Engine. מאחר שמחפשים את תצורת WAF Managed Rules, שמור רק את משאב Terraform עבור השלב http_request_firewall_managed ושמור אותו בקובץ תצורה .tf. בשלב הבא תצטרך את שם המשאב המלא.

  3. ייבא את משאב cloudflare_ruleset שזיהית קודם ל-Terraform state באמצעות הפקודה terraform import. לדוגמה:

    terraform import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31 zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31
     cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Importing from ID "zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31"...
     cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Import prepared!
       Prepared cloudflare_ruleset for import
     cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31]
    
     Import successful!
    
     The resources that were imported are shown above. These resources are now in
     your Terraform state and will henceforth be managed by Terraform.
  4. הרץ את terraform plan כדי לוודא ש-Terraform בודק כעת את המצב של משאב cloudflare_ruleset החדש, בנוסף למשאבים קיימים אחרים שכבר מנוהלים על ידי Terraform. לדוגמה:

    terraform plan
    cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31]
    [...]
    cloudflare_waf_package.my_package: Refreshing state... [id=14a2524fd75c419f8d273116815b6349]
    cloudflare_waf_group.my_group: Refreshing state... [id=0580eb5d92e344ddb2374979f74c3ddf]
    [...]
  5. הסר מ-Terraform state כל מצב שקשור לגרסה הקודמת של כללי WAF המנוהלים:

    זהירות

    יש להסיר חבילות, קבוצות וכללים של WAF מ-Terraform state לפני מחיקת התצורה שלהם מקובצי תצורה .tf, כדי למנוע בעיות.

    1. הרץ את הפקודה הבאה כדי למצוא את כל המשאבים שקשורים לגרסה הקודמת של כללי WAF המנוהלים:

      terraform state list | grep -E '^cloudflare_waf_(package|group|rule)\.'
      cloudflare_waf_package.my_package
      cloudflare_waf_group.my_group
    2. הרץ את הפקודה terraform state rm ... במצב dry-run כדי להבין את ההשפעה של הסרת המשאבים האלה בלי לבצע שינויים:

      terraform state rm -dry-run cloudflare_waf_package.my_package cloudflare_waf_group.my_group
      Would remove cloudflare_waf_package.my_package
      Would remove cloudflare_waf_group.my_group
    3. אם ההשפעה נראית נכונה, הרץ את אותה פקודה בלי הפרמטר -dry-run כדי להסיר בפועל את המשאבים מ-Terraform state:

      terraform state rm cloudflare_waf_package.my_package cloudflare_waf_group.my_group
      Removed cloudflare_waf_package.my_package
      Removed cloudflare_waf_group.my_group
      Successfully removed 2 resource instance(s).
  6. לאחר הסרת משאבי חבילת WAF, קבוצה וכלל מ-Terraform state, מחק את המשאבים cloudflare_waf_package, cloudflare_waf_group ו-cloudflare_waf_rule מקובצי התצורה .tf.

  7. הרץ את terraform plan כדי לוודא שהמשאבים שמחקת מקובצי התצורה כבר לא מופיעים. לא אמורות להיות שינויים ממתינים.

    terraform plan
    cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31]
    [...]
    
    No changes. Your infrastructure matches the configuration.
    
    Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.

לפרטים על ייבוא משאבי Cloudflare ל-Terraform ועל שימוש בכלי cf-terraforming, עיין במשאבים הבאים:


#הערות לסיום

מושג רמת הפרנויה לא היה קיים בגרסת OWASP‏ (2.x) ששימשה בכללי WAF המנוהלים. על בסיס המלצות מדריך OWASP, תהליך ההעברה של ה-WAF יגדיר את רמת הפרנויה של Cloudflare OWASP Core Ruleset ל-PL2.

לא ניתן להשבית את הגרסה החדשה של WAF Managed Rules באמצעות Page Rules, מאחר שההגדרה Web Application Firewall: Off ב-Page Rules חלה רק על הגרסה הקודמת של כללי WAF המנוהלים. כדי להשבית את WAF Managed Rules החדשים יש להגדיר חריגים (המכונים גם skip rules).