【CLF-C02】セキュリティグループとネットワークACLの違いを図解|WAF・Trusted Advisorまで

セキュリティグループとネットワークACLの違い CLF-C02 AWS資格の森 クラウドプラクティショナー(CLF)
無料CLF-C02 ドメイン2:セキュリティ|ネットワークを守る2つの部品「セキュリティグループ」と「ネットワークACL」の違いを、図と4択クイズで一気に整理します。WAF・Trusted Advisorまで。

AWS認定 クラウドプラクティショナー(CLF-C02)で配点最大級のドメイン2(30%)。中でもセキュリティグループ(SG)とネットワークACL(NACL)の違い最頻出の“混同ペア”です。どちらもAWSのネットワークを守る「関所」ですが、守る場所・戻り通信の扱い・許可と拒否の考え方がはっきり違います。この記事では、この2つを図で見分けられるようにしたうえで、AWS WAFやセキュリティ課題を見つけるTrusted Advisorまで、試験に出る形で解説します。前提のIAM(アクセス管理)責任共有モデルもあわせてどうぞ。全体像は CLF対策トップ へ。

VPC・サブネットの中で、ネットワークACLはサブネットの境界を守る門番、セキュリティグループはインスタンスを直接包む門番であることを示す図
図:ネットワークACLはサブネットの入口を守る門番、セキュリティグループはインスタンス(サーバー)を直接包む門番。守る“場所”が違います。

セキュリティグループとは:インスタンスの“門番”

セキュリティグループ(SG)は、EC2インスタンスなど1台ずつ(正確には仮想NIC単位)に取り付ける仮想ファイアウォールです。そのインスタンスに「どこからの通信を通すか(インバウンド)」「どこへの通信を出すか(アウトバウンド)」を決めます。ポイントは3つです。

  • インスタンス単位で適用する(サーバーを直接包むイメージ)
  • ステートフル:許可した通信の戻り(応答)は自動で通る。戻り用のルールを書く必要がない
  • 許可(allow)だけを設定する。「拒否」は書けず、書いていない通信は自動的に遮断される
デフォルトの動き
新しく作ったセキュリティグループはインバウンドを全拒否・アウトバウンドを全許可から始まります。必要な入口(例:Webサーバーなら443番)だけを「許可」で足していくのが基本です。

ネットワークACLとは:サブネットの“関所”

ネットワークACL(NACL)は、サブネット全体の境界に置く関所です。そのサブネットに出入りする通信をまとめてチェックします。こちらもポイントは3つ。

  • サブネット単位で適用する(そのサブネット内のすべてのインスタンスにまとめて効く)
  • ステートレス:通信の状態を覚えないので、行き(インバウンド)と戻り(アウトバウンド)を別々にルール設定する必要がある
  • 許可(allow)と拒否(deny)の両方を書ける。ルールは番号の小さい順に評価され、最初に一致したものが適用される

特定のIPアドレスを明示的にブロックしたいとき(拒否ルール)は、SGでは書けないのでNACLの出番です。

ステートフルのセキュリティグループは行きと戻りが同じ一つのドアを通る。ステートレスのネットワークACLは行きと戻りで別々のゲートを通ることを示す図
図:ステートフルのSGは「行き」を許可すれば「戻り」も同じ扉を自動で通る。ステートレスのNACLは行きと戻りを別々のゲートで個別に許可する必要があります。

セキュリティグループ vs ネットワークACL 徹底比較

試験で問われる違いを表にまとめます。「インスタンスかサブネットか」「ステートフルかステートレスか」「許可のみか許可+拒否か」の3点が最重要です。

観点 セキュリティグループ(SG) ネットワークACL(NACL)
適用範囲 インスタンス単位(サーバーに直接) サブネット単位(境界にまとめて)
状態管理 ステートフル(戻りは自動許可) ステートレス(行き・戻りを個別設定)
ルールの種類 許可(allow)のみ 許可と拒否(deny)の両方
ルールの評価 すべてのルールをまとめて評価 番号順に評価し、最初に一致したルールを適用
デフォルト インバウンド全拒否/アウトバウンド全許可 既定のNACLは全許可(カスタム作成時は全拒否)
たとえ 各部屋のドアの鍵 建物フロアの入口ゲート

覚え方:SG=サーバーに近い・ステートフル・許可だけNACL=サブネットの入口・ステートレス・拒否も書ける。実務ではSGを主役に使い、NACLは特定IPの遮断などサブネット全体の補助として重ねる「多層防御」が基本です。

AWS WAF:Webアプリを狙う攻撃を防ぐ

