Instiq
第3章 · インフラストラクチャのセキュリティ·v3.1.0·更新 2026/6/11·読了目安 約11分

変更要約: 生成 AI セキュリティ節 s4 に図 aws-genai-security(OWASP LLM リスク→AWS 緩和策)を追加。クローン基底章は SCS-C02 の図を継承済みで、図欠落は本 s4 のみだったため補完。

3.1ネットワーク境界の保護

この節の要点

VPC のセキュリティ——セキュリティグループNACLサブネット分離NAT/IGWVPC エンドポイント(Gateway/Interface)PrivateLink——を理解します。多層防御でネットワークを守ります。

インフラ防御の基本はネットワーク境界です。多層(SG/NACL/サブネット)で防御し、不要な公開を避けます。

3.1.1ネットワークの多層防御

VPC のネットワークセキュリティを示した図。サブネットをパブリック/プライベートに分離し、セキュリティグループ(インスタンス単位・ステートフル・許可のみ)と NACL(サブネット単位・ステートレス・許可/拒否)で多層防御、プライベートサブネットの外向き通信は NAT ゲートウェイ経由、AWS サービスへの接続はインターネットを経由しない VPC エンドポイント(S3/DynamoDB=ゲートウェイ型、その他=インターフェイス型/PrivateLink)で行う構成を示した図。
ネットワークの多層防御
  • セキュリティグループインスタンス単位・ステートフル・許可のみ(拒否ルールなし)。
  • NACLサブネット単位・ステートレス・許可/拒否。明示的な拒否ができる。
  • サブネット分離/NAT:公開はパブリック、内部はプライベート。外向きのみは NAT ゲートウェイ
  • VPC エンドポイント:AWS サービスへインターネットを経由せず接続(S3/DDB=ゲートウェイ、他=インターフェイス/PrivateLink)。
試験ポイント

「インスタンス単位・ステートフル・許可のみ=セキュリティグループ」「サブネット単位・ステートレス・拒否可=NACL」「外向きのみ=NAT ゲートウェイ」「AWS サービスへ私的接続=VPC エンドポイント(S3/DDB=ゲートウェイ型)」 は SCS-C02 で頻出です。明示的に拒否したい IP は NACL、通常の許可は SG で行います。

補足

セキュリティグループは戻りトラフィックを自動許可(ステートフル)。NACL はステートレスなので、戻り用のエフェメラルポートも明示的に許可する必要があります。

SCS-C02 のネットワーク防御は「SG と NACL の違いを正確に使い分け、多層で攻撃面を縮小する」ことを問います。セキュリティグループ(SG)はインスタンス(ENI)単位のステートフルな仮想ファイアウォールで、許可ルールのみ(暗黙の拒否、明示的拒否は不可)。SG のソースに別の SG を指定でき(例: ALB の SG からのみ Web 層を許可)、ティア間の通信をきれいに表現できます。NACL はサブネット単位のステートレスな制御で、許可と拒否を番号順に評価——特定 IP のブロックや、戻り通信のためのエフェメラルポート許可が必要です。設計はサブネットをパブリック(IGW 経由で公開)/プライベート(外向きは NAT、内部のみ)に分離し、データ層はインターネット到達不可のプライベートサブネットに置きます。AWS サービスへの接続は VPC エンドポイントでインターネットを経由させず、ゲートウェイ型(S3/DynamoDB・無料・ルートテーブル)インターフェイス型(ENI・PrivateLink・多くのサービス)を使い分け、エンドポイントポリシーでアクセスを絞ります。さらに VPC ピアリング/Transit Gateway で接続し、フローログで通信を可視化。設計の要は、「ステートフル・許可のみ・インスタンス単位=SG/ステートレス・拒否可・サブネット単位=NACL」を取り違えず、プライベート接続と最小公開で多層防御することです。

観点セキュリティグループNACL
適用範囲インスタンス(ENI)単位サブネット単位
状態ステートフル(戻り自動許可)ステートレス(戻りも明示)
ルール許可のみ許可/拒否(番号順)
代表用途ティア間許可・SG をソースに指定特定 IP の明示的拒否
補足

シナリオ:3 層(Web/App/DB)構成で、Web は ALB からのみ、App は Web からのみ、DB は App からのみ通信させ、特定の攻撃元 IP レンジは完全に遮断したい。→ 各層の SG のソースに前段の SG を指定してティア間を最小許可(DB の SG は App の SG からの DB ポートのみ)。DB はインターネット到達不可のプライベートサブネットへ。攻撃元 IP レンジはサブネットの NACL で明示的に拒否(SG では拒否できないため)。AWS サービスへは VPC エンドポイントで接続します。

補足

FAQ:特定の IP をブロックしたいとき SG か NACL か? NACL です。SG は許可ルールのみで明示的な拒否ができません(拒否=許可しないこと)。特定の悪意ある IP/レンジを明示的にブロックしたいなら、サブネット単位の NACL の Deny ルールを使います。通常のティア間の許可は SG(SG をソースに指定)で行い、両者を組み合わせて多層防御します。

注意

ひっかけ:SG で「特定 IP を拒否する」ルールを作ろうとするのは誤り——SG は許可のみで拒否ルールは作れません。明示的拒否は NACL。また NACL はステートレスなので、インバウンドを許可しても戻り(アウトバウンドのエフェメラルポート)を別途許可しないと通信が成立しません(SG はステートフルで自動許可)。

3.1.2この節のまとめ

  • 多層防御=SG(インスタンス/許可のみ)+NACL(サブネット/拒否可)
  • 私的接続=VPC エンドポイント/PrivateLink/外向き=NAT

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 特定の悪意ある IP レンジからの通信をサブネットレベルで明示的に拒否したい。何を使いますか?

Q2. EC2 から S3 へ、インターネットを経由せずプライベートに接続したい。何を使いますか?

Q3. セキュリティグループの性質として正しいものはどれですか?

理解度を確認第3章「インフラストラクチャのセキュリティ」の問題を解く