רישום מפורט (verbose) ביומן

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

אתם יכולים לשנות את רמת הפירוט שמתועדת ביומנים. מומלץ להפעיל רישום מפורט ביומן רק כשיוצרים מדיניות בפעם הראשונה, כשמבצעים שינויים במדיניות או כשמנסים לפתור בעיות במדיניות. אם מפעילים רישום מפורט ביומן, הוא תקף לכללים במצב תצוגה מקדימה וגם לכללים פעילים (שלא הוצגו בתצוגה מקדימה) במהלך פעולות רגילות.

נניח שאתם לא יודעים למה בקשה מסוימת מפעילה כלל של חומת אש (WAF) לאפליקציית אינטרנט שהוגדרה מראש. יומני האירועים שמוגדרים כברירת מחדל ב-Cloud Armor מכילים את הכלל שהופעל, וגם את חתימת המשנה. עם זאת, יכול להיות שתצטרכו לזהות את הפרטים מהבקשה הנכנסת שהפעילה את הכלל כדי לפתור בעיות, לאמת את הכלל או לכוונן את הכלל. במקרה כזה, מומלץ להפעיל רישום מפורט ביומן.

אפשר להגדיר את רמת הרישום ביומן של Cloud Armor כדי להפעיל רישום מפורט יותר ביומן לכל מדיניות אבטחה באמצעות הדגל --log-level ב-Google Cloud CLI.

האפשרות הזו מושבתת כברירת מחדל. התחביר של הדגל הוא:

--log-level=[NORMAL | VERBOSE]

הדגל זמין רק באמצעות הפקודה gcloud compute security-policies update. אי אפשר ליצור מדיניות אבטחה חדשה באמצעות האפשרות הזו, אלא אם יוצרים מדיניות אבטחה בקובץ ואז מייבאים את הקובץ הזה. מידע נוסף זמין במאמר ייבוא מדיניות אבטחה.

לדוגמה:

gcloud compute security-policies update ca-policy-1 \
    --log-level=VERBOSE

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

ערכים שנרשמים ביומן כשהרישום המפורט (verbose) מופעל

כשרישום מפורט ביומן מופעל, מידע נוסף נרשם ביומן הבקשות של איזון העומסים שנשלח אל Cloud Logging. השדות הנוספים הבאים מופיעים ביומן הבקשות כשמופעל רישום מפורט ביומן:

  • matchedFieldType (מחרוזת): זהו סוג השדה שגורם להתאמה.

    • ARG_NAMES
    • ARG_VALUES
    • BODY

      • אם השדה BODY מופיע ביומן, המשמעות היא שגוף הבקשה כולו תואם לכלל.
    • COOKIE_VALUES

    • COOKIE_NAMES

    • FILENAME

    • HEADER_VALUES

    • RAW_URI

    • REFERER

    • REQUEST_LINE

    • URI

    • USER_AGENT

    • HEADER_NAMES

    • ARGS_GET

    • X_FILENAME

    • ARG_NAME_COUNT

    • TRANSFER_ENCODING

    • REQUEST_METHOD

  • matchedFieldName (מחרוזת): אם הערך הזה תואם לחלק הערך של צמד מפתח/ערך, ערך המפתח מאוחסן בשדה הזה. אחרת, השדה הזה ריק.

  • matchedFieldValue (מחרוזת): תחילית באורך של עד 16 בייטים לחלק בשדה שגורם להתאמה.

  • matchedFieldLength (מספר שלם): האורך הכולל של השדה.

  • matchedOffset (מספר שלם): ההיסט של ההתחלה בתוך השדה שגורם להתאמה.

  • matchedLength (מספר שלם): אורך ההתאמה.

  • inspectedBodySize (מספר שלם): מגבלת הבדיקה שהוגדרה (מספר הבייטים) לגוף הבקשה, שהגדרתם באמצעות הדגל --request-body-inspection-size. מידע נוסף על המגבלה הזו זמין במאמר בנושא מגבלות על בדיקת גוף הבקשה.

לדוגמה, אפשר לשלוח את הבקשה הבאה לפרויקט שבו מופעלים כללי WAF של הזרקת SQL:

curl http://IP_ADDR/?sql_table=abc%20pg_catalog%20xyz

הרשומה ב-Logs Explorer דומה לרשומה הבאה:

enforcedSecurityPolicy: {
 name: "user-staging-sec-policy"
 priority: 100
 configuredAction: "DENY"
 outcome: "DENY
 inspectedBodySize: 65536
 preconfiguredExprIds: [
   0: "owasp-crs-v042200-id942140-sqli"
  ]
matchedFieldType: "ARG_VALUES"
matchedFieldName: "sql_table"
matchedFieldValue: "pg_catalog"
matchedFieldLength: 18
matchedOffset: 4
matchedLength: 10
}

שמירה על הפרטיות כשהרישום המפורט מופעל

כשמשתמשים ברישום מפורט ביומן, Cloud Armor רושם ביומן קטעי קוד של הרכיבים מהבקשות הנכנסות שהפעילו כלל WAF מסוים שהוגדר מראש. יכול להיות שהקטעים האלה יכילו חלקים מכותרות הבקשה, מפרמטרים של הבקשה או מרכיבים של גוף הבקשה. קטע קוד יכול להכיל מידע אישי רגיש, כמו כתובת IP או נתונים רגישים אחרים מהבקשה הנכנסת, בהתאם למה שמופיע בכותרות או בגוף הבקשה ולמה שמפעיל את כלל ה-WAF.

כשמפעילים רישום מפורט ביומן, יש סיכון להצטברות של מידע אישי רגיש פוטנציאלי ביומנים ב-Logging. מומלץ להפעיל רישום מפורט ביומן רק במהלך יצירה ואימות של כללים או לצורך פתרון בעיות. במהלך פעולות רגילות, מומלץ להשאיר את הרישום המפורט מושבת.

המאמרים הבאים