雲端安全是甚麼?
📌 把你的伺服器租到別人的大樓
房東 → 負責大樓結構(physical host、hypervisor)
你 → 負責自己房間的門鎖、東西怎麼擺、誰能進來
弄錯一個門鎖(錯誤配置)就可能讓陌生人走進來
需要分工好「我負責什麼」「供應商負責什麼」
並做好身份管理、網路分段、日誌與監控
攻擊方
- 掃描公開資源(S3 bucket、blob container、公開 management endpoint)尋找可讀/寫的存取
- 利用過權帳號或竊得的 API key 執行資源存取或擴大權限(例如用被盜 key 建置新的 VM 做 lateral)
- 濫用 metadata endpoints 或 IMDS(若伺服器可访问)獲取臨時憑證,或利用 SSRF 導致 metadata 窺視
- 利用不當的 IAM policy(過寬允許 )取得更高權限或奪取資源
- 供應鏈或容器映像含有祕密或舊漏洞,成為入侵向量
防禦方
-
了解責任分界(Shared Responsibility):雲商管理基礎設施,你管理資料、配置、IAM、應用。
-
IAM 最小權限:用 role 而非 long-lived secrets;避免使用 root / owner 常用帳戶
-
不要把機密放在程式碼或映像中:使用雲端 KMS / Secret Manager / Vault
-
CSPM(Cloud Security Posture Management)+ IaC scanning:自動檢查錯誤配置(如公開 bucket、寬鬆 NSG/SG)
-
網路分段與 egress 控制:把管理/敏感資源放在私有子網、用 NAT / egress proxy 控制出站
-
啟用雲端日誌與集中化(CloudTrail, Flow logs, Audit logs):確保 audit trail 不可刪改並做 SIEM 分析
-
短期/臨時憑證:使用短期角色(STS/assume-role)和 MFA;避免長期 access key
-
影像安全(container / VM):掃描 base image 與依賴、最小化映像、簽名映像與 enforce 策略
常見錯誤
-
公開存儲(S3 / GCS / Blob)設為 public-read 或 public-write → 資料外洩或惡意上傳
-
過寬 IAM policy(
Allow * on *
)或 owner role 給應用/CI → 一個被盜 key 就能奪全局
-
長期 access keys 在 repo /映像中 → 被抓到即濫用
-
沒開啟 CloudTrail / Audit logs 或可被寫刪 → 事後無法溯源
-
管理平面暴露在 Internet 並未限制來源 IP 或 MFA → 直接被暴力或濫用
-
容器映像含 secrets 或使用過時 base image → supply-chain 漏洞
工具
- CSPM / IaC scanning:Prisma Cloud (Palo Alto), Dome9/Check Point, Prisma Cloud Compute, Aqua, Wiz, Snyk IaC, tfsec, Checkov, Bridgecrew。
- Cloud provider native:AWS Config, AWS IAM Access Analyzer, AWS Security Hub, Azure Policy, Azure Security Center, GCP Security Command Center。
- Secret Management:AWS Secrets Manager / KMS, Azure Key Vault, GCP Secret Manager, HashiCorp Vault。
- 日誌與 SIEM:CloudTrail / CloudWatch / Logs / Audit Logs → 搭 Splunk / Elastic / Sumo / Datadog。
- Container & Image scanning:Clair, Trivy, Anchore, Harbor, Docker scan。
結論
📌 理解「責任分界」與把傳統的安全控制搬到雲端特有的資源與流程上
IAM 的最小權限、短期憑證、網路分段、以及不可變且集中化
錯誤配置(公開 bucket、過寬 policy、長期 secrets)
與供應鏈弱點是攻擊者最喜歡利用的入口
自動化的 CSPM、IaC 掃描與鏡像掃描能大幅降低人為失誤
檢測策略應包含「行為式偵測(異常 API 使用、短期內大量操作)」
「配置式偵測(公開資源、寬鬆 SG)」,並把發現轉為自動化回應