セキュアなアーキテクチャの設計応用問題
あるアプリケーションはVPC内のEC2インスタンス上で動作しており、Security GroupとNetwork ACL(NACL)の両方で制御されています。Security GroupではHTTPS(ポート443)のインバウンドを許可していますが、NACLではHTTPS(ポート443)のインバウンドルールは許可しているものの、エフェメラルポート(1024-65535)のアウトバウンドルールが設定されていません。この状況でクライアントがHTTPS通信を試みた場合、どうなりますか?
A.Security Groupがステートフルであるため、NACLのアウトバウンド設定に関わらず通信は成功する
✗ Security GroupはステートフルですがNACLはステートレスです。NACLのアウトバウンドも明示的な許可が必要です。
B.NACLはステートレスであるため、エフェメラルポートのアウトバウンドが許可されておらず、レスポンスが返せず通信は失敗する← 正解
✓ 正解です。NACLはステートレスのため、リクエストとレスポンスをそれぞれ評価します。エフェメラルポートのアウトバウンドがないとレスポンスが送れず通信は失敗します。
C.NACLのアウトバウンドにHTTPS(443)が設定されていれば、エフェメラルポートの設定は不要なため通信は成功する
✗ HTTPSポート443はリクエストの受信用であり、レスポンスはエフェメラルポートを使うため設定が必要です。
D.Security GroupにHTTPSのアウトバウンドルールを追加すれば、NACLの設定に関わらず通信は成功する
✗ Security GroupはステートフルなためOutboundの明示的な許可は不要ですが、NACLの問題は解決されません。