本頁說明如何設定詳細記錄,這是 Google Cloud Armor 安全性政策的選用功能。
您可以調整記錄檔中記錄的詳細程度。建議您只在首次建立政策、變更政策或排解政策問題時,啟用詳細記錄。如果您啟用詳細記錄,預覽模式中的規則以及標準作業期間的有效 (非預覽) 規則都會受到影響。
舉例來說,您無法判斷特定要求觸發預先設定的網頁應用程式防火牆規則的原因。Google Cloud Armor 的預設事件記錄檔包含觸發的規則和子簽章。不過,您可能需要從觸發規則的傳入要求中找出詳細資料,以進行疑難排解、規則驗證或規則調整。以這個範例來說,建議您啟用詳細記錄。
您可以在 Google Cloud CLI 中使用 --log-level
標記,設定 Google Cloud Armor 記錄層級,為每項安全性政策啟用更詳細的記錄。
這項功能預設為停用。標記的語法如下:
--log-level=[NORMAL | VERBOSE]
這個旗標只能搭配 gcloud compute security-policies update
指令使用。除非您在檔案中建立安全性政策,然後匯入該檔案,否則無法使用這個選項建立新的安全性政策。詳情請參閱「匯入安全性政策」。
例如:
gcloud compute security-policies update ca-policy-1 \ --log-level=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
標記設定的要求主體檢查限制 (位元組數)。如要進一步瞭解這項限制,請參閱「POST 和 PATCH 主體檢查限制」。
舉例來說,您可能會對啟用 SQL 植入 WAF 規則的專案傳送下列要求:
curl http://IP_ADDR/?sql_table=abc%20pg_catalog%20xyz
記錄檔探索工具中的項目類似於下列內容:
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 }
啟用詳細記錄功能時維護隱私權
使用詳細記錄時,Google Cloud Armor 會記錄觸發特定預先設定 WAF 規則的傳入要求元素片段。這些程式碼片段可能包含要求標頭、要求參數或 POST 主體元素。視要求標頭或主體中的內容,以及觸發 WAF 規則的項目而定,程式碼片段可能包含 IP 位址或來自傳入要求的其他機密資料等機密資料。
啟用詳細記錄功能後,記錄檔中可能會累積潛在的機密資料,建議您只在建立和驗證規則時,或進行疑難排解時,啟用詳細記錄。在正常運作期間,建議您停用詳細記錄。