Q8 — AWS SAP-C02 第3章
第 8/75 問 | ← 第3章
Q233. ある企業のパブリック API は、Amazon Elastic Container Service(Amazon ECS)上でタスクとして実行されています。これらのタスクは AWS Fargate 上で実行され、Application Load Balancer(ALB)の後ろに配置されており、CPU 使用率に基づく Service Auto Scaling がタスクに対して設定されています。このサービスは数か月にわたり正常に稼働していましたが、最近、API のパフォーマンスが著しく低下し、アプリケーションが使用不能になりました。企業は、API に対して多数の SQL インジェクション攻撃が発生しており、API サービスが最大スケールまで拡張されたことを確認しました。 ソリューションアーキテクトは、SQL インジェクション攻撃が ECS API サービスに到達するのを防ぐソリューションを実装する必要があります。このソリューションは、正当なトラフィックを通過させることを保証し、運用効率を最大化しなければなりません。 これらの要件を満たすソリューションはどれですか?
- A. ALB(ECS タスクの前段に配置)に転送される HTTP/HTTPS リクエストを監視する新しい AWS WAF Web ACL を作成します。
- B. 新しい AWS WAF Bot Control 実装を作成します。AWS WAF Bot Control のマネージドルールグループにルールを追加し、ALB(ECS タスクの前段に配置)へのトラフィックを監視して、正当なトラフィックのみを許可します。
- C. 新しい AWS WAF Web ACL を作成します。SQL データベースルールグループに一致するリクエストをブロックする新しいルールを追加します。Web ACL のデフォルトアクションを「一致しないすべてのトラフィックを許可」に設定し、ALB(ECS タスクの前段に配置)にアタッチします。 ✓
- D. 新しい AWS WAF Web ACL を作成します。AWS WAF 内に新しい空の IP セットを作成し、その IP セットに含まれる IP アドレスからのリクエストをブロックするルールを Web ACL に追加します。さらに、API ログから SQL インジェクション攻撃を送信している IP アドレスを抽出する AWS Lambda 関数を作成し、該当する IP アドレスをその IP セットに追加します。この Web ACL を ALB(ECS タスクの前段に配置)にアタッチします。
正解: C. 新しい AWS WAF Web ACL を作成します。SQL データベースルールグループに一致するリクエストをブロックする新しいルールを追加します。Web ACL のデフォルトアクションを「一致しないすべてのトラフィックを許可」に設定し、ALB(ECS タスクの前段に配置)にアタッチします。
解説
SQL インジェクション攻撃が ECS API サービスに到達するのを防ぐには、AWS WAF(Web Application Firewall)の Web ACL を新規作成し、SQL データベースルールグループに一致するリクエストをブロックするルールを追加するのが最適です。Web ACL のデフォルトアクションは「一致しないトラフィックを許可」に設定し、ALB(ECS タスクの前段)にアタッチします。これにより、SQL インジェクション攻撃を防止しつつ、正当なトラフィックを通過させ、運用効率も最大化できます。 したがって、正解は選択肢 C です。 選択肢 A は、ALB に転送される HTTP/HTTPS リクエストの監視を目的としており、SQL インジェクション攻撃に対する保護機能を提供しません。選択肢 B は、ボットトラフィックの制御に焦点を当てており、SQL インジェクション攻撃の検出・防止には特化していません。選択肢 D は、API ログを解析して攻撃元 IP を動的にブロックする仕組みですが、WAF の SQL データベースルールグループを利用する方法と比べて、実装・運用の複雑さが増し、リアルタイム性や保守性の面でも劣ります。よって、最も適切なソリューションは、SQL データベースルールグループを活用した AWS WAF Web ACL の作成、ルールの追加、および ALB へのアタッチです。これにより、SQL インジェクション攻撃に対する保護を確実に実現しつつ、正当なトラフィックの通過と運用効率の最大化を両立できます。