יומנים של Google Cloud Armor לכל בקשה, שכוללים את שם מדיניות האבטחה, העדיפות של כלל ההתאמה, הפעולה המשויכת ומידע קשור, נרשמים כחלק מהרישום ביומן של מאזני עומסים חיצוניים של אפליקציות ומאזני עומסים חיצוניים של רשתות לשרת proxy. הרישום ביומן של שירותי בק-אנד חדשים מושבת כברירת מחדל, ולכן צריך להפעיל אותו כדי לתעד מידע מלא ביומן של Cloud Armor.
היומנים של Cloud Armor הם חלק מהיומנים של Cloud Load Balancing. כלומר, יצירת היומנים ב-Cloud Armor כפופה לשיעור הדגימה של היומנים שהוגדר למאזן העומסים. אם מקטינים את תדירות הדגימה של מאזן העומסים, יומני הבקשות של Cloud Armor נדגמים בתדירות המופחתת הזו. בנוסף, אם אתם משתמשים בהפניה לשירותים בפרויקטים שונים, היומנים נוצרים בפרויקט המארח או בפרויקט השירות שכולל את חזית מאזן העומסים ואת מפת URL. לכן, אנחנו ממליצים לאדמינים בפרויקט הקצה הקדמי להעניק הרשאות קריאה של רישומים ומדדים לאדמינים בפרויקט הבק-אנד.
באמצעות רישום ביומן, אפשר לראות כל בקשה שנבדקה על ידי מדיניות אבטחה של Cloud Armor, ואת התוצאה או הפעולה שננקטו על סמך כלל ההתאמה בעדיפות הגבוהה ביותר. לדוגמה, כדי לראות בקשות שנדחו, אפשר להשתמש במסננים כמו jsonPayload.enforcedSecurityPolicy.outcome="DENY" או jsonPayload.statusDetails="denied_by_security_policy".
בנוסף, אפשר להגדיר רמות שונות של רישום ביומן כדי להעריך אם מדיניות האבטחה והכללים שלה פועלים כמצופה. מידע נוסף זמין במאמר בנושא רישום ביומן מפורט.
רשומות ביומן של מדיניות האבטחה
רשומות היומן הבאות ב-Logs Explorer הן עבור רישום ביומן של כללי מדיניות אבטחה וכללים של Cloud Armor. הרשומות כוללות את המבנה הבא ב-jsonPayload. פרטי בקשת ה-HTTP מופיעים בהודעה httpRequest.
-
statusDetails: תיאור טקסטואלי של קוד התגובה.-
redirected_by_security_policy: הבקשה הופנתה לכתובת אחרת על ידי כלל הפניה,GOOGLE_RECAPTCHAאוEXTERNAL_302. -
denied_by_security_policy: בקשה נדחתה על ידי מאזן העומסים בגלל מדיניות אבטחה של Cloud Armor. -
body_denied_by_security_policy: בקשה נדחתה על ידי מאזן העומסים בגלל מדיניות אבטחה של Cloud Armor.
-
-
enforcedSecurityPolicy: כלל מדיניות האבטחה שנאכף.-
name: השם של מדיניות האבטחה. -
priority: עדיפות מספרית של הכלל התואם במדיניות האבטחה. -
adaptiveProtection: מידע על כלל ההגנה האדפטיבית שנפרס אוטומטית, אם רלוונטי.-
autoDeployAlertId: מזהה ההתראה של האירועים שזוהו על ידי Adaptive Protection.
-
-
configuredAction: השם של הפעולה שהוגדרה בכלל התאמה, לדוגמהALLOW,DENY,GOOGLE_RECAPTCHA,EXTERNAL_302,THROTTLE(לכלל ויסות נתונים) אוRATE_BASED_BAN(לכלל חסימה לפי קצב). -
rateLimitAction: מידע על פעולת הגבלת הקצב כשמוצאים התאמה לכלל ויסות נתונים או לכלל חסימה שמבוסס על קצב.-
key: ערך המפתח של הגבלת הקצב (עד 36 בייט). השדה הזה מושמט אם סוג המפתח הואALL, או אם סוג המפתח הואHTTP-HEADERאוHTTP-COOKIEוהכותרת או קובץ ה-Cookie שצוינו לא מופיעים בבקשה. -
outcome: הערכים האפשריים הם:"RATE_LIMIT_THRESHOLD_CONFORM"אם מספר הבקשות נמוך מסף הגבלת הקצב שהוגדר.-
"RATE_LIMIT_THRESHOLD_EXCEED"אם הוא מעל סף הגבלת הקצב שהוגדר. "BAN_THRESHOLD_EXCEED"אם הערך גבוה מסף החסימה שהוגדר.
-
-
outcome: התוצאה של הפעלת הפעולה שהוגדרה. לדוגמה:ACCEPT,DENY,REDIRECT,EXEMPT. -
preconfiguredExprIds: המזהים של כל הביטויים של כללי WAF שהוגדרו מראש והפעילו את הכלל. -
threatIntelligence: מידע על רשימות כתובות ה-IP התואמות מ-Google Threat Intelligence, אם רלוונטי.-
categories: שמות הרשימות של כתובות ה-IP התואמות.
-
-
addressGroup: מידע על קבוצות הכתובות התואמות, אם רלוונטי.-
names: השמות של קבוצות הכתובות שתואמות.
-
-
-
previewSecurityPolicy: מאוכלס אם בקשה תואמת לכלל שהוגדר לתצוגה מקדימה (מופיע רק אם כלל לתצוגה מקדימה היה מקבל עדיפות על פני הכלל שנאכף).name: השם של מדיניות האבטחה-
priority: עדיפות מספרית של הכלל התואם במדיניות האבטחה. -
configuredAction: השם של הפעולה שהוגדרה בכלל התאמה, לדוגמהALLOW,DENY,GOOGLE_RECAPTCHA,EXTERNAL_302,THROTTLE(לכלל ויסות נתונים) אוRATE_BASED_BAN(לכלל חסימה לפי קצב). -
rateLimitAction: מידע על פעולת הגבלת הקצב כשמוצאים התאמה לכלל ויסות נתונים או לכלל חסימה שמבוסס על קצב.-
key: ערך המפתח של הגבלת הקצב (עד 36 בייט). השדה הזה מושמט אם סוג המפתח הואALL, או אם סוג המפתח הואHTTP-HEADERאוHTTP-COOKIEוהכותרת או קובץ ה-Cookie שצוינו לא קיימים בבקשה. -
outcome: הערכים האפשריים הם:"RATE_LIMIT_THRESHOLD_CONFORM"אם מספר הבקשות נמוך מסף הגבלת הקצב שהוגדר.-
"RATE_LIMIT_THRESHOLD_EXCEED"אם הוא מעל סף הגבלת הקצב שהוגדר. "BAN_THRESHOLD_EXCEED"אם הערך גבוה מסף החסימה שהוגדר.
-
-
outcome: התוצאה של הפעלת הפעולה שהוגדרה. לדוגמה:ACCEPT,DENY,REDIRECT,EXEMPT. -
preconfiguredExprIds: המזהים של כל הביטויים של כללי WAF שהוגדרו מראש והפעילו את הכלל. -
threatIntelligence: מידע על רשימות כתובות ה-IP התואמות מ-Threat Intelligence, אם רלוונטי.-
categories: שמות הרשימות של כתובות ה-IP התואמות.
-
-
addressGroup: מידע על קבוצות הכתובות התואמות, אם רלוונטי.-
names: השמות של קבוצות הכתובות שתואמות.
-
-
enforcedEdgeSecurityPolicy: הכלל במדיניות האבטחה של Edge שנאכף.-
name: השם של מדיניות האבטחה. -
priority: העדיפות של הכלל התואם במדיניות האבטחה. -
configuredAction: שם הפעולה שהוגדרה בכלל התאמה, לדוגמהALLOW,DENY. -
outcome: התוצאה של הפעלת הפעולה שהוגדרה. לדוגמה,ACCEPT,DENY.
-
-
previewEdgeSecurityPolicy: מאוכלס אם בקשה תואמת לכלל במדיניות אבטחה של קצה הרשת שהוגדר לתצוגה מקדימה. רשומת היומןpreviewEdgeSecurityPolicyמופיעה רק כשכלל תצוגה מקדימה מקבל עדיפות על פני הכלל שנאכף.-
name: השם של מדיניות האבטחה. -
priority: עדיפות מספרית של הכלל התואם במדיניות האבטחה. -
configuredAction: שם הפעולה שהוגדרה בכלל התאמה, לדוגמהALLOW,DENY. -
outcome: התוצאה של הפעלת הפעולה שהוגדרה. לדוגמה,ACCEPT,DENY.
-
צפייה ביומנים
אפשר לראות את היומנים של מדיניות אבטחה של Cloud Armor רק במסוףGoogle Cloud .
המסוף
במסוף Google Cloud , עוברים אל Cloud Armor policies.
לוחצים על פעולות.
בוחרים באפשרות הצגת יומנים.
בקשה לרישום נתונים ביומן
כשמשתמשים ב-jsonPayload עם Cloud Armor, יש לו את השדה הנוסף הבא:
-
securityPolicyRequestData: נתונים שקשורים לבקשה בזמן שהיא מעובדת על ידי מדיניות אבטחה, ללא קשר לכלל שתואם בסופו של דבר.-
recaptchaActionToken: נתונים שקשורים לאסימון פעולה של reCAPTCHA.-
score: ציון הלגיטימיות של המשתמש שמוטמע בטוקן פעולה של reCAPTCHA. הפרמטר הזה מופיע רק כשבקשה מצורף אליה אסימון פעולה של reCAPTCHA, והפענוח שלו מצליח על סמך כלל של מדיניות אבטחה. מידע נוסף מופיע במאמר הפעלת בדיקת reCAPTCHA.
-
-
recaptchaSessionToken: נתונים שקשורים לאסימון סשן של reCAPTCHA.-
score: ציון הלגיטימיות של המשתמש שמוטמע באסימון סשן של reCAPTCHA. הפרמטר הזה מופיע רק כשבקשה כוללת טוקן של סשן reCAPTCHA, והטוקן מפוענח בהצלחה על סמך כלל של מדיניות אבטחה.
-
-
userIpInfo: הנתונים שקשורים לשימוש בכתובות IP של משתמשים.-
source: שדה שהוא בדרך כלל הכותרת שממנה נפתרה כתובת ה-IP של המשתמש. -
ipAddress: כתובת ה-IP שפוענחה משדה המקור.
-
-
remoteIpInfo: הנתונים שקשורים לכתובת ה-IP של הלקוח ששלח את הבקשה.-
ipAddress: כתובת ה-IP של הלקוח ששלח את הבקשה. -
region_code: קוד המדינה או קוד האזור בן שתי האותיות של כתובת ה-IP. -
asn: מספר המערכת האוטונומית (ASN) בן חמש הספרות שמתאים לכתובת ה-IP.
-
-
tlsJa4Fingerprint: טביעת אצבע של JA4 TTL/SSL אם הלקוח מתחבר באמצעותHTTPS,HTTP/2אוHTTP/3. השדה הזה מופיע רק אם טביעת האצבע זמינה ויש מדיניות אבטחה שמעריכה את הבקשה (ללא קשר לשאלה אם ביטוי במדיניות תואם לבקשה). -
tlsJa3Fingerprint: טביעת אצבע של JA3 TTL/SSL אם הלקוח מתחבר באמצעותHTTPS,HTTP/2אוHTTP/3. השדה הזה מופיע רק אם טביעת האצבע זמינה ויש מדיניות אבטחה שמעריכה את הבקשה (ללא קשר לשאלה אם ביטוי במדיניות תואם לבקשה).
-
דוגמאות ליומנים
בדוגמה הבאה מוצגים פרטי יומן של כלל ויסות נתונים שחוסם בקשה:
jsonPayload: {
enforcedSecurityPolicy: {
priority: 100
name: "sample-prod-policy"
configuredAction: "THROTTLE"
outcome: "DENY"
rateLimitAction: {
key:"sample-key"
outcome:"RATE_LIMIT_THRESHOLD_EXCEED"
}
}
@type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:16:48.185763Z"
בדוגמה הבאה מוצגים פרטי יומן של כלל חסימה שמבוסס על קצב בקשות וחוסם בקשה:
jsonPayload: {
@type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
enforcedSecurityPolicy: {
priority: 150
name: "sample-prod-policy"
outcome: "DENY"
configuredAction: "RATE_BASED_BAN"
rateLimitAction: {
key:"sample-key"
outcome:"BAN_THRESHOLD_EXCEED"
}
}
statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:27:17.393244Z"