

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

# 元件詳細資訊
<a name="component-details"></a>

如[架構圖](architecture-overview.md#architecture-diagram)中所述，此解決方案的四個元件會使用自動化來檢查 IP 地址，並將其新增至 AWS WAF 區塊清單。以下各節會更詳細地說明這些元件。

## 日誌剖析器 - 應用程式
<a name="log-parser--application"></a>

應用程式日誌剖析器有助於防止掃描器和探查。

 **應用程式日誌剖析器流程。**

![\[應用程式日誌剖析器流程\]](http://docs.aws.amazon.com/zh_tw/solutions/latest/security-automations-for-aws-waf/images/app-log-parser-flow.png)


1. 當 CloudFront 或 ALB 代表您的 Web 應用程式接收請求時，它會將存取日誌傳送至 Amazon S3 儲存貯體。

   1. （選用） 如果您`Yes - Amazon Athena log parser`為範本參數選取 **啟用 HTTP 洪水保護**和**啟用掃描器和探查保護**，Lambda 函數會在存取日誌到達 Amazon S3 時，從原始資料夾 *<customer-bucket>* `/AWSLogs` 移至新分割的資料夾 *<customer-bucket>* `/AWSLogs-partitioned/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>*/。

   1. （選用） 如果您`yes`選取在**原始 S3 位置範本參數中保留資料**，日誌會保留在其原始位置，並複製到其分割資料夾，複製您的日誌儲存體。
**注意**  
對於 Athena 日誌剖析器，此解決方案只會在您部署此解決方案之後，分割抵達 Amazon S3 儲存貯體的新日誌。如果您有要分割的現有日誌，您必須在部署此解決方案之後，手動將這些日誌上傳至 Amazon S3。

1. 根據您對範本參數的選擇**，啟用 HTTP 洪水防護**和**啟用掃描器和探查保護**，此解決方案會使用下列其中一項處理日誌：

   1.  **Lambda** - 每次將新的存取日誌存放在 Amazon S3 儲存貯體時，就會啟動 `Log Parser` Lambda 函數。

   1.  **Athena** - 根據預設，**掃描器和探查保護** Athena 查詢每五分鐘執行一次，輸出會推送到 AWS WAF。此程序是由 CloudWatch 事件啟動，這會啟動負責執行 Athena 查詢的 Lambda 函數，並將結果推送至 AWS WAF。

1. 解決方案會分析日誌資料，以識別產生比定義配額更多錯誤的 IP 地址。解決方案接著會更新 AWS WAF IP 集合條件，在客戶定義的期間內封鎖這些 IP 地址。

## 日誌剖析器 - AWS WAF
<a name="log-parser--aws-waf"></a>

如果您`yes - Amazon Athena log parser`為**啟用 HTTP 洪水防護**選取 `yes - AWS Lambda log parser`或 ，此解決方案會佈建下列元件，以剖析 AWS WAF 日誌來識別和封鎖以大於您定義配額的請求率洪水端點的原始伺服器。

 **AWS WAF 日誌剖析器流程。**

![\[waf 日誌剖析器流程\]](http://docs.aws.amazon.com/zh_tw/solutions/latest/security-automations-for-aws-waf/images/waf-log-parser-flow.png)


1. 當 AWS WAF 收到存取日誌時，會將日誌傳送至 Firehose 端點。接著 Firehose 會將日誌交付至 Amazon S3 中名為 *<customer-bucket>* `/AWSLogs/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* 的分割儲存貯體 `/` 

1. 根據您為範本參數選擇**啟用 HTTP 洪水防護**和**啟用掃描器和探查保護**，此解決方案會使用下列其中一項處理日誌：

   1.  **Lambda**：每次在 Amazon S3 儲存貯體中存放新的存取日誌時，都會啟動 `Log Parser` Lambda 函數。

   1.  **Athena：**根據預設，每五分鐘會執行掃描器和探查 Athena 查詢，並將輸出推送至 AWS WAF。此程序是由 Amazon CloudWatch 事件啟動，然後啟動負責執行 Amazon Athena 查詢的 Lambda 函數，並將結果推送至 AWS WAF。

1. 解決方案會分析日誌資料，以識別傳送的請求超過定義配額的 IP 地址。解決方案接著會更新 AWS WAF IP 集合條件，在客戶定義的期間內封鎖這些 IP 地址。

## 日誌剖析器 - 錯誤的機器人
<a name="log-parser--badbot"></a>

錯誤的機器人日誌剖析器會檢查對 Honeypot 端點的請求，以擷取其來源 IP 地址。

 **錯誤的機器人日誌剖析器流程。**

![\[badbot 日誌剖析器流程\]](http://docs.aws.amazon.com/zh_tw/solutions/latest/security-automations-for-aws-waf/images/badbot-log-parser-flow.png)


1. 如果 `Bad Bot Protection` 已啟用，且同時停用 HTTP 洪水防護和掃描器與探查防護功能：系統會使用 Log Lambda 剖析器，該剖析器只會根據 [WAF 標籤篩選條件](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html)記錄錯誤的機器人請求。

1. Lambda 函數會攔截和檢查請求標頭，以擷取存取陷阱端點之來源的 IP 地址。

1. 解決方案會分析日誌資料，以識別傳送的請求超過定義配額的 IP 地址。解決方案接著會更新 AWS WAF IP 集合條件，在客戶定義的期間內封鎖這些 IP 地址。

## IP 清單剖析器
<a name="ip-lists-parser"></a>

`IP Lists Parser` Lambda 函數有助於防範第三方 IP 評價清單中識別的已知攻擊者。

 **IP 運算會列出剖析器流程。**

![\[ip 評價清單流程\]](http://docs.aws.amazon.com/zh_tw/solutions/latest/security-automations-for-aws-waf/images/ip-reputation-lists-flow.png)


1. 每小時 Amazon CloudWatch 事件會叫用 `IP Lists Parser` Lambda 函數。

1. Lambda 函數會從三個來源收集和剖析資料：
   + Spamhaus DROP 和 EDROP 清單
   + Proofpoint 新興威脅 IP 清單
   + Tor 結束節點清單

1. Lambda 函數會使用目前的 IP 地址更新 AWS WAF 封鎖清單。