תיעוד 123
התחלה
עודכן לאחרונה: 3 באוגוסט 2026
#1. הפעלת הזיהוי
בתוכניות Free, זיהוי פרטי התחברות שדלפו מופעל כברירת מחדל, ואין צורך בפעולה. בתוכניות בתשלום אפשר להפעיל את הזיהוי בלוח הבקרה של Cloudflare, דרך API, או באמצעות Terraform.
- בלוח הבקרה של Cloudflare, עברו לעמוד Settings תחת Security. מעבר אל Settings
- (אופציונלי) סננו לפי Detection tools.
- הפעילו את Leaked credential detection.
השתמשו בבקשת POST דומה לבאה:
הרשאות נדרשות לאסימון API
נדרשת לפחות אחת מהרשאות האסימון הבאות:
Zone WAF WriteAccount WAF Write
עדכון הסטטוס של Leaked Credential Checks עבור אזור
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/leaked-credential-checks" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"enabled": true
}'השתמשו במשאב cloudflare_leaked_credential_check כדי להפעיל זיהוי פרטי התחברות שדלפו עבור אזור. לדוגמה:
resource "cloudflare_leaked_credential_check" "zone_lcc_example" {
zone_id = var.cloudflare_zone_id
enabled = true
}הערה
כדי להגיע לביצועי השהיה מיטביים, Cloudflare ממליצה לכבות את Exposed Credentials Checks (מימוש קודם) אחרי שמפעילים את זיהוי פרטי ההתחברות שדלפו ומגדירים את אסטרטגיית ההפחתה כפי שמתואר בשלבים הבאים.
#2. אימות ההתנהגות של זיהוי פרטי התחברות שדלפו
השתמשו ב-Security Analytics וביומני HTTP כדי לאמת ש-Cloudflare מזהה נכון פרטי התחברות שדלפו בבקשות נכנסות.
עיינו ב-בדיקת התצורה למידע נוסף על פרטי ההתחברות לבדיקה שאפשר להשתמש בהם כדי לאמת את התצורה.
לחלופין, צרו כלל מותאם אישית כמו זה שמתואר בשלב הבא, עם פעולת Log (זמינה רק ללקוחות Enterprise). הכלל הזה ייצור אירועי אבטחה שיאפשרו לאמת את התצורה.
#3. הפחתת בקשות עם פרטי התחברות שדלפו
אם אתם בתוכנית Free, פרסו את תבנית כלל הגבלת הקצב המוצעת, הזמינה תחת Security > Security rules.
כשפורסים כלל באמצעות התבנית הזו, מתקבלת הגנה מיידית מפני כתובות IP שמנסות לגשת ליישום עם סיסמה שדלפה יותר מחמש פעמים ב-10 שניות. הכלל הזה יכול לעכב מתקפות על ידי חסימתן לפרק זמן. לחלופין, אפשר ליצור כלל מותאם אישית.
לתוכניות בתשלום יש גישה לבקרות מפורטות יותר ביצירת כלל. אם אתם בתוכנית בתשלום, צרו כלל מותאם אישית שמאתגר בקשות שמכילות פרטי התחברות שדלפו:
| שדה | אופרטור | ערך |
|---|---|---|
| User and Password Leaked | equals | True |
אם משתמשים ב-Expression Editor, הזינו את הביטוי הבא:
(cf.waf.credential_check.username_and_password_leaked)פעולת הכלל: Managed Challenge
הכלל הזה יתאים לבקשות שבהן Cloudflare מזהה קבוצת פרטי התחברות (שם משתמש וסיסמה) שדלפה בעבר. לרשימת השדות שזיהוי פרטי התחברות שדלפו מספק, עיינו ב-שדות של פרטי התחברות שדלפו.
שילוב עם שדות אחרים של שפת הכללים
אפשר לשלב את הביטוי הקודם עם שדות ופונקציות אחרים של שפת הכללים. כך אפשר להתאים את היקף הכלל או לשלב בדיקת פרטי התחברות שדלפו עם תכונות אבטחה אחרות. לדוגמה:
הביטוי הבא יתאים לבקשות שמכילות פרטי התחברות שדלפו ומופנות לנקודת קצה של אימות:
שדה אופרטור ערך לוגיקה User and Password Leaked equals True And URI Path contains /admin/login.phpביטוי בשימוש בעורך:
(cf.waf.credential_check.username_and_password_leaked and http.request.uri.path contains "/admin/login.php")הביטוי הבא יתאים לבקשות שמגיעות מבוטים וכוללות פרטי אימות:
שדה אופרטור ערך לוגיקה Authentication detected equals True And Bot Score less than 10ביטוי בשימוש בעורך:
(cf.waf.auth_detected and cf.bot_management.score lt 10)
לדוגמאות נוספות, עיינו ב-כללי הפחתה לדוגמה.
#טיפול בפרטי התחברות שדלפו שזוהו בשרת המקור
בנוסף, ייתכן שתרצו לטפל בפרטי התחברות שדלפו ש-Cloudflare זיהתה, בשרת המקור:
- הפעילו את הטרנספורמציה המנוהלת Add Leaked Credentials Checks Header.
- עבור בקשות שמתקבלות בשרת המקור ומכילות את הכותרת
Exposed-Credential-Check, אפשר להפנות את משתמשי הקצה לעמוד איפוס הסיסמה כשמזוהים פרטי התחברות שדלפו בעבר.
#4. (אופציונלי) הגדרת מיקום זיהוי מותאם אישית
הערה
זמין רק ללקוחות Enterprise.
כדי לבדוק פרטי התחברות שדלפו באופן שהתצורה המוגדרת כברירת מחדל לא מכסה, הוסיפו מיקום זיהוי מותאם אישית.
בלוח הבקרה של Cloudflare, עברו לעמוד Settings תחת Security. מעבר אל Settings
(אופציונלי) סננו לפי Detection tools.
תחת Leaked credential detection > Configurations, בחרו בצלמית העריכה.
בחרו ב-Add custom username and password location.
ב-Username location וב-Password location (אופציונלי), הזינו ביטויים לקבלת שם המשתמש והסיסמה מבקשת ה-HTTP. לדוגמה, אפשר להשתמש בביטויים הבאים:
- מיקום שם המשתמש:
lookup_json_string(http.request.body.raw, "user") - מיקום הסיסמה:
lookup_json_string(http.request.body.raw, "secret")
התצורה הזו תסרוק בקשות HTTP נכנסות שמכילות גוף JSON עם מבנה דומה לזה:
{"user": "<USERNAME>", "secret": "<PASSWORD>"}עיינו בתיעוד של
lookup_json_string()למידע נוסף על הפונקציה הזו.- מיקום שם המשתמש:
בחרו ב-Save.
השתמשו בבקשת POST דומה לבאה:
הרשאות נדרשות לאסימון API
נדרשת לפחות אחת מהרשאות האסימון הבאות:
Zone WAF WriteAccount WAF Write
יצירת מיקום זיהוי מותאם אישית עבור אזור
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/leaked-credential-checks/detections" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"username": "lookup_json_string(http.request.body.raw, \"user\")",
"password": "lookup_json_string(http.request.body.raw, \"secret\")"
}'זוג ביטויי החיפוש הזה (עבור שם משתמש וסיסמה) יסרוק בקשות HTTP נכנסות שמכילות גוף JSON עם מבנה דומה לזה:
{"user": "<USERNAME>", "secret": "<PASSWORD>"}עיינו בתיעוד של lookup_json_string() למידע נוסף על הפונקציה הזו.
השתמשו במשאב cloudflare_leaked_credential_check_rule כדי להוסיף מיקום זיהוי מותאם אישית. לדוגמה:
resource "cloudflare_leaked_credential_check_rule" "custom_location_example" {
zone_id = var.cloudflare_zone_id
username = "lookup_json_string(http.request.body.raw, \"user\")"
password = "lookup_json_string(http.request.body.raw, \"secret\")"
}עיינו בתיעוד של lookup_json_string() למידע נוסף על הפונקציה הזו.
במיקומי זיהוי מותאמים אישית צריך לספק ביטוי רק עבור שם המשתמש.
לדוגמאות נוספות של מיקומי זיהוי מותאמים אישית עבור סוגי בקשות שונים, עיינו ב-מיקומי זיהוי מותאמים אישית.
#בדיקת התצורה
Cloudflare מספקת קבוצה מיוחדת של פרטי התחברות הרגישים לאותיות גדולות וקטנות, לבדיקת התצורה של זיהוי פרטי התחברות שדלפו.
אחרי הפעלה והגדרה של הזיהוי, אפשר להשתמש בפרטי ההתחברות שבסעיף הזה בבקשות ה-HTTP לבדיקה.
פרטי התחברות לבדיקה עבור משתמשים בתוכנית Free (יעבדו גם בתוכניות בתשלום):
- שם משתמש:
CF_LEAKED_USERNAME_FREE - סיסמה:
CF_LEAKED_PASSWORD
פרטי התחברות לבדיקה עבור משתמשים בתוכניות בתשלום (לא יעבדו בתוכניות Free):
- שם משתמש:
CF_EXPOSED_USERNAMEאו[email protected] - סיסמה:
CF_EXPOSED_PASSWORD
Cloudflare מתייחסת לפרטי ההתחברות הספציפיים האלה כאל פרטים שדלפו בעבר. השתמשו בהם בבדיקות כדי לבדוק את ההתנהגות של התצורה הנוכחית.