コンポーネントの詳細
アーキテクチャの図で説明した通り、このソリューションの 4 つのコンポーネントはオートメーションを使用して IP アドレスを検査し、AWS WAF ブロックリストに追加します。次のセクションでは、これらの各コンポーネントについて詳しく説明します。
ログパーサー – アプリケーション
アプリケーションログパーサーは、スキャナーとプローブから保護するのに役立ちます。
アプリケーションログパーサーフロー。

-
CloudFront または ALB がウェブアプリケーションに代わってリクエストを受信すると、アクセスログを Amazon S3 バケットに送信します。
-
(オプション) [Activate HTTP Flood Protection] と [Activate Scanner & Probe Protection] テンプレートパラメータで
Yes - Amazon Athena log parser
を選択すると、Lambda 関数はアクセスログが Amazon S3 に到着した時点で元のフォルダ<customer-bucket>
/AWSLogs
から新しくパーティション分割されたフォルダ<customer-bucket>
/AWSLogs-partitioned/
<optional-prefix>
/year=
<YYYY>
/month=
<MM>
/day=
<DD>
/hour=
<HH>
/ に移動します。 -
(オプション) Keep Data in Original S3 location テンプレートパラメータで [
yes
] を選択すると、ログは元の場所に残り、パーティション分割されたフォルダにコピーされ、ログストレージが複製されます。注記
Athena ログパーサーの場合、このソリューションは、このソリューションのデプロイ後に Amazon S3 バケットに到着する新しいログのみをパーティション分割します。パーティション分割したい既存のログがある場合は、このソリューションをデプロイした後、これらのログを手動で Amazon S3 にアップロードする必要があります。
-
-
Activate HTTP Flood Protection と Activate Scanner & Probe Protection のテンプレートパラメータでの選択に基づいて、このソリューションは次のいずれかを使用してログを処理します。
-
Lambda – 新しいアクセスログが Amazon S3 バケットに保存されるたびに、
Log Parser
Lambda 関数が開始されます。 -
Athena – デフォルトでは、Scanner & Probe Protection Athena クエリが 5 分ごとに実行され、出力が AWS WAF にプッシュされます。このプロセスは CloudWatch イベントによって開始されます。このイベントは Athena クエリの実行を担当する Lambda 関数を開始し、その結果を AWS WAF にプッシュします。
-
-
このソリューションは、ログデータを分析して、定義されたクォータよりも多くのエラーを生成した IP アドレスを特定します。次に、このソリューションは AWS WAF IP セット条件を更新して、お客様が定義した期間、それらの IP アドレスをブロックします。
ログパーサー – AWS WAF
Activate HTTP Flood Protection で [yes - AWS Lambda log parser
] または [yes - Amazon Athena log parser
] を選択すると、このソリューションは次のコンポーネントをプロビジョニングします。これらのコンポーネントは AWS WAF ログを解析して、定義したクォータを超えるリクエストレートでエンドポイントをフラッドするオリジンを識別してブロックします。
AWS WAF ログパーサーフロー。

-
AWS WAF はアクセスログを受信すると、ログを Firehose エンドポイントに送信します。その後、Firehose は Amazon S3 内のパーティション分割されたバケット
<customer-bucket>
/AWSLogs/
<optional-prefix>
/year=
<YYYY>
/month=
<MM>
/day=
<DD>
/hour=
<HH>
/
にログを配信します。 -
Activate HTTP Flood Protection と Activate Scanner and Probe Protection のテンプレートパラメータでの選択に基づいて、このソリューションは次のいずれかを使用してログを処理します。
-
Lambda: 新しいアクセスログが Amazon S3 バケットに保存されるたびに、
Log Parser
Lambda 関数が開始されます。 -
Athena: デフォルトで、スキャナーとプローブの Athena クエリが 5 分ごとに実行され、その出力が AWS WAF にプッシュされます。このプロセスは、Amazon CloudWatch イベントによって開始され、その後 Amazon Athena クエリの実行を担当する Lambda 関数が開始され、その結果が AWS WAF にプッシュされます。
-
-
このソリューションは、ログデータを分析して、定義されたクォータよりも多くのリクエストを送信した IP アドレスを特定します。次に、このソリューションは AWS WAF IP セット条件を更新して、お客様が定義した期間、それらの IP アドレスをブロックします。
IP リストパーサー
IP Lists Parser
Lambda 関数は、サードパーティーの IP 評価リストで識別された既知の攻撃者からの保護に役立ちます。
IP 評価リストパーサーフロー。

-
1 時間ごとの Amazon CloudWatch イベントにより
IP Lists Parser
Lambda 関数が起動されます。 -
Lambda 関数は、次の 3 つのソースからデータを収集して解析します。
-
Spamhaus DROP と EDROP リスト
-
Proofpoint Emerging Threats IP リスト
-
Tor exit node list
-
-
Lambda 関数は、AWS WAF ブロックリストを現在の IP アドレスで更新します。
Access Handler
Access Handler
Lambda 関数は、ハニーポットエンドポイントへのリクエストを検査して、それらの送信元 IP アドレスを抽出します。
Access Handler とハニーポットエンドポイント。

-
「ウェブアプリケーションにハニーポットリンクを埋め込む (オプション)」で説明した通り、ハニーポットエンドポイントをウェブサイトに埋め込み、ロボットの除外基準を更新します。
-
コンテンツスクレイパーまたは悪質なボットがハニーポットエンドポイントにアクセスすると、
Access Handler
Lambda 関数が起動されます。 -
Lambda 関数は、リクエストヘッダーを傍受して検査し、トラップエンドポイントにアクセスした送信元 IP アドレスを抽出します。
-
Lambda 関数は AWS WAF IP セットの条件を更新して、これらの IP アドレスをブロックします。