Security GroupとNetwork ACLを理解する

Security GroupとNetwork ACLはどちらも通信制御ですが、適用する場所、状態管理、拒否と評価順が違います。要求と応答の両方を図にして正しい設定を選びます。

この単元で学ぶこと

  • SGとNACLの適用範囲と評価方法を区別する
  • 状態追跡と戻り通信を説明する
  • 層間の最小通信を設計する

本文解説

1. 制御する場所 Security GroupはEC2等のENIへ関連付け、資源の通信を許可します。NACLはサブネットへ適用する境界の制御です。SGはアプリとDBのような役割別の許可に向き、NACLはサブネットを通る通信の許可・拒否を扱います。どちらもルートを作る機能ではありません。

2. SGの許可 SGに記すのは許可する方向、プロトコル、ポート、送信元や宛先です。明示的な拒否ルールはありません。複数SGを関連付けた場合は許可が合算されるため、一つの狭いSGを追加しても他の広い許可を打ち消しません。不要な許可そのものを見つけて削除する必要があります。

3. 状態を追跡する SGは通常の追跡対象接続の応答を状態として扱います。許可された受信への応答は、送信ルールを対称に書くだけの方式とは違います。ただし経路やNACLは別の条件です。SGで応答を扱うことを、ネットワーク全体で戻り設定が何も不要という意味にしません。

4. NACLの順序 NACLでは小さいルール番号から一致を探し、最初の一致で許可または拒否を決めます。先に広い許可が一致したなら後の狭い拒否は適用されません。設計では番号、方向、範囲を一緒に確認します。SGの許可集合をNACLの順序付きルールと混同しません。

5. 戻りのポート NACLはステートレスです。クライアントが送信元50000、宛先443でHTTPS要求を出す例では、応答の宛先は50000になります。クライアントのOS等により一時ポート範囲が異なるため、443番だけ両方向に許可して終わりとせず、実際の往復条件を確認します。

6. 層間のSG参照 同一VPCのアプリSGをDB側SGの送信元に指定し、DBポートだけ許可する構成を使えます。アプリの個別IPを列挙する運用を減らせます。同じSGに属すれば自動で全通信可能になるわけではなく、必要なら自己参照の許可ルールを記します。

7. 初期状態と例外 デフォルトNACLは初期状態で許可しますが、新規カスタムNACLは許可を加えるまで拒否します。またAmazon提供DNSへの通信はSG・NACLで通常の宛先のようにフィルターできません。DNSの制御が要件ならResolver DNS Firewall等の対応機能を調べます。

8. 設定と実測 必要な通信の表を作り、到達すべきポートと拒否すべき経路を試験します。Flow Logsは許可・拒否の調査材料ですが、HTTP処理の成功やDB認証まで証明しません。経路、AWS側制御、OS、アプリの認可を段階ごとに調べ、理由のない全開放を避けます。

図解

HTTPSの往復を分ける
サーバーのサービス用ポートとクライアントの一時ポートは別です。

重要ポイント

  • SGは状態管理付きの許可集合
  • NACLは状態なし・許可拒否・小番号から評価
  • NACLには戻りの一時ポートも考える

間違えやすい点

  • 狭いSGを足して広い許可を打ち消そうとしない
  • NACLの後ろの拒否が先の許可より強いと思わない
  • 同じSGなら自動で通信可能と考えない

用語解説

ステートフル
通信の状態を追跡して応答を扱う性質。
ステートレス
各方向の通信を接続状態に頼らず評価する性質。
SG参照
許可ルールでIP範囲の代わりに対応するSGを指定する方式。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。