本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第3章 セキュアなアーキテクチャ設計 · レッスン12

多層防御(Defense in Depth)

導入

ファイアウォールさえあれば安全」という発想はSAAでは通用しません。1つの防御が突破されても被害が広がらないように、何重にも守りを重ねる——これが多層防御の考え方です。

説明

多層防御(Defense in Depth) は、単一の対策に頼らず、複数の層でそれぞれ独立した防御を行う設計原則です。SAAで扱うセキュリティサービスは、たいていこの「どの層を守るか」で整理できます。

守る対象代表サービス
エッジ層インターネットとの境界CloudFrontRoute 53、WAF、Shield
ネットワーク層VPC内の通信経路セキュリティグループ、ネットワークACL、VPC
ホスト層インスタンス・コンテナ自体IAMロール、パッチ管理、Inspector
データ層保存・転送されるデータそのものKMS、ACM、Secrets Manager
監査・検知層全体を横断した記録・異常検知CloudTrail、Config、GuardDuty
flowchart TD
    subgraph エッジ層
      WAF["WAF / Shield"]
    end
    subgraph ネットワーク層
      SG["セキュリティグループ / ネットワークACL"]
    end
    subgraph ホスト層
      IAM["IAMロール / パッチ管理"]
    end
    subgraph データ層
      KMS["KMS暗号化 / ACM"]
    end
    エッジ層 --> ネットワーク層 --> ホスト層 --> データ層

例えばWebアプリを守る場合、WAFで不正なリクエストを弾き(エッジ層)、セキュリティグループで許可するポートを絞り(ネットワーク層)、EC2にはロールだけを渡してアクセスキーを持たせず(ホスト層)、保存するデータはKMSで暗号化する(データ層)——というように同時にすべての層を固めるのが正しい設計です。

読んでみよう

この章の残り5レッスンは、実はすべてこの表のどこかに位置づけられます。「今学んでいるサービスはどの層を守っているのか」を意識しながら読み進めると、知識がバラバラにならず整理できます。