Cloudflare

במאמר הזה מוסבר איך לשלב את Cloudflare עם Google Security Operations.

תרחישי שימוש במוצר

ביצוע העשרה של ישויות

הגדרת שילוב של Cloudflare ב-Google Security Operations

הוראות מפורטות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.

פרמטרים של שילוב

משתמשים בפרמטרים הבאים כדי להגדיר את השילוב:

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
ספריית הבסיס של ה-API String https://api.cloudflare.com כן הבסיס של ה-API של מופע Cloudflare.
טוקן API סיסמה לא רלוונטי כן אסימון API של מופע Cloudflare.
Account Name String לא רלוונטי כן השם של החשבון שבו צריך להשתמש בשילוב.
אימות SSL תיבת סימון סימן אישור לא אם ההגדרה הזו מופעלת, המערכת בודקת שאישור ה-SSL של החיבור לשרת Cloudflare תקף.

איך מגדירים טוקן

  1. עוברים אל הגדרות הפרופיל ולוחצים על אסימוני API.
  2. עוברים אל Create Token > Create Custom Token (יצירת טוקן > יצירת טוקן בהתאמה אישית) ובוחרים את ההרשאות הבאות:
חשבון WAF של חשבון קריאה
חשבון כללי מדיניות בנושא כללים קריאה
חשבון רשימות של מסנני חשבונות עריכה
חשבון גישה לחומת האש של החשבון עריכה
חשבון חומת אש של DNS קריאה
חשבון הגדרות חשבון קריאה
תחום (zone) Zone WAF עריכה
תחום (zone) הגדרות אזור קריאה
תחום (zone) תחום (zone) קריאה
תחום (zone) יומנים קריאה
תחום (zone) שירותי חומת אש עריכה
תחום (zone) שירותי חומת אש קריאה
תחום (zone) Analytics קריאה

רשימת ההרשאות הנדרשות

פעולות

הוספת כתובת IP לרשימת הכללים

תיאור

מוסיפים כתובות IP לרשימת הכללים ב-Cloudflare. יחידות נתמכות: כתובת IP.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם הכלל String לא רלוונטי כן מציינים את השם של רשימת הכללים שאליה רוצים להוסיף פריטים.
תיאור String לא רלוונטי לא מציינים תיאור לפריטים החדשים ברשימת הכללים.

הפעלה ב-

הפעולה הזו מופעלת על ישות של כתובת IP.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "result": {
        "operation_id": "f16b978552ca49f88b36fe628de31142"
    },
    "success": true,
    "errors": [],
    "messages": []
}
Case Wall
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם קוד הסטטוס 200 מדווח על ישות אחת (is_success=true): "הוספנו בהצלחה את הישויות הבאות לרשימת הכללים {name} ב-Cloudflare:‏ {entity.identifier}".

אם הפעולה לא הצליחה עבור ישות אחת (is_success=true): "הפעולה לא הצליחה להוסיף את הישויות הבאות לרשימת הכללים {name} ב-Cloudflare:‏ {entity.identifier}".

אם הפעולה לא בוצעה בהצלחה עבור כל הישויות (is_success=false): 'אף אחת מהישויות שצוינו לא נוספה לרשימת הכללים {name}'.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדווחת שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת או שגיאה אחרת: "שגיאה בהפעלת הפעולה 'הוספת כתובת IP לרשימת הכללים'. הסיבה: {0}''.format(error.Stacktrace)

אם הרשימה לא נמצאה: "שגיאה בהפעלת הפעולה 'הוספת כתובת IP לרשימת כללים'. סיבה: רשימת הכללים {name} לא נמצאה ב-Cloudflare.''

אם הרשימה לא מהסוג התקין: "שגיאה בהפעלת הפעולה 'הוספת כתובת IP לרשימת כללים'. הסיבה: רשימת הכללים {name} היא לא מהסוג 'IP'".

כללי

הוספת כתובת URL לרשימת הכללים

תיאור

מוסיפים כתובות URL לרשימת הכללים ב-Cloudflare. ישויות נתמכות: כתובת URL.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם הכלל String לא רלוונטי כן מציינים את השם של רשימת הכללים שאליה רוצים להוסיף פריטים.
כתובת ה-URL של המקור String לא רלוונטי כן מציינים את כתובת ה-URL של המקור לפריט ברשימת הכללים.
תיאור String לא רלוונטי לא מציינים תיאור לפריטים החדשים ברשימת הכללים.
קוד סטטוס DDL

301

ערכים אפשריים:

  • 301
  • 302
  • 307
  • 308
