【正解】C
【0からの解説】
この問題の核心は「セキュリティグループはステートフル、ネットワーク ACL (NACL) はステートレス」という違いです。
セキュリティグループはステートフルなため、いったん確立された接続(既存の SSH セッション)は、ルールを後から削除しても切断されません。インバウンド/アウトバウンドのルールは「新規の接続」にしか効かないからです。だからこそセキュリティエンジニアが SG ルールを差し替えても、攻撃者役の既存 SSH セッションは生きたまま残ったのです(ping=新規 ICMP は SG で正しくブロックされた)。
これに対し NACL はステートレスで、サブネット境界を通過するパケットを 1 つ 1 つ評価します。NACL の先頭(番号の小さい順に評価され最初に一致したルールが適用)に「すべて拒否」を置くと、確立済みのセッションを含めてすべてのパケットが落ち、既存の SSH 接続も切断されます。これにより攻撃者役の接続を確実に断ち切れます。フォレンジックチーム用のアクセスは、NACL に許可ルールを別途追加する(フォレンジック IP のみ許可するルールを拒否ルールより前に置く)ことで実現できます。よって既存セッションを断つには C が正解です。
【誤りの選択肢】
A:一瞬すべてを許可してから削除しても、ステートフルな SG では既存セッションを切る効果はなく、むしろ攻撃者に追加の通信機会を与えるだけで逆効果です。
B:Session Manager の話はフォレンジック側のアクセス手段にすぎず、すでに確立されている攻撃者の SSH セッションを切断しません。隔離(既存接続の遮断)という目的を達成しません。
D:ホストレベルのファイアウォールを SSM ドキュメントで設定する案は、(1) 侵害された(攻撃者が制御し得る)OS 上で防御を構成する点で信頼性が低く、(2) 設定が反映されるまでのタイムラグや SSM エージェントの正常動作に依存します。VPC レイヤーで確実に遮断する NACL の方がインシデント隔離として適切です。
【参考】
ネットワーク ACL(ステートレス)セキュリティグループ(ステートフル)EC2 インスタンスの自動隔離(インシデント対応)