AWS WAF(Web Application Firewall)は、Webアプリ層を狙う攻撃をブロックするサービスです。SGやNACLが「どのIP・ポートを通すか」というネットワークの関所なのに対し、WAFは通信の中身を見て、SQLインジェクションやクロスサイトスクリプティング(XSS)のような不正なリクエストや、特定の国・IPからのアクセスをルールで遮断します。CloudFront・API Gateway・ロードバランサーなどの前面に置いて使います。

AWS WAFがWebアプリの前で不正なアクセスをブロックし、正常なアクセスだけを後ろのサーバーへ通すことを示す図
図:AWS WAFはWebアプリの前面で不正なリクエストだけをブロックし、正常な利用者は通す。SG/NACL(ネットワーク層)と役割が違います。

サードパーティ製品は「AWS Marketplace」で入手

AWS純正のサービスだけでなく、他社(サードパーティ)のセキュリティ製品(次世代ファイアウォール、ウイルス対策、WAFルールなど)を使いたい場合は、AWS Marketplaceで探して導入できます。Marketplaceはソフトウェアのオンラインストアで、AWSの請求にまとめて課金されるのが利点。「AWSにない機能や、使い慣れた他社製品を入れたい」=Marketplace、と覚えておきましょう。

セキュリティ課題の発見と情報の入手先

設定のセキュリティ上の弱点を自動でチェックして教えてくれるのがAWS Trusted Advisorです。アカウントを診断し、セキュリティ・コスト・パフォーマンス・耐障害性・サービス上限の観点で改善点を提示します。「全開放されたセキュリティグループ」「MFA未設定のrootユーザー」などのセキュリティ課題の特定に役立つ、と試験では問われます。

また、AWSのセキュリティに関する情報の入手先も押さえておきましょう。

  • AWS Knowledge Center:よくある技術的な質問と回答集
  • AWS Security Center(セキュリティセンター):セキュリティとコンプライアンスの情報の入口
  • AWS Security Blog:最新のセキュリティ情報・ベストプラクティスの発信

確認クイズ

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

A. サブネット単位で適用し、ステートレスに動作する
B. インスタンス単位で適用し、ステートフル(戻りは自動許可)で許可ルールのみを設定する
C. 許可と拒否の両方のルールを番号順に評価する
D. Webアプリ層のSQLインジェクションを防ぐ

Q2. 特定のIPアドレスを明示的に拒否(ブロック)したい。適切なのはどれですか?

A. セキュリティグループに拒否ルールを追加する
B. ネットワークACLに拒否(deny)ルールを追加する
C. IAMポリシーでIPを拒否する
D. ルートユーザーで手動遮断する

Q3. WebアプリをSQLインジェクションやXSSから守りたい。最も適切なサービスは?

A. セキュリティグループ
B. ネットワークACL
C. AWS WAF
D. AWS Trusted Advisor

Q4. アカウントの設定を診断し、セキュリティの弱点や改善点を自動で指摘してくれるサービスは?

A. AWS Marketplace
B. AWS Trusted Advisor
C. セキュリティグループ
D. AWS Knowledge Center

よくある質問(FAQ)

Q. セキュリティグループとネットワークACL、どちらを使えばいい?

A. 基本はセキュリティグループを主役に使います。インスタンスごとに必要な通信だけを許可すればよく、ステートフルで扱いやすいためです。ネットワークACLは補助として、特定IPの遮断などサブネット全体にかけたい制御に使い、両方を重ねる「多層防御」が定石です。

Q. 「ステートフル」と「ステートレス」の違いをひと言で言うと?

A. ステートフル(SG)は通信を覚えるので、行きを許可すれば戻りは自動で通ります。ステートレス(NACL)は覚えないので、行きと戻りをそれぞれ許可する必要があります。試験でこの違いは頻出です。

Q. 他社製のセキュリティ製品はAWSで使える?

A. 使えます。AWS Marketplaceから他社(サードパーティ)のファイアウォールやWAFルールなどを導入でき、料金はAWSの請求にまとめられます。「AWS純正にない機能が欲しい」ときの選択肢です。

まとめ

  • セキュリティグループ=インスタンス単位・ステートフル許可のみ(サーバーの門番)
  • ネットワークACL=サブネット単位・ステートレス許可と拒否(サブネットの関所)
  • AWS WAF=Webアプリ層のSQLインジェクション/XSS対策。他社製品はAWS Marketplaceで導入
  • Trusted Advisorで設定のセキュリティ課題を特定。情報はKnowledge Center/Security Center/Security Blog

※本記事はAWS公式試験ガイド(CLF-C02)および各サービスの公開ドキュメントに基づき、エンジニアKが作成しています。サービス仕様は更新されることがあるため、最新は必ずAWS公式でご確認ください。本サイトはAmazon Web Services, Inc.の公式サイトではありません。AWSは同社の商標です。

コメント

タイトルとURLをコピーしました