לא מציינים את הסטטוס של הפריט ברשימת הכללים.
שמירה על מחרוזת השאילתה תיבת סימון התיבה לא מסומנת לא אם האפשרות הזו מופעלת, פריט הרשימה של הכלל שומר על מחרוזת השאילתה.
הכללת תת-דומיינים תיבת סימון התיבה לא מסומנת לא אם האפשרות הזו מופעלת, פריט הרשימה של הכללים כולל תת-דומיינים.
התאמה של נתיבי משנה תיבת סימון התיבה לא מסומנת לא אם האפשרות מופעלת, פריט הרשימה של הכללים תואם לנתיב המשנה.
שמירת סיומת הנתיב תיבת סימון התיבה לא מסומנת לא אם האפשרות הזו מופעלת, הפריט ברשימת הכללים שומר על הסיומת של הנתיב.

הפעלה ב-

הפעולה הזו מופעלת על ישות של כתובת IP.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "result": {
        "operation_id": "f16b978552ca49f88b36fe628de31142"
    },
    "success": true,
    "errors": [],
    "messages": []
}
Case Wall
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם קוד הסטטוס 200 של ישות אחת (is_success=true): "הישויות הבאות נוספו בהצלחה לרשימת הכללים {name} ב-Cloudflare:‏ {entity.identifier}."

אם הפעולה לא הצליחה עבור ישות אחת (is_success=true): "הפעולה לא הצליחה להוסיף את הישויות הבאות לרשימת הכללים {name} ב-Cloudflare:‏ {entity.identifier}".

אם לא כל הישויות נוספו בהצלחה (is_success=false): 'אף אחת מהישויות שצוינו לא נוספה לרשימת הכללים {name}'.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדווחת שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת או שגיאה אחרת: 'שגיאה בהפעלת הפעולה 'הוספת כתובת URL לרשימת כללים'. הסיבה: {0}''.format(error.Stacktrace)

אם הרשימה לא נמצאה: "שגיאה בהפעלת הפעולה 'הוספת כתובת URL לרשימת כללים'. סיבה: רשימת הכללים {name} לא נמצאה ב-Cloudflare.''

אם הרשימה לא מהסוג התקף: 'שגיאה בהפעלת הפעולה 'הוספת כתובת URL לרשימת כללים'. הסיבה: רשימת הכללים {name} היא לא מהסוג 'הפניה אוטומטית'.'

כללי

יצירת כלל לחומת האש

תיאור

יוצרים כלל לחומת האש ב-Cloudflare.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם האזור String לא רלוונטי כן מציינים את שם האזור שמכיל את כלל חומת האש.
שם String לא רלוונטי לא מציינים את השם של כלל חומת האש.
פעולה DDL

חסימה

ערכים אפשריים:

  • אישור
  • חסימה
  • מעקף
  • יומן
  • CAPTCHA מדור קודם
  • אתגר מנוהל
  • JS Challenge
לא

מציינים את הפעולה של כלל חומת האש.

אם בוחרים באפשרות 'חסימה', צריך לספק ערכים בפרמטר 'מוצרים'.

ביטוי String לא רלוונטי כן מציינים את הביטוי לכלל חומת האש.
מוצרים CSV לא רלוונטי לא

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

הערה: הפרמטר הזה הוא חובה רק אם בוחרים באפשרות 'עקיפה' לפרמטר 'פעולה'.

ערכים אפשריים: zoneLockdown, uaBlock, bic, hot, securityLevel, rateLimit, waf

עדיפות מספר שלם לא רלוונטי לא מציינים את העדיפות של כלל חומת האש.
תג הפניה String לא רלוונטי לא

מציינים תג הפניה לכלל חומת האש.

הערה: האורך המקסימלי של השם הוא 50 תווים.

הפעלה ב-

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
        {
            "id": "b520c154bdeb4fe2a1f647b2c6b35829",
            "paused": false,
            "description": "Blocks traffic identified during investigation for MIR-31",
            "action": "block",
            "priority": 50,
            "filter": {
                "id": "fc6dfad848c24a42ae5be0114db09fb9",
                "expression": "(ip.geoip.continent eq \"ASIA\")",
                "paused": false
            },
            "created_on": "2022-07-25T11:19:22Z",
            "modified_on": "2022-07-25T11:19:22Z",
            "index": 0
        }
}
Case Wall
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם קוד הסטטוס 200 מדווח (is_success=true): 'נוצר בהצלחה כלל חומת אש חדש באזור {zone_name} ב-Cloudflare'.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדווחת שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת או שגיאה אחרת: "שגיאה בהפעלת הפעולה 'יצירת כלל חומת אש'". הסיבה: {0}''.format(error.Stacktrace)

