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

セキュリティ-専門知識

正解 A問題
分野3:インフラストラクチャのセキュリティ タスクステートメント3.3:ネットワークセキュリティコントロールを設計し、トラブルシューティングする。
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
あるオンライン決済サービスの担当者は、パブリックサブネットに配置した Amazon EC2 インスタンス上で HTTPS (443番ポート) の決済 API を公開しようとしている。設定済みの内容は次のとおりである。

・セキュリティグループ: インバウンドで 0.0.0.0/0 から 443番ポートへのアクセスを許可。アウトバウンドはデフォルト(すべて許可)のまま
・サブネットに関連付けたカスタムネットワーク ACL (NACL): インバウンドで 0.0.0.0/0 から 443番ポートへのアクセスを許可するルールのみを追加し、アウトバウンドはデフォルトの拒否のまま変更していない

インターネット上のクライアントがこの API にリクエストを送信し、正しく応答を受け取れるようにするために追加で必要な設定はどれか。
  • NACL のアウトバウンドルールに、クライアントへの応答トラフィックを通すためエフェメラルポート範囲 (1024-65535) 宛のアクセスを許可するルールを追加する
  • セキュリティグループはステートレスであるため、443番ポートからの応答をクライアントに返せるよう、アウトバウンドルールに 443番ポート宛の許可を明示的に追加する
  • サブネットのルートテーブルに、エフェメラルポート範囲宛の戻りトラフィックをインターネットゲートウェイへ転送するルートを追加する
  • 現在の設定で要件は満たされており、追加の設定は不要である
解説 頻出度★★★★
この問題は、「カスタム NACL のアウトバウンドが既定の拒否のまま × セキュリティグループはステートフル」という前提で、戻りトラフィック用にエフェメラルポート(1024-65535)宛の送信許可を NACL に追加すると判断できるかがポイント
正解

A. NACL のアウトバウンドルールに、クライアントへの応答トラフィックを通すためエフェメラルポート範囲 (1024-65535) 宛のアクセスを許可するルールを追加する

正解です。ネットワーク ACL はステートレスのため、往路(クライアント → 443)と復路(EC2 → クライアント)をそれぞれ明示的に許可する必要があります。
クライアントは自分のエフェメラルポートを送信元にして 443 番へ接続するため、EC2 が返す応答パケットの宛先ポートはクライアント側のエフェメラルポートになります。
アウトバウンドが既定の拒否のままだと応答が出て行けず、クライアントからは接続がタイムアウトしたように見えます。AWS も NACL では 1024〜65535 の送信許可を推奨しています。

B. セキュリティグループはステートレスであるため、443番ポートからの応答をクライアントに返せるよう、アウトバウンドルールに 443番ポート宛の許可を明示的に追加する

前提が逆です。セキュリティグループはステートフルで、インバウンドで許可した接続に対する応答は、アウトバウンドルールの内容にかかわらず自動的に許可されます。
さらに本問のセキュリティグループはアウトバウンドがデフォルト(すべて許可)のままなので、そもそも追加すべきものがありません
「ステートレス」という語をセキュリティグループに取り違えさせる誤答です。

C. サブネットのルートテーブルに、エフェメラルポート範囲宛の戻りトラフィックをインターネットゲートウェイへ転送するルートを追加する

ルートテーブルの経路は宛先 CIDR とターゲットだけで決まり、ポート番号でルートを分けるという概念自体がありません
また問題のサブネットはパブリックサブネットであり、0.0.0.0/0 をインターネットゲートウェイに向けるルートは既に存在しています。
通信が成立しない原因はルーティングではなく NACL の設定にあるため、この対応では解決しません。

D. 現在の設定で要件は満たされており、追加の設定は不要である

カスタム NACL のアウトバウンドが既定の拒否のままなので、EC2 からクライアントへの応答パケットがサブネットの外へ出られません。
インバウンドで 443 番を許可しただけでは、ステートレスな NACL の復路は開通しません。
したがって「追加の設定は不要」とはならず、要件は満たされていません。

