AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト-プロフェッショナル

正解 C問題
要復習(もう一度解きたい問題) 1 2 3 4
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
あなたは、非常に大規模な e コマースサイトの全体的なセキュリティ体制を強化するために雇われました。このサイトは VPC 上で稼働する適切に設計された多層アプリケーションで、Web 層とアプリ層のそれぞれの前段に ELB を配置し、静的アセットは Amazon S3 から直接配信しています。動的データには Amazon RDS と Amazon DynamoDB を組み合わせて使用​​し、Amazon EMR でさらに処理するために毎晩 Amazon S3 へアーカイブしています。最近、疑わしいログエントリが見つかり、SQL インジェクションなどの Web アプリケーション層への攻撃が試みられているのではないかと懸念しています。この種の攻撃に対して費用対効果が高く、スケーラブルな緩和策を提供するアプローチはどれですか。
  • AWS Direct Connect パートナーのロケーションにラックスペースを借り、VPC への 1Gbps の Direct Connect 接続を確立する。そのラックにインターネット回線を引き込み、ハードウェア型の Web アプリケーションファイアウォール (WAF) でトラフィックをフィルタリングしたうえで、Direct Connect 接続を介して VPC 内のアプリケーションへトラフィックを渡す。
  • これまでに特定された攻撃元の送信元 IP アドレスを、Web 層サブネットのネットワーク ACL にインバウンドの DENY ルールとして明示的に追加する。
  • ホストベースの WAF を実行する Amazon EC2 インスタンスの Auto Scaling グループと、その前段に配置する新しい ELB によって WAF 層を追加する。Amazon Route 53 が新しい WAF 層の ELB に解決するよう変更し、WAF 層は検査後のトラフィックを現在の Web 層へ渡す。Web 層のセキュリティグループは、WAF 層のセキュリティグループからのトラフィックのみを許可するように更新する。
  • Web 層の ELB から TLS 1.2 以外のプロトコルをすべて削除し、高度なプロトコルフィルタリングを有効にする。これにより、ELB 自体が WAF の機能を実行できるようになる。
解説 頻出度★★★★★
この問題は、「L7 の Web アプリケーション攻撃 × 費用対効果 × スケーラビリティ」の要件で、ELB の背後にスケールする WAF 層を挟み、セキュリティグループで WAF 層以外からの直接アクセスを遮断するという多層防御の設計を選べるかがポイント

A. AWS Direct Connect パートナーのロケーションにラックスペースを借り、VPC への 1Gbps の Direct Connect 接続を確立する。そのラックにインターネット回線を引き込み、ハードウェア型の Web アプリケーションファイアウォール (WAF) でトラフィックをフィルタリングしたうえで、Direct Connect 接続を介して VPC 内のアプリケーションへトラフィックを渡す。

Direct Connect パートナーのラックを借り、専用線とハードウェア WAF を持ち込む構成は、初期費用・月額費用ともに極めて高く「費用対効果が高い」とは真逆
さらにハードウェア機器はスループットが機器のスペックで頭打ちになるため、非常に大規模な e コマースサイトのトラフィック増に対してスケールしない。
Direct Connect はオンプレミスと AWS を結ぶ専用線サービスであって、インターネットからの一般利用者のトラフィックを通す経路として設計するものではない。

B. これまでに特定された攻撃元の送信元 IP アドレスを、Web 層サブネットのネットワーク ACL にインバウンドの DENY ルールとして明示的に追加する。

ネットワーク ACL による送信元 IP の DENY は、すでに観測された攻撃元 IP を事後的に塞ぐだけの後追い対策。攻撃者は IP を容易に変えられるため、根本的な緩和策にならない。
加えてネットワーク ACL のルール数には上限があり、IP を追加し続ける運用はスケールしない。
そもそも NACL は L3/L4(IP・ポート)でしか判定できず、HTTP リクエストの中身(SQL インジェクションのペイロード等)を検査できない

正解

C. ホストベースの WAF を実行する Amazon EC2 インスタンスの Auto Scaling グループと、その前段に配置する新しい ELB によって WAF 層を追加する。Amazon Route 53 が新しい WAF 層の ELB に解決するよう変更し、WAF 層は検査後のトラフィックを現在の Web 層へ渡す。Web 層のセキュリティグループは、WAF 層のセキュリティグループからのトラフィックのみを許可するように更新する。

ホストベース WAF を載せた EC2 を Auto Scaling グループで運用し、その前段に ELB を置くことで、トラフィック量に応じて検査能力を水平スケールさせつつ、必要な分だけの従量課金に抑えられる(ハードウェア購入と違い固定費が発生しない)。
Route 53 の向き先を新しい WAF 層の ELB に変えるだけで、既存の多層アプリケーションを作り替えずに WAF 層を差し込める
さらに Web 層のセキュリティグループを「WAF 層のセキュリティグループからのトラフィックのみ許可」に更新することで、攻撃者が WAF を迂回して Web 層 ELB に直接アクセスする経路を塞いでいる。この「迂回路を塞ぐ」一文があることが、この選択肢を正解たらしめる決め手。

D. Web 層の ELB から TLS 1.2 以外のプロトコルをすべて削除し、高度なプロトコルフィルタリングを有効にする。これにより、ELB 自体が WAF の機能を実行できるようになる。

ELB には WAF としてリクエスト内容を検査する機能はない。「高度なプロトコルフィルタリング」というオプションも存在せず、選択肢自体が架空の機能を語っている。
TLS 1.2 のみを許可することは通信の暗号化強度を高めるだけで、暗号化された中身に含まれる SQL インジェクション等の攻撃には無力。
「暗号化」と「アプリケーション層の攻撃防御」を混同させる典型的な誤答。

