

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 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>

如果您選擇`Yes - AWS Lambda log parser`**啟用 HTTP 洪水防護**範本參數，此解決方案會建立名為 的組態檔案，並將其` <stack_name>-waf_log_conf.json`上傳至用於存放 AWS WAF 日誌檔案的 Amazon S3 儲存貯體。若要尋找儲存貯體名稱，請參閱 CloudFormation 輸出中的 **WafLogBucket** 變數。下圖顯示範例。

 **螢幕擷取畫面，描述標記為 AWSWAFSecurityAutomations 的螢幕並列出四個輸出** 

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


如果您在 Amazon S3 上編輯和覆寫` <stack_name>-waf_log_conf.json`檔案，`Log Parser`Lambda 函數會在處理新的 AWS WAF 日誌檔案時考慮新的值。以下是範例組態檔案：

 **範例組態檔案的螢幕擷取畫面** 

![http 洪水組態](http://docs.aws.amazon.com/zh_tw/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 洪水**的 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 儲存貯體。

如果您在 ` <stack_name>-app_log_conf.json` Amazon S3 上編輯和覆寫 ，`Log Parser`Lambda 函數會在處理新的 AWS WAF 日誌檔案時考慮新的值。以下是範例組態檔案：

 **組態檔案的螢幕擷取畫面** 

![掃描器探查組態檔案](http://docs.aws.amazon.com/zh_tw/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 地址清單，解決方案會將它們新增至**掃描器和探查**的 WAF IP 集，並封鎖它們存取您的應用程式。如果輸出檔案沒有 IP 地址，請檢查您的組態檔案是否有效，或是否已根據組態檔案超過速率限制。