בדף הזה מוסבר איך להגדיר רישום מפורט ביומן, תכונה אופציונלית שאפשר להשתמש בה עם כללי מדיניות האבטחה של Google 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_NAMESARG_VALUESBODY- אם השדה
BODYמופיע ביומן, המשמעות היא שגוף הבקשה כולו תואם לכלל.
- אם השדה
COOKIE_VALUESCOOKIE_NAMESFILENAMEHEADER_VALUESRAW_URIREFERERREQUEST_LINEURIUSER_AGENTHEADER_NAMESARGS_GETX_FILENAMEARG_NAME_COUNTTRANSFER_ENCODINGREQUEST_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. מומלץ להפעיל רישום מפורט ביומן רק במהלך יצירה ואימות של כללים או לצורך פתרון בעיות. במהלך פעולות רגילות, מומלץ להשאיר את הרישום המפורט מושבת.