CSPM 雲端安全態勢管理
Vibe Prompt
「幫我設定 AWS Config Rules 自動檢查:S3 是否開放公開存取、EBS 是否加密、RDS 是否公開。」
AWS Config Rules
import * as config from 'aws-cdk-lib/aws-config';
// S3 檢查
new config.ManagedRule(this, 'S3PublicRead', {
identifier: config.ManagedRuleIdentifiers.S3_BUCKET_PUBLIC_READ_PROHIBITED,
});
new config.ManagedRule(this, 'S3PublicWrite', {
identifier: config.ManagedRuleIdentifiers.S3_BUCKET_PUBLIC_WRITE_PROHIBITED,
});
// EBS 加密檢查
new config.ManagedRule(this, 'EbsEncryption', {
identifier: config.ManagedRuleIdentifiers.ENCRYPTED_VOLUMES,
});
// RDS 公開存取檢查
new config.ManagedRule(this, 'RdsPublic', {
identifier: config.ManagedRuleIdentifiers.RDS_INSTANCE_PUBLIC_ACCESS_CHECK,
});
// IAM 檢查
new config.ManagedRule(this, 'IamUserNoPolicy', {
identifier: config.ManagedRuleIdentifiers.IAM_USER_NO_POLICIES_CHECK,
});
常見檢查項目
| 資源 | 檢查 | |------|------| | S3 | 是否公開、是否加密、是否版本控制 | | RDS | 是否公開、是否加密、備份是否啟用 | | EC2 | 是否使用 IMDSv2、SG 是否過於寬鬆 | | IAM | 是否有未使用的權限、是否啟用 MFA | | Lambda | 是否允許公開存取、執行角色是否最小權限 |
AWS Security Hub 整合
Security Hub
├── AWS Config Rules (合規檢查)
├── GuardDuty (威脅偵測)
├── Inspector (漏洞掃描)
├── Macie (敏感資料發現)
└── 第三方整合 (Prowler, ScoutSuite, Pacu)
自動修復
// 自動修復:S3 公開存取 → 自動阻擋
new config.RemediationConfiguration(this, 'RemediateS3Public', {
targetType: config.RemediationTargetType.SSM_DOCUMENT,
targetId: 'AWS-DisableS3BucketPublicReadWrite',
parameters: [
{ name: 'BucketName', resourceValue: 'RESOURCE_ID' },
],
automatic: true,
executionControls: {
ssmControls: { maxExecutionRate: 10, errorPercentage: 10 },
},
});
工具
| 工具 | 描述 | |------|------| | AWS Security Hub | 內建 CSPM | | Prowler | 開源 AWS/ Azure/ GCP 安全評估 | | ScoutSuite | 開源多雲端安全稽核 | | Checkov | IaC 安全掃描 |
關鍵要點
CSPM 工具比較
| 工具 | 支援平台 | 主要功能 | 費用 | |:----:|:--------:|---------|:----:| | AWS Config | AWS | 資源配置變更追蹤、合規規則 | 按資源數量計費 | | AWS Security Hub | AWS | 整合多種安全服務的儀表板 | 按發現數量計費 | | Azure Policy | Azure | 資源合規強制執行 | 免費 | | GCP Cloud Asset Inventory | GCP | 資產清單與變更追蹤 | 免費 | | Prisma Cloud | 多雲 | 完整 CSPM + CWP + CIEM | 商業版(昂貴) | | Wiz | 多雲 | 圖形化分析所有雲端資源 | 商業版 |
常見的 CIS 基準檢查項目
| 類別 | 檢查項目 | 風險 | |------|---------|:----:| | 儲存 | S3 Bucket 是否公開可讀? | 🔴 高 | | 網路 | 安全群組是否開放 0.0.0.0/0? | 🔴 高 | | 日誌 | CloudTrail 多區域是否啟用? | 🟡 中 | | 監控 | 是否設定重要指標的告警? | 🟡 中 | | 加密 | EBS 磁碟是否啟用加密? | 🟢 低 | | 備份 | RDS 是否啟用自動備份? | 🟢 低 |
雲端安全態勢管理(CSPM)在做什麼?
想像你的 AWS 帳戶有 50 個 EC2 實例、20 個 S3 Bucket、10 個 RDS 資料庫、5 個 Lambda 函式。你怎麼知道它們全部都是安全配置的?
CSPM 工具會自動回答這個問題。它持續掃描你的雲端資源,將實際配置與安全基準(如 CIS AWS Foundations Benchmark)進行比較。
CIS AWS Foundations Benchmark 重點
| 檢查項目 | 風險等級 | 說明 | |:--------:|:--------:|------| | 1.1 - IAM 密碼策略 | 🟡 中 | 密碼長度 ≥ 14 字元,需包含大小寫、數字、符號 | | 1.2 - 啟用 MFA | 🔴 高 | 所有 root 帳號和管理員必須有 MFA | | 1.3 - 未使用的憑證 | 🟡 中 | 移除 90 天未使用的 IAM 憑證 | | 2.1 - CloudTrail 啟用 | 🔴 高 | CloudTrail 必須在多區域啟用 | | 2.2 - S3 Public Access | 🔴 高 | 所有 S3 Bucket 應阻止公開存取 | | 3.1 - Security Group 限制 | 🟡 中 | 安全群組不應開放 0.0.0.0/0 | | 4.1 - EBS 加密 | 🟢 低 | EBS 磁碟應啟用靜態加密 |
下一章預告:從掃描到自動修復
CSPM 可以幫你「發現」問題,但真正的雲端安全需要「自動修復」。下一章 容器安全 將帶你進入容器化世界的安全挑戰——從 Docker Image 掃描到 Kubernetes Pod 安全上下文,再到執行時期的威脅偵測。