6.3 セキュリティ設計
Cloud Security Design
クラウドセキュリティは多層防御(Defense in Depth)の原則に基づく。ID管理、ネットワーク、データ保護、監視の各層で対策を講じ、単一障害点を排除する。
多層防御
@startuml
skinparam backgroundColor #FEFEFE
rectangle "多層防御 (Defense in Depth)" as DID {
rectangle "1. ID・アクセス管理" as Layer1 #DBEAFE {
rectangle "IAM / Entra ID / Cloud IAM" as IAM #93C5FD
rectangle "MFA" as MFA #93C5FD
rectangle "最小権限" as LP #93C5FD
}
rectangle "2. ネットワーク" as Layer2 #D1FAE5 {
rectangle "VPC / セキュリティグループ" as VPC #6EE7B7
rectangle "WAF" as WAF #6EE7B7
rectangle "DDoS保護" as DDoS #6EE7B7
}
rectangle "3. コンピュート" as Layer3 #FEF3C7 {
rectangle "OSパッチ" as Patch #FDE68A
rectangle "マルウェア対策" as AV #FDE68A
rectangle "コンテナセキュリティ" as Container #FDE68A
}
rectangle "4. データ" as Layer4 #FCE7F3 {
rectangle "暗号化 (転送中/保存時)" as Enc #FBCFE8
rectangle "キー管理" as KMS #FBCFE8
rectangle "バックアップ" as Backup #FBCFE8
}
}
@enduml
図1: 多層防御の4つの層
| 層 | AWSサービス | Azureサービス | GCPサービス |
|---|---|---|---|
| ID管理 | IAM | Entra ID | Cloud IAM |
| ネットワーク | Security Groups, WAF | NSG, Azure WAF | Firewall, Cloud Armor |
| 暗号化 | KMS | Key Vault | Cloud KMS |
| 脅威検知 | GuardDuty | Defender for Cloud | Security Command Center |
IAMのベストプラクティス
@startmindmap skinparam backgroundColor #FEFEFE * IAMベストプラクティス ** 最小権限の原則 *** 必要最小限の権限のみ付与 *** 定期的な権限レビュー *** 未使用権限の削除 ** ルートアカウント保護 *** 日常業務で使用しない *** MFA必須 *** アクセスキー発行しない ** MFA(多要素認証) *** 全ユーザーに適用 *** 特権操作に必須 *** ハードウェアトークン推奨 left side ** 認証情報管理 *** アクセスキーのローテーション *** シークレット管理サービス利用 *** 環境変数でのハードコード禁止 ** ロールベースアクセス *** グループ/ロールで管理 *** 個別ユーザーに権限付与しない *** 一時的な認証情報利用 ** 監査 *** CloudTrail / Activity Log *** 定期的なアクセスレビュー *** 異常検知アラート @endmindmap
図2: IAMのベストプラクティス
よくあるセキュリティインシデント
1. S3バケットの公開設定ミス
2. アクセスキーのGitHubへのコミット
3. セキュリティグループの過剰許可(0.0.0.0/0)
4. 暗号化されていないデータ保存
1. S3バケットの公開設定ミス
2. アクセスキーのGitHubへのコミット
3. セキュリティグループの過剰許可(0.0.0.0/0)
4. 暗号化されていないデータ保存
ゼロトラストモデル
ゼロトラストの原則
「決して信頼せず、常に検証する」
1. すべてのアクセスを検証
2. 最小権限アクセス
3. 侵害を想定した設計
4. 明示的な検証
「決して信頼せず、常に検証する」
1. すべてのアクセスを検証
2. 最小権限アクセス
3. 侵害を想定した設計
4. 明示的な検証
従来の境界防御(ファイアウォールの内側は信頼)から、ゼロトラストモデル(すべてのアクセスを検証)への移行が進んでいる。クラウドネイティブなアーキテクチャでは、ゼロトラストが標準的なアプローチとなる [1]。
| 観点 | 境界防御 | ゼロトラスト |
|---|---|---|
| 信頼の前提 | 内部は信頼 | 信頼しない |
| 検証タイミング | 境界のみ | 常時 |
| アクセス制御 | ネットワーク位置 | ID + コンテキスト |
出典
[1] NIST SP 800-207 (2020). Zero Trust Architecture.
[2] AWS. Security Pillar. https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/
[3] Microsoft. Zero Trust security. https://www.microsoft.com/security/business/zero-trust
[2] AWS. Security Pillar. https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/
[3] Microsoft. Zero Trust security. https://www.microsoft.com/security/business/zero-trust