Web ACL 流量的日志字段
以下列表介绍了可能的日志字段。
- action
-
AWS WAF 应用于请求的终止操作。这表示允许、阻止、验证码或质询。当 Web 请求不包含有效令牌时,CAPTCHA 和 Challenge 操作将终止。
- args
-
查询字符串。
- 验证码响应
-
请求的 CAPTCHA 操作状态,在对请求应用 CAPTCHA 操作时填充。无论是 CAPTCHA 终止操作还是非终止操作,都将填充此字段。如果请求多次应用 CAPTCHA 操作,则从上次应用此操作时填充此字段。
当请求不包含令牌或者令牌无效或已过期时,该 CAPTCHA 操作将终止 Web 请求检查。如果 CAPTCHA 操作为终止操作,此字段包括响应代码和失败原因。如果操作为非终止操作,则此字段包含一个验算时间戳。要区分终止操作和非终止操作,可以在此字段中筛选非空
failureReason
属性。 - challengeResponses
-
请求的质询操作状态,在对请求应用 Challenge 操作时填充。无论是 Challenge 终止操作还是非终止操作,都将填充此字段。如果请求多次应用 Challenge 操作,则从上次应用此操作时填充此字段。
当请求不包含令牌或者令牌无效或已过期时,该 Challenge 操作将终止 Web 请求检查。如果 Challenge 操作为终止操作,此字段包括响应代码和失败原因。如果操作为非终止操作,则此字段包含一个验算时间戳。要区分终止操作和非终止操作,可以在此字段中筛选非空
failureReason
属性。 - clientIp
-
发送请求的客户端的 IP。
- country
-
请求的源国家/地区。如果 AWS WAF 无法确定来源国,则会将此字段设置为
-
。 - excludedRules
-
仅用于规则组规则。规则组中您排除的规则的列表。这些规则的操作设置为 Count。
如果您使用覆盖规则操作选项覆盖要计数的规则,则此处不会列出匹配项。它们被列为操作对
action
和overriddenAction
.- exclusionType
-
一种类型,指示排除的规则具有操作 Count。
- ruleId
-
规则组中排除的规则的 ID。
- formatVersion
-
日志的格式版本。
- 标头
-
标头的列表。
- httpMethod
-
请求中的 HTTP 方法。
- httpRequest
-
关于请求的元数据。
- httpSourceId
-
关联资源的ID。
对于 Amazon CloudFront 分配,ID 是
distribution-id
,采用 ARN 语法:arn:partitioncloudfront::account-id:distribution/distribution-id
-
对于应用程序负载均衡器,ID 是
load-balancer-id
,采用 ARN 语法:arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
对于 Amazon API Gateway REST API,ID 是
api-id
,采用 ARN 语法:arn:partition:apigateway:region::/restapis/api-id/stages/stage-name
对于 AWS AppSync GraphQL API,ID 是
GraphQLApiId
,采用 ARN 语法:arn:partition:appsync:region:account-id:apis/GraphQLApiId
对于 Amazon Cognito 用户群体,ID 是
user-pool-id
,采用 ARN 语法:arn:partition:cognito-idp:region:account-id:userpool/user-pool-id
对于 AWS App Runner 服务,ID 是
apprunner-service-id
,采用 ARN 语法:arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id
- httpSourceName
-
请求的源。可能的值:对于 Amazon CloudFront 为
CF
,Amazon API Gateway 为APIGW
,应用程序负载均衡器为ALB
,APPSYNC
为 AWS AppSync,Amazon Cognito 为COGNITOIDP
,App Runner 为APPRUNNER
,经验证访问为VERIFIED_ACCESS
。 - httpVersion
-
HTTP 版本。
- ja3Fingerprint
-
请求的 JA3 指纹。
注意
JA3 指纹检查仅适用于 Amazon CloudFront 分配和应用程序负载均衡器。
JA3 指纹是一个 32 字符的哈希值,源自传入请求的 TLS Client Hello。此指纹用作客户端 TLS 配置的唯一标识符。AWS WAF 会计算并记录每个请求的指纹,只要这些请求有足够的 TLS Client Hello 信息用于计算。
在 Web ACL 规则中配置 JA3 指纹匹配时,需要提供此值。有关创建与 JA3 指纹的匹配项的信息,请参阅 AWS WAF 中的请求组件 中的 JA3 指纹,以了解规则语句。
- 标签
-
Web 请求上的标签。这些标签是由用来评估请求的规则应用的。AWS WAF 记录前 100 个标签。
- nonTerminatingMatchingRules
-
与请求匹配的非终止规则的列表。列表中每个项目都包含以下信息。
- action
-
这是 AWS WAF 应用于请求的操作。这表示计数、验证码或质询。当 Web 请求包含有效令牌时,CAPTCHA 和 Challenge 不会终止。
- ruleId
-
与请求匹配并且为非终止规则的 ID。
- 规则匹配详情
-
有关与请求匹配的规则的详细信息。此字段仅适用于 SQL 注入和跨站脚本攻击(XSS)匹配规则语句。匹配规则可能需要匹配多个检查条件,因此这些匹配详细信息以匹配条件的形式提供。
为每条规则提供的任何其他信息会因规则配置、规则匹配类型和匹配详细信息等因素而不同。例如,对于带有 CAPTCHA 或 Challenge 操作的规则,将列出
captchaResponse
或challengeResponse
。如果匹配的规则位于某个规则组中,而您覆盖了其配置的规则操作,则overriddenAction
中将提供配置的操作。 - 超大字段
-
Web 请求中经过 Web ACL 检查且超出 AWS WAF 检查限制的字段列表。如果字段过大,但 Web ACL 未对其进行检查,则不会在此处列出该字段。
此列表可以包含以下零个或多个值:
REQUEST_BODY
、REQUEST_JSON_BODY
、REQUEST_HEADERS
和REQUEST_COOKIES
。有关超大字段的更多信息,请参阅 在 AWS WAF 中处理超大 Web 请求组件。 - rateBasedRuleList
-
对请求执行操作的基于速率的规则列表。有关基于速率的规则的更多信息,请参阅 在 AWS WAF 中使用基于速率的规则语句。
- rateBasedRuleId
-
作用于请求的基于速率的规则的 ID。如果这已终止请求,则
rateBasedRuleId
的 ID 与terminatingRuleId
的 ID 相同。 - rateBaseDruleName
-
作用于请求的基于速率的规则的名称。
- limitKey
-
规则使用的聚合类型。可能的值包括:对于 Web 请求来源为
IP
,请求标头中转发的 IP 为FORWARDED_IP
,自定义聚合键设置为CUSTOMKEYS
,将所有请求合并计数(不进行聚合)为CONSTANT
。 - limitValue
-
仅在按单个 IP 地址类型限制速率时使用。如果请求包含无效的 IP 地址,则
limitvalue
为INVALID
。 - maxRateAllowed
-
特定聚合实例在指定时间窗口内允许的最大请求数。该聚合实例由
limitKey
和您在基于速率的规则配置中提供的任何其他密钥规范定义。 - evaluationWindowSec
-
AWS WAF 包含在请求中的时间量(以秒为单位)。
- customValue
-
请求中基于速率的规则标识的唯一值。对于字符串值,日志会打印字符串值的前 32 个字符。根据密钥类型,这些值可能仅用于密钥,例如 HTTP 方法或查询字符串,也可能用于密钥和名称,例如标头和标头名称。
- 请求标头已插入
-
为处理自定义请求而插入的标头列表。
- requestId
-
请求的 ID,由底层主机服务生成。对于应用程序负载均衡器,这是跟踪 ID。对于所有其他人,这是请求 ID。
- 响应码已发送
-
与自定义响应一起发送的响应代码。
- ruleGroupId
-
规则组的 ID。如果规则阻止了请求,则
ruleGroupID
的 ID 与terminatingRuleId
的 ID 相同。 - ruleGroupList
-
对该请求进行操作的规则组列表,包含匹配信息。
- terminatingRule
-
终止请求的规则。如果存在,则包含以下信息。
- action
-
AWS WAF 应用于请求的终止操作。这表示允许、阻止、验证码或质询。当 Web 请求不包含有效令牌时,CAPTCHA 和 Challenge 操作将终止。
- ruleId
-
匹配请求的规则的 ID。
- 规则匹配详情
-
有关与请求匹配的规则的详细信息。此字段仅适用于 SQL 注入和跨站脚本攻击(XSS)匹配规则语句。匹配规则可能需要匹配多个检查条件,因此这些匹配详细信息以匹配条件的形式提供。
为每条规则提供的任何其他信息会因规则配置、规则匹配类型和匹配详细信息等因素而不同。例如,对于带有 CAPTCHA 或 Challenge 操作的规则,将列出
captchaResponse
或challengeResponse
。如果匹配的规则位于某个规则组中,而您覆盖了其配置的规则操作,则overriddenAction
中将提供配置的操作。 - terminatingRuleId
-
终止请求的规则的 ID。如果没有任何情况会终止请求,则值为
Default_Action
。 - terminatingRuleMatchDetails
-
有关与请求匹配的终止规则的详细信息。终止规则具有针对 Web 请求结束检查过程的操作。终止规则可能的操作包括Allow、Block、CAPTCHA 和 Challenge。在检查 Web 请求期间,在与请求匹配且具有终止操作的第一条规则处,AWS WAF 停止检查并应用操作。除了日志中报告的匹配终止规则的威胁外,Web 请求可能还包含其他威胁。
这仅适用于 SQL 注入和跨站点脚本 (XSS) 匹配规则语句。匹配规则可能需要匹配多个检查条件,因此这些匹配详细信息以匹配条件的形式提供。
- terminatingRuleType
-
终止请求的规则的类型。可能的值:RATE_BASED、REGULAR、GROUP 和 MANAGED_RULE_GROUP。
- 时间戳
-
时间戳,以毫秒为单位。
- uri
-
请求的 URI。
- webaclId
-
Web ACL 的 GUID。