同一VPCの別サブネットからWebサブネットへ来るIPv4 HTTPSが対象である。Web側NACLのinboundには番号100でTCP 443を0.0.0.0/0からAllowするルールがあり、outboundは*のDenyだけである。
10.20.10.0/24からのHTTPSを拒否し、10.20.20.0/24からのHTTPSと応答は許可したい。クライアントの送信元一時ポートは32768-60999に設定済みで、経路・他のNACL・SG・待受けは確認済みとする。
WebサブネットのNACLへ追加するルールの組み合わせはどれか。
既存Allowより先に拒否を置き、正当な応答先の一時ポートをoutboundで許可する。
詳細解説
NACLはstatelessで、受信許可が応答方向を自動で許可しない。戻り方向も独立したAllowが必要である。
サーバー応答の送信元は443だが、宛先はクライアントの一時ポートである。outboundの宛先443だけでは必要な応答を許可できない。
既存の番号100のAllowが先に一致するため、後の110のDenyは評価されない。NACLは最後に一致したルールを採用する方式ではない。
拒否が既存Allowより先に評価される。許可されたHTTPSの応答先はクライアントの一時ポートなので、outboundでその宛先ポートを許可する。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
承認された別サブネットの検証クライアントで設定済み一時ポート範囲を確認する。Web側のNACL関連付け・番号90/100・方向と宛先ポートを照合し、拒否元と許可元から新規HTTPS接続を比較する。
参考にした公式資料
確認できる内容
拒否元のTCP 443は拒否され、許可元のHTTPS要求と応答は通る。一時ポート範囲は実クライアント設定に合わせ、全OSの既定値が32768-60999だとは扱わない。
理解のポイント
- Network ACL
- ルール番号
- エフェメラルポート
確認時の注意
- 確認環境: AWS公式SOA-C03試験ガイドとAWS公式ドキュメントの確認
- AWS公式SOA-C03試験ガイドと各サービスの公式ドキュメントを確認する。
基礎のおさらい
小さい番号の最初の一致を使う
NACLは番号が小さい順に評価し、最初の一致で決定する。既存100の広いAllowに先行する90で拒否を定義する。110にDenyを置いても100で決まった通信を取り消せない。
応答の宛先と方向を確認する
HTTPSサーバーの応答は送信元443からクライアントの一時ポートへ向かう。Web側outboundで宛先32768-60999を許可する。これは本問で確認済みの範囲であり、OSやNAT等が異なる接続へ無条件で使わない。
NACLとSGの状態管理を区別する
NACLはstatelessであり、inboundとoutboundを個別に許可する。ルールは関連付くサブネットの境界に適用されるため、同じサブネット内だけの試験で境界拒否を検証したとはしない。SGの応答許可もNACLの必要なAllowを置き換えない。