רישום מפורט (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 (integer): האורך הכולל של השדה.

  • 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-v030001-id942140-sqli"
  ]
matchedFieldType: "ARG_VALUES"
matchedFieldName: "sql_table"
matchedFieldValue: "pg_catalog"
matchedFieldLength: 18
matchedOffset: 4
matchedLength: 10
}

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

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

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

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