これだけ覚える(記憶フック)
NACL はステートレス、SG はステートフル。カスタム NACL は戻り用のエフェメラルポート許可を忘れずに。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
セキュリティグループはインバウンド 443 許可・アウトバウンドはデフォルト(すべて許可) SG はステートフルで応答は自動的に許可される。しかもアウトバウンドは全許可のままなので手を入れる余地がない
→選択肢(B)を消す
カスタム NACL はインバウンド 443 のみ許可・アウトバウンドは既定の拒否 NACL はステートレスで、往路と復路を別々のルールで許可しなければ通信が成立しない
→選択肢(D)を消す
クライアントへ応答を返せるようにする 応答パケットの宛先はクライアント側のエフェメラルポート(1024-65535)なので、その範囲のアウトバウンド許可が要る
→選択肢(A)が正解
経路(ルーティング)は足りているか パブリックサブネットには 0.0.0.0/0 → IGW のルートが既にあり、ルートはポート番号で分けられない
→選択肢(C)を消す
ひっかけポイント
  • 選択肢 B は「ステートレス」の主語をセキュリティグループにすり替えている。ステートレスなのは NACL の側で、SG はステートフル。用語の対応をそのまま問う定番のひっかけ
  • 「インバウンドで 443 を許可したのだから通るはず」と考えるのが最大の罠。NACL の戻り通信は 443 番ではなくクライアントのエフェメラルポート宛になる
  • 選択肢 C は「ルートテーブルにポート範囲のルートを追加」という存在しない設定。ルートは宛先 CIDR とターゲットしか持たない
  • カスタム NACL は作成直後、インバウンド・アウトバウンドとも全拒否(デフォルト NACL は全許可)。「デフォルトのまま」がどちらを指すのかで結論が反転する
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「NACL ではなくセキュリティグループのアウトバウンドを絞っている 応答は SG のステートフル性で通るため通信は成立。論点は EC2 発の外向き通信(更新取得など)の可否に移る。
「クライアントが NAT ゲートウェイ経由のプライベートサブネットにいる」 NAT ゲートウェイが使う 1024-65535 のエフェメラルポートを NACL で許可する話になる。
「特定の IP アドレスからのアクセスだけをブロックしたい」 SG には拒否ルールが書けないため、NACL の Deny ルール(または AWS WAF)が正解に。
「NACL のルールが増えてどれが効くのか分からない ルール番号の小さい順に評価し、最初に一致したルールで確定する評価順序が論点に。
ALB を前段に置いた構成でアクセスできない」 ALB を配置したサブネットの NACL と、EC2 側 SG のセキュリティグループ間参照の設定が論点に。
関連サービスの解説 Amazon EC2
Amazon VPC
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.4 解説
あるオンライン決済サービスの担当者は、パブリックサブネットに配置した Amazon EC2 インスタンス上で HTTPS (443番ポート) の決済 API を公開しようとしている。設定済みの内容は次のとおりである。

・セキュリティグループ: インバウンドで 0.0.0.0/0 から 443番ポートへのアクセスを許可。アウトバウンドはデフォルト(すべて許可)のまま
・サブネットに関連付けたカスタムネットワーク ACL (NACL): インバウンドで 0.0.0.0/0 から 443番ポートへのアクセスを許可するルールのみを追加し、アウトバウンドはデフォルトの拒否のまま変更していない

インターネット上のクライアントがこの API にリクエストを送信し、正しく応答を受け取れるようにするために追加で必要な設定はどれか。
  • NACL のアウトバウンドルールに、クライアントへの応答トラフィックを通すためエフェメラルポート範囲 (1024-65535) 宛のアクセスを許可するルールを追加する
  • セキュリティグループはステートレスであるため、443番ポートからの応答をクライアントに返せるよう、アウトバウンドルールに 443番ポート宛の許可を明示的に追加する
  • サブネットのルートテーブルに、エフェメラルポート範囲宛の戻りトラフィックをインターネットゲートウェイへ転送するルートを追加する
  • 現在の設定で要件は満たされており、追加の設定は不要である

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