אם רשימת השגיאות לא ריקה: "שגיאה בהפעלת הפעולה 'יצירת כלל חומת אש'. הסיבה: {0}''.format(errors/message)

אם האזור לא נמצא: "שגיאה בהפעלת הפעולה 'יצירת כלל חומת אש'. הסיבה: האזור {zone_name} לא נמצא ב-Cloudflare.''

כללי

יצירת רשימת כללים

תיאור

יוצרים רשימת כללים ב-Cloudflare.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם String לא רלוונטי כן מציינים את השם של רשימת הכללים.
סוג DDL

כתובת IP

ערכים אפשריים:

  • כתובת IP
  • הפניה לכתובת URL אחרת
לא מציינים את הסוג של רשימת הכללים.
תיאור String לא רלוונטי לא מציינים את התיאור של רשימת הכללים.

הפעלה ב-

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "id": "d19589d629f140c0b961c467feadf99d",
    "name": "123",
    "kind": "ip",
    "num_items": 0,
"description": "description",
    "num_referencing_filters": 0,
    "created_on": "2022-07-25T12:13:46Z",
    "modified_on": "2022-07-25T12:13:46Z"
}
Case Wall
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם קוד הסטטוס 200 מדווח (is_success = true): 'נוצרה בהצלחה רשימת כללים ב-Cloudflare'.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדווחת שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת או שגיאה אחרת: "שגיאה בהפעלת הפעולה 'יצירת רשימת כללים'". הסיבה: {0}''.format(error.Stacktrace)

אם רשימת השגיאות לא ריקה: "Error executing action "Create Rule List". הסיבה: {0}''.format(errors/message)

כללי

הצגת רשימה של כללי חומת אש

תיאור

רשימת כללי חומת האש שזמינים ב-Cloudflare.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם האזור String לא רלוונטי כן מציינים את שם האזור שיכיל את כלל חומת האש.
מפתח המסנן DDL

יש לבחור טווח

ערכים אפשריים:

  • יש לבחור טווח
  • שם
  • מזהה
  • פעולה
לא מציינים את המפתח שצריך להשתמש בו כדי לסנן {סוג הפריט}.
לוגיקת הסינון DDL

יש לבחור טווח

ערכים אפשריים:

  • צריך לבחור אפשרות אחת
  • שווה
  • מכיל
לא

מציינים את לוגיקת הסינון שרוצים להחיל.

לוגיקת הסינון מבוססת על הערך שצוין בפרמטר Filter Key (מפתח סינון).

ערך המסנן String לא רלוונטי לא

מציינים את הערך שבו רוצים להשתמש במסנן.

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

אם האפשרות 'מכיל' נבחרה, הפעולה מנסה למצוא תוצאות שמכילות את מחרוזת המשנה הזו.

אם לא מציינים ערך בפרמטר הזה, המסנן לא מופעל.

לוגיקת הסינון מבוססת על הערך שצוין בפרמטר Filter Key (מפתח סינון).

מספר הרשומות המקסימלי שיוחזר מספר שלם 50 לא

מציינים את מספר הרשומות שיוחזרו.

אם לא מספקים כלום, הפעולה מחזירה 50 רשומות.

הפעלה ב-

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
    "id": "55ec8db30f9e4640b5d0d13cff6b5429",
    "paused": false,
    "description": "rulle2",
    "action": "allow",
    "filter": {
        "id": "2bb05df8c4f547bd9792d8dc38a86b81",
        "expression": "(ip.geoip.country eq \"BG\")",
        "paused": false
    },
    "created_on": "2022-07-05T13:53:39Z",
    "modified_on": "2022-07-05T13:53:39Z"
}
Case Wall
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם הנתונים זמינים (is_success=true): "Successfully found {item name} for the provided criteria in {product name}".

אם הנתונים לא זמינים (is_success=false): "לא נמצאו {item name} לפי הקריטריונים שצוינו ב-{product name}"

אם הפרמטר Filter Value ריק (is_success=true):

"המסנן לא הוחל כי הפרמטר 'ערך המסנן' ריק".

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם הפרמטר Filter Key (מפתח מסנן) מוגדר לערך Select One (בחירת אפשרות אחת) והפרמטר Filter Logic (לוגיקת סינון) מוגדר לערך Equal (שווה) או Contains (מכיל):

‫"Error executing action "{action name}". הסיבה: צריך לבחור שדה מהפרמטר Filter Key (מפתח מסנן).