構成図

利用者/攻撃者
   ▼
Amazon Route 53
   ▼
新しい ELB ─▶ WAF 層(EC2 の Auto Scaling グループ / ホストベース WAF)
                 │ 検査済みトラフィックのみ
                 ▼
              既存の Web 層 ELB ─▶ Web 層
              (Web 層の SG は WAF 層の SG からのみ許可=迂回不可)
これだけ覚える(記憶フック)
L7 の攻撃は L3/L4 の道具(NACL・TLS 設定)では止まらない。WAF 層を前段に置き、SG で迂回路を塞ぐ。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
SQL インジェクション等、Web アプリケーション層(L7)への攻撃 判定にはリクエストの中身の検査が必要。NACL(L3/L4)や TLS 設定では防げない
→選択肢(B・D)を消す
費用対効果が高いこと 専用線+ハードウェア機器の持ち込みは固定費が巨大。EC2 の従量課金でスケールさせる方が安い
→選択肢(A)を消す
スケーラブルであること(非常に大規模なサイト) Auto Scaling グループ+ELB なら検査層をトラフィックに応じて水平スケールできる
→選択肢(C)が正解
既存の多層アーキテクチャを活かして導入したい Route 53 の向き先を WAF 層の ELB に変えるだけで前段に挿入できる。アプリの改修が不要
→選択肢(C)が正解
攻撃者に WAF を迂回されないこと Web 層の SG を「WAF 層の SG からのみ許可」に更新して直接アクセスを遮断する点が決め手
→選択肢(C)が正解
ひっかけポイント
  • 選択肢 D の「ELB 自体が WAF 機能を実行できるようになる」は存在しない機能。ELB は L4/L7 のロードバランサーであって、攻撃ペイロードの検査はしない
  • 「TLS 1.2 のみ許可」は正しいセキュリティ強化策に見えるのが罠。通信路を強く暗号化しても、その中を流れる SQL インジェクションはそのまま通過する
  • 選択肢 B の NACL による IP 拒否は「すでに特定された IP」限定。攻撃元 IP は変わる/ルール数に上限があるため、スケーラブルな緩和策にならない
  • 選択肢 C を選ぶ決め手は最後の一文(Web 層 SG を WAF 層 SG からのみ許可に更新)。WAF 層を置いても迂回できるなら意味がない、という多層防御の作法が問われている
  • この設問には AWS WAF(マネージドサービス)が選択肢に無い。実務では ALB / CloudFront に AWS WAF をアタッチするのが第一選択だが、試験では与えられた選択肢の中で最良のものを選ぶ
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「選択肢に AWS WAF がある」 ALB / Amazon CloudFront / API Gateway に AWS WAF をアタッチするのが正解に(自前 WAF 層より運用負荷が低い)。
大規模な DDoS(L3/L4)への耐性を高めたい」 AWS Shield Advanced+CloudFront / Route 53 が正解軸に。WAF は L7 の話。
ボットによるスクレイピングや不正ログインを抑えたい」 AWS WAF Bot Control や Account Takeover Prevention のマネージドルールが正解に。
既知の悪意ある IPを大量に、かつ自動更新でブロックしたい」 AWS WAF の IP セットや Amazon IP Reputation マネージドルールが正解軸に(NACL 手動追加ではない)。
EC2 インスタンスへの侵害や異常な API 呼び出しを検知したい」 防御ではなく検知の話になり Amazon GuardDuty が正解に。
関連サービスの解説 Amazon DynamoDB
Amazon EC2
Amazon EC2 Auto Scaling
Amazon EMR
Amazon RDS
Amazon Route 53
Amazon Simple Storage Service (Amazon S3)
Elastic Load Balancing (ELB)
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 76%
No.15 解説
あなたは、非常に大規模な e コマースサイトの全体的なセキュリティ体制を強化するために雇われました。このサイトは VPC 上で稼働する適切に設計された多層アプリケーションで、Web 層とアプリ層のそれぞれの前段に ELB を配置し、静的アセットは Amazon S3 から直接配信しています。動的データには Amazon RDS と Amazon DynamoDB を組み合わせて使用​​し、Amazon EMR でさらに処理するために毎晩 Amazon S3 へアーカイブしています。最近、疑わしいログエントリが見つかり、SQL インジェクションなどの Web アプリケーション層への攻撃が試みられているのではないかと懸念しています。この種の攻撃に対して費用対効果が高く、スケーラブルな緩和策を提供するアプローチはどれですか。
  • AWS Direct Connect パートナーのロケーションにラックスペースを借り、VPC への 1Gbps の Direct Connect 接続を確立する。そのラックにインターネット回線を引き込み、ハードウェア型の Web アプリケーションファイアウォール (WAF) でトラフィックをフィルタリングしたうえで、Direct Connect 接続を介して VPC 内のアプリケーションへトラフィックを渡す。
  • これまでに特定された攻撃元の送信元 IP アドレスを、Web 層サブネットのネットワーク ACL にインバウンドの DENY ルールとして明示的に追加する。
  • ホストベースの WAF を実行する Amazon EC2 インスタンスの Auto Scaling グループと、その前段に配置する新しい ELB によって WAF 層を追加する。Amazon Route 53 が新しい WAF 層の ELB に解決するよう変更し、WAF 層は検査後のトラフィックを現在の Web 層へ渡す。Web 層のセキュリティグループは、WAF 層のセキュリティグループからのトラフィックのみを許可するように更新する。
  • Web 層の ELB から TLS 1.2 以外のプロトコルをすべて削除し、高度なプロトコルフィルタリングを有効にする。これにより、ELB 自体が WAF の機能を実行できるようになる。

(会員限定)当問題の評価をお願いします。改善に活用します。