תיעוד 139
שדרוג כללי חומת אש
Cloudflare שדרגה כללי חומת אש קיימים לכללים מותאמים אישית. עם כללים מותאמים אישית מתקבלת אותה רמת הגנה, ועוד כמה יכולות נוספות. כללים מותאמים אישית זמינים בלוח הבקרה של Cloudflare במיקומים הבאים:
- לוח בקרה ישן: Security > WAF > Custom rules.
- לוח בקרה חדש של אבטחה: Security > Security rules.
הודעת הוצאה משימוש
Cloudflare Firewall Rules הוצא משימוש. ה-API של Firewall Rules וה-API של Filters, וגם משאבי Terraform בשם cloudflare_firewall_rule ו-cloudflare_filter, אינם נתמכים עוד מאז 2025-06-15. אם יש לך אוטומציה שמבוססת על ממשקי ה-API ועל המשאבים האלה, עליך לעבור לממשקי ה-API ולמשאבים החדשים כדי למנוע בעיות.
אם עדיין לא שדרגת לכללים מותאמים אישית של WAF, ייתכן שיש לך תצורה לא תקינה שמונעת את השדרוג. במקרה כזה, פנה לצוות החשבון שלך לקבלת עזרה בשדרוג לכללים מותאמים אישית של WAF.
#ההבדלים העיקריים
ההבדלים העיקריים בין כללי חומת אש לבין כללים מותאמים אישית של WAF הם אלה:
- תגובה משופרת לפעולת Block
- דף שגיאה שונה לבקשות שנחסמו
- פעולת Skip חדשה שמחליפה את פעולות Allow ו-Bypass
- כללים מותאמים אישית מוערכים לפי הסדר
- יומנים ואירועים
- API ומשאבי Terraform חדשים
#תגובה משופרת לפעולת Block
בכללים מותאמים אישית של WAF אפשר להתאים את התגובה של פעולת Block.
תגובת החסימה המוגדרת כברירת מחדל היא דף HTML סטנדרטי של Cloudflare. אם צריך לשלוח תגובה מותאמת אישית לפעולות Block, הגדר את הכלל המותאם אישית כך שיחזיר תגובה קבועה עם קוד תגובה מותאם אישית (403, כברירת מחדל) וגוף מותאם אישית (HTML, JSON, XML או טקסט רגיל).
הערה
תצורות של תגובת חסימה מותאמת אישית אינן מוחזרות על ידי ה-API של Firewall Rules. יש להשתמש ב-Rulesets API כדי לנהל את היכולת החדשה הזו.
#דף שגיאה שונה לבקשות שנחסמו
בקשות שנחסמו על ידי כלל חומת אש עם פעולת Block קיבלו תגובה עם קוד שגיאה 1020 של Cloudflare. משתמשי Cloudflare יכלו להתאים את דף השגיאה הזה לאזור ב-Error Pages > 1000 class errors.
בקשות שנחסמו על ידי כלל מותאם אישית של WAF יקבלו תגובה שונה: תגובת החסימה של WAF. כדי להתאים את תגובת החסימה המוגדרת כברירת מחדל, אפשר לבחור באחת מהאפשרויות הבאות:
- להגדיר תגובת חסימה מותאמת אישית של WAF לכל האזור ב-Error Pages ↗︎ > WAF block. לדף השגיאה הזה תמיד יהיה סוג תוכן HTML.
- להגדיר תגובה מותאמת אישית לבקשות שנחסמו על ידי כלל מותאם אישית מסוים של WAF. התגובה המותאמת אישית הזו תומכת גם בסוגי תוכן נוספים מלבד HTML.
אם התאמת את דף השגיאה 1XXX ב-Error Pages עבור בקשות שנחסמו על ידי כללי חומת אש, יהיה צורך ליצור דף תגובה חדש לבקשות שנחסמו באמצעות אחת מהשיטות שלמעלה.
למידע נוסף על Error Pages, עיין ב-Custom Errors.
#פעולת Skip חדשה שמחליפה את פעולות Allow ו-Bypass
Firewall Rules תמך בפעולות Allow ו-Bypass, ששימשו לעיתים קרובות יחד. הפעולות האלה שימשו בדרך כלל לטיפול בבקשות לגיטימיות מוכרות, למשל בקשות שמגיעות מכתובות IP מהימנות.
כאשר בקשה הפעילה את Allow, כל שאר כללי חומת האש לא הוערכו, והבקשה המשיכה בפועל למוצר האבטחה הבא. פעולת Bypass נועדה לציין אילו מוצרי אבטחה (כמו כללים מנוהלים של WAF, כללי הגבלת קצב ו-User Agent Blocking) לא ירוצו על הבקשה שמפעילה את הפעולה.
עם Firewall Rules, אם רצית להפסיק את ההרצה של כל מוצרי האבטחה עבור בקשה נתונה, יצרת שני כללים:
- כלל אחד עם פעולת Bypass (בחירה של כל מוצרי האבטחה).
- כלל אחד עם פעולת Allow (כדי להפסיק את הביצוע של כללי חומת אש אחרים).
הדרישה לשני כללים כדי לטפל בתרחיש הנפוץ הזה אינה חלה עוד על כללים מותאמים אישית של WAF. כעת יש להשתמש בפעולת Skip, שמשלבת את פעולות Allow ו-Bypass. פעולת Skip מחליפה במלואה את פעולות Allow ו-Bypass, שאינן נתמכות בכללים מותאמים אישית של WAF.
עם פעולת Skip אפשר לבצע את הפעולות הבאות:
- להפסיק את ההרצה של כל שאר הכללים המותאמים אישית (מקביל לפעולת Allow)
- להימנע מהרצה של מוצרי אבטחה אחרים (מקביל לפעולת Bypass)
- שילוב של האפשרויות שלמעלה.
אפשר גם לבחור אם לרשום ביומן אירועים שתואמים לכלל המותאם אישית עם פעולת Skip. זה שימושי במיוחד כשיוצרים מודל אבטחה חיובי, כדי להימנע מרישום כמויות גדולות של תעבורה לגיטימית.
הערה
ה-API של Firewall Rules אינו תומך בפעולת Skip. כשיוצרים כלל מותאם אישית עם פעולת Skip, הוא מתורגם ל-Allow ול-Bypass ב-API של Firewall Rules. יש להשתמש ב-Rulesets API כדי להשתמש במלוא הפונקציונליות של פעולת Skip החדשה.
#כללים מותאמים אישית מוערכים לפי הסדר
לפעולות של כללי חומת אש היה סדר קדימות מסוים כשהשתמשו בסידור לפי עדיפות. לעומת זאת, לפעולות של כללים מותאמים אישית אין סדר כזה. כללים מותאמים אישית תמיד מוערכים לפי הסדר, ופעולות מסוימות כמו Block עוצרות את ההערכה של כללים אחרים.
לדוגמה, אם השתמשת בסידור לפי עדיפות והיו לך כללי חומת האש הבאים עם אותה עדיפות, ושניהם תואמים לבקשה נכנסת:
- כלל חומת אש #1: Priority: 2 / Action: Block
- כלל חומת אש #2: Priority: 2 / Action: Allow
הבקשה הייתה מורשית, כי לפעולת Allow ב-Firewall Rules הייתה קדימות על פני פעולת Block.
לעומת זאת, אם יוצרים שני כללים מותאמים אישית ושניהם תואמים לבקשה נכנסת:
- כלל מותאם אישית #1: Action: Block
- כלל מותאם אישית #2: Action: Skip (מוגדר לדלג על כל שאר הכללים המותאמים אישית)
הבקשה תיחסם, כי כללים מותאמים אישית מוערכים לפי הסדר, ופעולת Block עוצרת את ההערכה של כללים אחרים.
הערה
עבור הכללים המותאמים אישית שהומרו מכללי חומת האש הקיימים שלך, Cloudflare ישמור על סדר הביצוע הנוכחי שלך.
#יומנים ואירועים
אירועים שנרשמים על ידי כללים מותאמים אישית מוצגים ב-Security Events עם Custom Rules כמקור שלהם.
ייתכן שעדיין תמצא אירועים שנוצרו על ידי Firewall Rules בדף Security Events כשבוחרים טווח זמן שכולל את הימים שבהם התרחש המעבר לכללים מותאמים אישית. באופן דומה, ייתכן שעדיין תמצא אירועים עם פעולות Skip וגם Allow באותה תצוגה במהלך תקופת המעבר.
#API ומשאבי Terraform חדשים
ה-API המועדף לניהול כללים מותאמים אישית של WAF הוא Rulesets API. Rulesets API משמש בכל מוצרי האבטחה העדכניים של Cloudflare כדי לספק חוויית משתמש אחידה בעבודה מול ה-API. למידע נוסף על מעבר ל-Rulesets API, עיין ב-שינויים רלוונטיים למשתמשי API.
ה-API של Firewall Rules וה-API של Filters אינם נתמכים עוד מאז 2025-06-15. כעת יש רשימת כללים אחת גם לכללי חומת אש וגם לכללים מותאמים אישית של WAF, והרשימה הזו מכילה כללים מותאמים אישית של WAF. בזכות תהליך המרה פנימי, ה-API של Firewall Rules וה-API של Filters מחזירים כללי חומת אש ומסננים שהומרו מהכללים המותאמים אישית האלה של WAF עד תאריך סיום התמיכה בממשקי ה-API.
אם אתה משתמש ב-Terraform, עליך לעדכן את התצורה כך שתשתמש במשאבי cloudflare_ruleset ↗︎ עם הפאזה http_request_firewall_custom כדי לנהל כללים מותאמים אישית. למידע נוסף על עדכון תצורת Terraform, עיין ב-שינויים רלוונטיים למשתמשי Terraform.
#שינויים רלוונטיים למשתמשי לוח הבקרה
הכרטיסייה Firewall Rules בלוח הבקרה של Cloudflare הוצאה משימוש. כללי חומת אש מוצגים ככללים מותאמים אישית בלוח הבקרה של Cloudflare.
עבור משתמשים שיש להם גישה לשני המוצרים, הכרטיסייה Firewall rules זמינה רק בלוח הבקרה הישן תחת Security > WAF.
#שינויים רלוונטיים למשתמשי API
ה-Firewall Rules API וה-Cloudflare Filters API המשויך הוצאו משימוש. ממשקי ה-API האלה אינם נתמכים עוד מאז 2025-06-15. עליך לעדכן ידנית כל אוטומציה שמבוססת על Firewall Rules API או על Cloudflare Filters API ל-Rulesets API כדי למנוע בעיות. מזהי הכללים שונים בין כללי חומת אש לבין כללים מותאמים אישית, וזה עשוי להשפיע על תהליכים אוטומטיים שמטפלים במזהי כללים מסוימים.
לפני תאריך סיום התמיכה בממשקי ה-API, Cloudflare תמיר באופן פנימי את הקריאות שלך ל-Firewall Rules API ול-Filters API לקריאות המתאימות ב-Rulesets API. הקריאות המומרות בין Firewall Rules API או Filters API לבין Rulesets API מופיעות ביומני הביקורת כאילו נוצרו על ידי Cloudflare, ולא על ידי המשתמש שביצע בפועל את הבקשות. תהיה רשימת כללים אחת גם לכללי חומת אש וגם לכללים מותאמים אישית של WAF.
חלק מהיכולות החדשות של כללים מותאמים אישית של WAF, כמו תגובות מותאמות אישית לבקשות שנחסמו ופעולת Skip, אינן נתמכות ב-Firewall Rules API. כדי לנצל את היכולות האלה, Cloudflare ממליצה להשתמש בדף הכללים המותאמים אישית בלוח הבקרה של Cloudflare או ב-Rulesets API.
עיין בתיעוד של WAF לדוגמאות לניהול כללים מותאמים אישית של WAF באמצעות Rulesets API.
#שינויים רלוונטיים למשתמשי Terraform
משאבי Terraform הבאים מספק Cloudflare הוצאו משימוש:
המשאבים האלה אינם נתמכים עוד מאז 2025-06-15. אם אתה משתמש במשאבים האלה כדי לנהל את תצורת Firewall Rules, עליך לעדכן ידנית כל תצורת Terraform למשאבי cloudflare_ruleset ↗︎ כדי למנוע בעיות.
תהיה רשימת כללים אחת גם לכללי חומת אש וגם לכללים מותאמים אישית של WAF.
חלק מהיכולות החדשות של כללים מותאמים אישית של WAF אינן נתמכות במשאבי Terraform שהוצאו משימוש. כדי לנצל את היכולות האלה, Cloudflare ממליצה להשתמש במשאב cloudflare_ruleset.
עיין בתיעוד על Terraform לדוגמאות להגדרת כללים מותאמים אישית של WAF באמצעות Terraform.
#החלפת התצורה באמצעות cf-terraforming
אפשר להשתמש בכלי cf-terraforming ↗︎ כדי ליצור את תצורת Terraform עבור הכללים המותאמים אישית הנוכחיים שלך של WAF (שהומרו על ידי Cloudflare מכללי חומת האש שלך). לאחר מכן, ייבא את המשאבים החדשים למצב Terraform.
השלבים המומלצים להחלפת תצורת כללי חומת האש (והמסננים) ב-Terraform בתצורת ruleset חדשה הם אלה.
הרץ את הפקודה הבאה כדי ליצור את כל תצורות ה-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_custom" zone_id = "<ZONE_ID>" rules { [...] } [...] } [...]הפקודה הקודמת עשויה להחזיר תצורות ruleset נוספות עבור מוצרי Cloudflare אחרים שגם הם מבוססים על Ruleset Engine. מאחר שאתה מעביר כללי חומת אש לכללים מותאמים אישית, השאר רק את משאב Terraform של הפאזה
http_request_firewall_customושמור אותו בקובץ תצורה.tf. בשלב הבא תזדקק לשם המלא של המשאב.ייבא את משאב
cloudflare_rulesetשזיהית קודם למצב Terraform באמצעות הפקודהterraform import. לדוגמה:terraform import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31 zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31cloudflare_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.הרץ את
terraform planכדי לוודא ש-Terraform בודק כעת את המצב של משאבcloudflare_rulesetהחדש, בנוסף למשאבים קיימים אחרים שכבר מנוהלים על ידי Terraform. לדוגמה:terraform plancloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] [...] cloudflare_filter.my_filter: Refreshing state... [id=14a2524fd75c419f8d273116815b6349] cloudflare_firewall_rule.my_firewall_rule: Refreshing state... [id=0580eb5d92e344ddb2374979f74c3ddf] [...]הסר ממצב Terraform כל מצב שקשור לכללי חומת אש ולמסננים:
זהירות
יש להסיר כללי חומת אש ומסננים ממצב Terraform לפני מחיקת התצורה שלהם מקובצי תצורה
.tf, כדי למנוע בעיות.הרץ את הפקודה הבאה כדי למצוא את כל המשאבים שקשורים לכללי חומת אש ולמסננים:
terraform state list | grep -E '^cloudflare_(filter|firewall_rule)\.'cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_ruleהרץ את הפקודה
terraform state rm ...במצב dry-run כדי להבין את ההשפעה של הסרת המשאבים האלה בלי לבצע שינויים:terraform state rm -dry-run cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_ruleWould remove cloudflare_filter.my_filter Would remove cloudflare_firewall_rule.my_firewall_ruleאם ההשפעה נראית נכונה, הרץ את אותה פקודה בלי הפרמטר
-dry-runכדי להסיר בפועל את המשאבים ממצב Terraform:terraform state rm cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_ruleRemoved cloudflare_filter.my_filter Removed cloudflare_firewall_rule.my_firewall_rule Successfully removed 2 resource instance(s).
אחרי הסרת משאבי כללי חומת האש והמסננים ממצב Terraform, מחק את המשאבים
cloudflare_filterו-cloudflare_firewall_ruleמקובצי התצורה.tf.הרץ את
terraform planכדי לוודא שהמשאבים שמחקת מקובצי התצורה אינם מופיעים עוד. לא אמורות להיות שינויים ממתינים.terraform plancloudflare_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, עיין במשאבים הבאים:
#הערות לסיום
כל כללי חומת אש שאינם מושהים, עם מסננים מושהים, יהפכו לזמינים כשיומרו לכללים מותאמים אישית.