אם צוין ערך לא תקין לפרמטר 'מספר הרשומות המקסימלי להחזרה': 'שגיאה בהפעלת הפעולה '{שם הפעולה}'. הסיבה: 'צוין ערך לא תקין לפרמטר 'מספר הרשומות המקסימלי להחזרה': . צריך לציין מספר חיובי'.

אם מדווחת שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת או שגיאה אחרת: "שגיאה בהפעלת הפעולה {שם הפעולה}. הסיבה: {0}''.format(error.Stacktrace)

כללי
Case Wall Table

שם הטבלה: {item group} זמין

עמודות הטבלה: {fields}

כללי

פינג

תיאור

בודקים את הקישוריות ל-Cloudflare באמצעות הפרמטרים שמופיעים בדף הגדרת השילוב בכרטיסייה Google Security Operations Marketplace.

פרמטרים

לא רלוונטי

הפעלה ב-

הפעולה לא משתמשת באף אחת מישויות ההיקף של Google SecOps, וגם לא בפרמטרים של קלט חובה.

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
N/A
Case Wall
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם הפעולה הצליחה: "החיבור לשרת SpyCloud בוצע בהצלחה עם פרמטרי החיבור שסופקו!"

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם התגובה נכשלה: "החיבור לשרת SpyCloud נכשל! השגיאה היא {0}".format(exception.stacktrace)

אם החשבון לא נמצא: "החיבור לשרת Cloudflare נכשל! צוין שם חשבון לא תקין. כדאי לבדוק את האיות".

כללי

עדכון כלל חומת אש

תיאור

מעדכנים כלל לחומת האש ב-Cloudflare.

הפעלה ב-

הפעולה הזו לא מופעלת על ישויות.

פרמטרים

השם המוצג של הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם הכלל String לא רלוונטי כן מציינים את שם הכלל שצריך לעדכן.
שם האזור String לא רלוונטי כן מציינים את שם האזור שמכיל את כלל חומת האש.
פעולה DDL

חסימה

ערכים אפשריים:

  • אישור
  • חסימה
  • מעקף
  • יומן
  • CAPTCHA מדור קודם
  • אתגר מנוהל
  • JS Challenge
לא

מציינים את הפעולה של כלל חומת האש.

אם בוחרים באפשרות 'חסימה', צריך לספק ערכים בפרמטר 'מוצרים'.

ביטוי String לא רלוונטי כן מציינים את הביטוי לכלל חומת האש.
מוצרים CSV לא רלוונטי לא

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

הערה: הפרמטר הזה הוא חובה רק אם בוחרים באפשרות 'עקיפה' לפרמטר 'פעולה'.

ערכים אפשריים: zoneLockdown, uaBlock, bic, hot, securityLevel, rateLimit, waf

עדיפות מספר שלם לא רלוונטי לא מציינים את העדיפות של כלל חומת האש.
תג הפניה String לא רלוונטי לא

מציינים תג הפניה לכלל חומת האש.

הערה: האורך המקסימלי של השם הוא 50 תווים.

הפעלה ב-

תוצאות הפעולה

תוצאת סקריפט
שם התוצאה של הסקריפט אפשרויות ערך דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
{
        {
            "id": "b520c154bdeb4fe2a1f647b2c6b35829",
            "paused": false,
            "description": "Blocks traffic identified during investigation for MIR-31",
            "action": "block",
            "priority": 50,
            "filter": {
                "id": "fc6dfad848c24a42ae5be0114db09fb9",
                "expression": "(ip.geoip.continent eq \"ASIA\")",
                "paused": false
            },
            "created_on": "2022-07-25T11:19:22Z",
            "modified_on": "2022-07-25T11:19:22Z",
            "index": 0
        }
}
Case Wall
סוג התוצאות ערך / תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

אם קוד הסטטוס 200 מדווח (is_success=true): 'העדכון של כלל חומת האש באזור {zone_name} ב-Cloudflare הושלם בהצלחה'.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדווחת שגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת או שגיאה אחרת: "שגיאה בהפעלת הפעולה 'עדכון כלל חומת האש'". הסיבה: {0}''.format(error.Stacktrace)

אם רשימת השגיאות לא ריקה: 'שגיאה בהפעלת הפעולה 'עדכון כלל חומת האש'. הסיבה: {0}''.format(errors/message)

אם האזור לא נמצא: "שגיאה בהפעלת הפעולה 'עדכון כלל חומת האש'. הסיבה: האזור {zone_name} לא נמצא ב-Cloudflare.''

כללי

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.