Web ACL 流量的日志字段 - AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced

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。

如果您使用覆盖规则操作选项覆盖要计数的规则,则此处不会列出匹配项。它们被列为操作对 actionoverriddenAction.

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,应用程序负载均衡器为 ALBAPPSYNC 为 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 操作的规则,将列出 captchaResponsechallengeResponse。如果匹配的规则位于某个规则组中,而您覆盖了其配置的规则操作,则 overriddenAction 中将提供配置的操作。

超大字段

Web 请求中经过 Web ACL 检查且超出 AWS WAF 检查限制的字段列表。如果字段过大,但 Web ACL 未对其进行检查,则不会在此处列出该字段。

此列表可以包含以下零个或多个值:REQUEST_BODYREQUEST_JSON_BODYREQUEST_HEADERSREQUEST_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 地址,则 limitvalueINVALID

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 操作的规则,将列出 captchaResponsechallengeResponse。如果匹配的规则位于某个规则组中,而您覆盖了其配置的规则操作,则 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。