Kubernetes 4Cモデルで整理するECS Fargateのサプライチェーン攻撃対策
概要¶
ECS Fargate を前提にしたサプライチェーン攻撃対策を Kubernetes の 4C モデル(Cloud / Cluster / Container / Code)で整理した Timee のブログ記事紹介。
記事: https://tech.timee.co.jp/entry/kubernetes-4c-ecs-fargate-supply-chain
詳細¶
Kubernetes の 4C モデルとは¶
Kubernetes の公式ドキュメントで定義されているセキュリティ階層モデル:
┌─────────────────────────────┐
│ Cloud(クラウドインフラ) │ IAM, VPC, セキュリティグループ
│ ┌───────────────────────┐ │
│ │ Cluster(オーケストレーション)│ ECS クラスタ設定, タスク定義
│ │ ┌─────────────────┐ │ │
│ │ │ Container(コンテナ)│ │ イメージスキャン, 最小権限
│ │ │ ┌───────────┐ │ │ │
│ │ │ │ Code(コード)│ │ │ │ 依存関係, SAST
│ │ │ └───────────┘ │ │ │
│ │ └─────────────────┘ │ │
│ └───────────────────────┘ │
└─────────────────────────────┘
サプライチェーン攻撃とは¶
開発・デプロイのパイプライン上のどこかに悪意あるコードを注入する攻撃。攻撃面: - 依存パッケージへの悪意あるコード混入(npm, go modules) - CI/CD パイプラインの侵害 - コンテナイメージへのマルウェア混入
ECS Fargate での各レイヤー対策¶
Cloud レイヤー - ECS タスクロールの最小権限(Least Privilege) - VPC エンドポイントで ECR/S3 をプライベート接続
Cluster レイヤー
- タスク定義の readonlyRootFilesystem: true
- privileged: false, allowPrivilegeEscalation: false
Container レイヤー - ECR でのイメージスキャン(Trivy/ECR Enhanced Scanning) - ベースイメージを distroless または Alpine に絞る - SBOM(Software Bill of Materials)の生成・管理
Code レイヤー
- Dependabot / Renovate で依存関係の自動更新
- go.sum / package-lock.json のコミット管理
- SAST ツール(gosec, semgrep)の CI 統合
なぜ重要か / いつ使うか¶
- ECS Fargate でのセキュリティ対策を体系的に整理したいとき
- 「どこまでやればいいか」の優先順位付けに 4C モデルが使える
- Kubernetes のセキュリティ知識を ECS Fargate に転用する橋渡しとして