AWS WAF は、アプリケーションの可用性、セキュリティ侵害、リソースの過剰消費に影響を及ぼす可能性のある一般的な攻撃パターンをブロックする、アプリケーション固有のカスタムルールを迅速に作成できるウェブアプリケーションファイアウォールです。AWS WAF では、セキュリティ自動化を簡単にする API を介して完全に管理できるため、迅速なルール伝達およびインシデント対応が可能になります。

ウェブアプリケーションファイアウォール戦略を設定することは、大規模および小規模な組織にとって、特に専門のセキュリティチームがない組織にとっては難しく、負担になる場合があります。このプロセスを簡素化するために、AWS では AWS CloudFormation を使用したソリューションを提供しており、一般的なウェブベースの攻撃をフィルターするよう設計された AWS WAF のルールセットが自動的にデプロイされます。ユーザーは、右の図に示されているように、AWS WAF ウェブアクセスコントロールリスト (ウェブ ACL) に含まれるルールで定義された、事前設定の保護機能から選択できます。ソリューションがデプロイされると、AWS WAF では、ユーザーの既存の Amazon CloudFront ディストリビューションや Application Load Balancer に対するウェブリクエストの検査を開始し、適宜リクエストをブロックします。

waf-solution-configuration

AWS WAF セキュリティオートメーションのソリューションでは、ウェブアプリケーションへのアクセスを試みるリクエストをきめ細かく制御できます。以下の図は、ソリューション実装ガイドや添付の AWS CloudFormation テンプレートを使用しながら構築できるアーキテクチャーです (Amazon CloudFront でデプロイされたウェブアプリケーション用と、Application Load Balancer を使ってデプロイされたウェブアプリケーション用があります)。

設計の中心にあるのは、すべての受信リクエストに対して一元化された検査および決定ポイントとして動作する AWS WAF のウェブ ACL です。選択してアクティブ化した保護機能により、ウェブ ACL に追加されるカスタムルールが決まります。

waf-solution-architecture
  • ハニーポット (A): このコンポーネントにより、コンテンツスクレーパーや悪意のあるボットをおびき寄せるハニースポットが作成されます。カスタムの AWS Lambda 関数は、個別の API Gateway エンドポイント (ウェブアプリケーションに埋め込まれている) によってトリガーされると、疑わしいリクエストをインターセプトして検査し、その送信元 IP アドレスを AWS WAF ブロックリストに追加します。
  • SQL インジェクション (B) とクロスサイトスクリプト (C) 保護: このソリューションにより、URI、クエリ文字列、リクエスト本文内の一般的な SQL インジェクションやクロスサイトスクリプトパターンから保護する 2 つのネイティブ AWS WAF ルールが自動的に設定されます。
  • ログ解析 (D): AWS Lambda のカスタム関数により、アクセスログを自動的に解析して、疑わしい動作を特定し、該当する送信元 IP アドレスを AWS WAF ブロックリストに追加できます。
  • 手動 IP リスト (E): このコンポーネントにより 2 つの特定の AWS WAF ルールが作成され、ブロック (ブラックリスト) または許可 (ホワイトリスト) する IP アドレスを手動で追加できます。
  • IP リスト解析 (F): カスタムの AWS Lambda 関数により、サードパーティの IP 評価リストが 1 時間ごとに自動的にチェックされ、悪意のある IP アドレスが AWS WAF ブロックリストに追加されます。
ソリューションをデプロイする
実装ガイド

以下の内容を実行します。

AWS CloudFormation を使用して、AWS WAF ルールを迅速に設定します。AWS CloudFormation テンプレートにより、最初のデプロイ時に含めるように選択した AWS WAF の設定と保護機能が自動的に起動および設定されます。

このソリューションのカスタムホワイトリストおよびブラックリストをセットで使用して、必要なときにいつでもウェブ ACL を手動でカスタマイズします。

Amazon CloudWatch に自動的に実行メトリクスを発行して、AWS WAF ルールの有効性を確認します。

開始する前に以下の準備が必要です。

AWS アカウント: リソースのプロビジョニングを開始するには、AWS アカウントが必要です。AWS にサインアップする

Amazon CloudFront ディストリビューションや Application Load Balancer: AWS WAF は、CloudFront ディストリビューションとアプリケーションのロードバランサーのリクエストをモニタリングするよう設計されています。まだ設定していない場合は、ソリューション実装ガイドで、開始するための詳細情報をご覧ください。

スキルレベル: このソリューションは、ウェブアプリケーションファイアウォールと AWS クラウドでのアーキテクチャ設計に関する実経験がある IT インフラストラクチャおよびセキュリティのプロフェッショナルを対象としています。

Q: AWS WAF セキュリティオートメーションを既存のウェブアプリケーションファイアウォール戦略に組み込むことは可能ですか?

はい。既存のルールとソリューションによって作成されたルールを単一のウェブ ACL に集約できます。個々のウェブ ACL には、ルールの制限 が適用されることに注意してください。詳細については AWS WAF 開発者ガイドを参照してください。

Q: このソリューションを使用して、複数のウェブアプリケーションを保護できますか?

はい。ソリューションをデプロイすると、そのウェブ ACL を (このソリューションに含まれるすべてのルールとともに) 複数のウェブアプリケーションに関連付けることができます。ソリューションで作成されるウェブ ACL が CloudFront ディストリビューションと Application Load Balancer のどちらと互換性があるかは、使用する AWS CloudFormation テンプレートのバージョンによって変わります。

Q: AWS WAF セキュリティオートメーションの機能を拡張できますか?

はい。このソリューションで提供されているすべてのルールは修正やカスタマイズできます。最初の設定中に、テンプレートパラメータを使用してルールの動作と AWS Lambda 関数のコードを制御できます。

Q: AWS WAF セキュリティオートメーションのソリューションをサードパーティのウェブアプリケーションファイアウォールと統合できますか?

いいえ。これらのルールは AWS WAF サービスに固有のものです。

Q: AWS WAF セキュリティオートメーションを実行するにはどれくらいのコストがかかりますか?

このリファレンスデプロイの実行中に使用した AWS のサービスのコストは、お客様が負担します。このコストは、アプリケーションで受信したリクエスト数と、リソースをデプロイした AWS リージョンによって決まります。料金詳細については、実装ガイドを参照してください。

Q: AWS WAF セキュリティオートメーションはすべての AWS リージョンにデプロイできますか?

このソリューションの AWS CloudFormation テンプレートは、AWS Lambda と Amazon API Gateway が利用できる AWS リージョンのみにデプロイできます。ただし、いったんデプロイすると、AWS WAF ではすべての AWS リージョンでウェブリクエストをモニタリングできるようになります。

AWS の利用を開始するためにさらにリソースが必要ですか。AWS クラウドの開始方法にアクセスして、AWS を開始するためのチュートリアル、プロジェクト、ビデオをご確認ください。

ご意見をお寄せください