

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Lambda 日志解析器 JSON 文件
<a name="use-lambda-log-parser-json-file"></a>

## 使用 Lambda 日志解析器 JSON 文件进行 HTTP 洪水防护
<a name="use-lambda-log-parser-json-file-for-http-flood-protection"></a>

如果您选择**激活 HTTP 防洪**模板参数，则此解决方案会创建一个名`Yes - AWS Lambda log parser`为的配置文件` <stack_name>-waf_log_conf.json`并将其上传到用于存储 AWS WAF 日志文件的 Amazon S3 存储桶。要查找存储桶名称，请参阅 CloudFormation 输出中的**WafLogBucket**变量。下图显示了一个示例。

 **屏幕截图描绘了标有 “ AWSWAFSecurity自动化” 的屏幕并列出了四个输出** 

![堆栈输出](http://docs.aws.amazon.com/zh_cn/solutions/latest/security-automations-for-aws-waf/images/stack-outputs.png)


如果您在 Amazon S3 上编辑和覆盖该` <stack_name>-waf_log_conf.json`文件，Lamb `Log Parser` da 函数在处理新的 AWS WAF 日志文件时会考虑新值。以下是一个示例代理配置文件：

 **示例配置文件的屏幕截图** 

![http 洪水配置](http://docs.aws.amazon.com/zh_cn/solutions/latest/security-automations-for-aws-waf/images/http-flood-config.png)


参数包括以下内容：
+ 常规：
  +  **请求阈值（必填）**-每个 IP 地址每五分钟可接受的最大请求数。此解决方案使用您在配置或更新 CloudFormation 堆栈时定义的值。
  +  **封禁期限（必填）**-封锁适用 IP 地址的时间段（以分钟为单位）。此解决方案使用您在配置或更新 CloudFormation 堆栈时定义的值。
  +  **忽略的后缀**-访问此类资源的请求不计入请求阈值。默认情况下，此列表为空。
+  **URI 列表**-使用它来定义自定义请求阈值和屏蔽期限，以了解具体情况 URLs。默认情况下，此列表为空。

当 WAF 日志到达时 **WafLogBucket**，Lambda 日志解析器函数将使用您的配置文件中的配置对其进行处理。该解决方案将结果写入同一个存储桶` <stack_name>-waf_log_out.json`中名为的输出文件中。如果输出文件包含识别为攻击者的 IP 地址列表，则该解决方案会将其添加到 **HTTP Floo** d 的 WAF IP 集中，并阻止他们访问您的应用程序。如果输出文件没有 IP 地址，请根据配置文件检查您的配置文件是否有效或者是否已超过速率限制。

## 使用 Lambda 日志解析器 JSON 文件进行扫描和探测保护
<a name="use-lambda-log-parser-json-file-for-scanner-and-probe-protection"></a>

如果您选择 “**激活扫描器和探测保护**” 模板参数，则此解决方案会创建一个名`Yes - AWS Lambda log parser`为的配置文件` <stack_name>-app_log_conf.json`并将其上传到用于存储 CloudFront 或 Application Load Balancer 日志文件的已定义 Amazon S3 存储桶。

如果您在 Amazon S3 上进行编辑和覆盖，Lamb `Log Parser` da 函数` <stack_name>-app_log_conf.json`在处理新的 AWS WAF 日志文件时会考虑新值。以下是一个示例代理配置文件：

 **配置文件屏幕截图** 

![扫描仪探测器配置文件](http://docs.aws.amazon.com/zh_cn/solutions/latest/security-automations-for-aws-waf/images/scanner-probes-config-file.png)


参数包括以下内容：
+ 常规：
  +  **错误阈值（必填）**-每个 IP 地址每分钟可接受的最大错误请求数。此解决方案使用您在配置或更新 CloudFormation 堆栈时定义的值。
  +  **封禁期限（必填）**-封锁适用 IP 地址的时间段（以分钟为单位）。此解决方案使用您在配置或更新 CloudFormation 堆栈时定义的值。
  +  **错误代码**-返回状态码被视为错误。默认情况下，该列表将以下 HTTP 状态代码视为错误：`400 (Bad Request)``401 (Unauthorized)`、`403 (Forbidden)`、`404 (Not Found)`、和`405 (Method Not Allowed)`。
+  **URI 列表**-使用它来定义自定义请求阈值和屏蔽期限，以了解具体情况 URLs。默认情况下，此列表为空。

当应用程序访问日志到达时 **AppAccessLogBucket**，`Log Parser`Lambda 函数会使用您的配置文件中的配置对其进行处理。该解决方案将结果写入同一个存储桶中名为 ` <stack_name>``-app\_log\_out.json` 的输出文件中。如果输出文件包含识别为攻击者的 IP 地址列表，则该解决方案会将其添加到 S **canner & Prob** e 的 WAF IP 集中，并阻止他们访问您的应用程序。如果输出文件没有 IP 地址，请根据配置文件检查您的配置文件是否有效或者是否已超过速率限制。