examlab .net 用最有效率的方法,考取最有價值的證照
本篇導覽 約 27 分鐘

合規、稽核與網路治理

5,400 字 · 約 27 分鐘閱讀 ·

精通 ANS-C01 的合規與網路治理:VPC Flow Logs 分析、CloudTrail 網路稽核、AWS Config 規則、Firewall Manager 全組織範圍政策、GuardDuty 網路發現、自動化事件回應以及稽核架構。

立即做 20 題練習 → 免費 · 不用註冊 · ANS-C01

為什麼合規審計與網路治理對 ANS-C01 很重要

合規與網路治理是一項營運準則,旨在持續、自動且大規模地證明你的 AWS 網路符合政策要求。ANS-C01 考試的網域 4 任務 4.2(「使用網路監控和記錄服務來驗證和稽核安全」)位於所有其他網域的交匯點:路由變更會產生 CloudTrail 事件、安全群組修改會觸發 Config 評估、流量會產生 VPC Flow Log 紀錄,而威脅則會作為 GuardDuty 發現浮現。考試期望你具備在多帳戶 AWS 組織中建構此稽核體系的能力,而不僅僅是在單個帳戶內。

本學習指南從專項認證 (Specialty) 的深度出發,探討 ANS-C01 測試的合規與治理工具集:流量層級的 VPC Flow Logs、API 層級的 CloudTrail、資源狀態層級的 AWS Config、政策層級的 Firewall Manager、威脅偵測層級的 GuardDuty、彙整層級的 Security Hub、快照層級的 Trusted Advisor 以及警示層級的 CloudWatch 警報。我們將涵蓋你必須理解的特定日誌欄位、典型的網路 Config 規則、Firewall Manager 的先決條件與政策類型、網路相關的 GuardDuty 發現、多帳戶組織的集中式日誌架構、使用 EventBridge 和 Lambda 的自動化事件回應模式,以及持續性 (Config) 與時間點 (Trusted Advisor) 合規評估之間的差異。

閱讀本指南後,你應該能夠為擁有數百個帳戶的 AWS 組織設計完整的網路稽核架構。我們將以常見問題 (FAQ)、情境演練和常見陷阱提醒作為總結。

三層稽核策略

ANS-C01 期望你將網路稽核視為一個三層模型:

  • API 層 (CloudTrail):誰在何時從何處做了什麼?紀錄每一次 AWS API 調用,包括網路變更(CreateRoute、AuthorizeSecurityGroupIngress、AttachInternetGateway)。
  • 資源狀態層 (AWS Config):現在的配置長什麼樣,以及它是如何變更的?紀錄資源配置並持續根據規則進行評估。
  • 流量層 (VPC Flow Logs, Traffic Mirroring):網路中實際流動了哪些封包?紀錄連線中繼資料(Flow Logs)或完整的封包內容(Traffic Mirroring)。

每一層解決不同的問題。CloudTrail 告訴你「誰對全世界開放了 SSH」。Config 告訴你「目前哪些安全群組允許了 0.0.0.0/0:22」。Flow Logs 則告訴你「是否真的有人從公共 IP 透過 SSH 進行了連線」。這三層都會饋送到 Security Hub 以實現統一發現,並進入 SIEM 工具(如 Splunk、Datadog、Sumo Logic)進行威脅關聯。

網路稽核策略是結合 API 層級 (CloudTrail)、資源狀態層級 (AWS Config) 與流量層級 (VPC Flow Logs, Traffic Mirroring) 資料來源的組合,共同提供對網路行為的完整可見性。每一層回答不同的問題:CloudTrail 說明誰更改了什麼,Config 說明資源目前的樣貌,Flow Logs 說明實際流動的流量。ANS-C01 要求掌握這三者。 參考資料:https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/operate.html

用於安全分析的 VPC Flow Logs

VPC Flow Logs 捕捉流經 VPC 中 ENI 的 IP 流量中繼資料。對於安全分析,第 3、4 和 5 版中添加的擴展欄位至關重要:pkt-srcaddrpkt-dstaddr(顯示經過 NAT 後的原始來源/目的地)、pkt-src-aws-servicepkt-dst-aws-service(識別流量中的 AWS 服務)、tcp-flags(SYN, ACK, FIN, RST)以及 flow-direction(入站 vs 出站)。

透過 Flow Logs 偵測攻擊模式

幾種攻擊模式在 Flow Logs 中會清晰浮現:

  • 連接埠掃描 (Port scanning):來自單個來源對多個目的地連接埠的大量連線嘗試(SYN 計數高,ACK 計數低)。透過 tcp-flags = 2 (僅 SYN) 偵測並按來源 IP 分組。
  • 橫向移動 (Lateral movement):不應通訊的子網之間出現異常的東西向流量。透過將流量日誌與預期的通訊圖進行對比來偵測。
  • 資料外洩 (Data exfiltration):流向陌生目的地的出站位元組數過高。透過 flow-direction = egress 且對非公司 IP 產生大量 bytes 值來偵測。
  • C2 指令與控制通訊 (C2 beaconing):固定間隔的規律性微小出站連線。透過對連線開始時間進行時間序列分析來偵測。
  • 加密貨幣挖礦 (Cryptojacking):流向挖礦池 IP 的出站流量(通常先解析 DNS;Flow Logs 會捕捉隨後的流量)。

用於合規的 Athena 查詢

以 Parquet 格式交付到 S3 的流量日誌支援高效的 Athena 查詢:

-- REJECT 流量的前 10 大來源
SELECT srcaddr, COUNT(*) as drops
FROM vpc_flow_logs
WHERE action = 'REJECT'
  AND year = '2026' AND month = '05'
GROUP BY srcaddr
ORDER BY drops DESC
LIMIT 10;
-- 識別連接埠掃描(單個來源掃描許多目的地連接埠)
SELECT srcaddr, COUNT(DISTINCT dstport) as ports_scanned
FROM vpc_flow_logs
WHERE action = 'ACCEPT' AND tcp_flags = 2
GROUP BY srcaddr
HAVING COUNT(DISTINCT dstport) > 100;
-- 偵測資料外洩(流向外部 IP 的大量出站流量)
SELECT pkt_dstaddr, SUM(bytes) as bytes_out
FROM vpc_flow_logs
WHERE flow_direction = 'egress'
  AND pkt_dstaddr NOT LIKE '10.%' AND pkt_dstaddr NOT LIKE '172.%'
GROUP BY pkt_dstaddr
ORDER BY bytes_out DESC;

對於 ANS-C01,請記住 Flow Logs 可以發送到 S3 (搭配 Athena)、CloudWatch Logs (搭配 Logs Insights) 或 Kinesis Data Firehose (用於串流至 SIEM)。每個目的地有不同的成本與查詢特性 —— S3 對於保留最便宜,CloudWatch 對於即時查詢最快,Firehose 對於串流至外部 SIEM 最佳。

VPC Flow Logs 僅紀錄連線中繼資料 —— 來源 IP、目的地 IP、連接埠、協定、位元組/封包計數、動作 (ACCEPT/REJECT) 和 TCP 標記。它們捕捉封包酬載。若要檢查實際封包內容以進行取證調查,請使用 VPC Traffic Mirroring,它會將完整的封包複製到鏡像目標。Flow Logs 用於連線級別分析;Traffic Mirroring 用於酬載級別取證。 參考資料:https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html

Flow Log 紀錄:ACCEPT、REJECT、NODATA、SKIPDATA

流量日誌動作欄位的值:

  • ACCEPT:流量被安全群組 (SG) 和網路 ACL (NACL) 允許。
  • REJECT:流量被 SG 或 NACL 阻擋。用於診斷連線失敗和偵測探測。
  • NODATA:在彙整間隔內沒有流量。並不代表流量被阻擋。
  • SKIPDATA:超過 ENI 容量;部分流被跳過(未捕捉到所有流)。表示流量日誌被截斷。

考試經常測試兩者的區別:NODATA 表示「沒事發生」,SKIPDATA 表示「有事發生但我們漏掉了一些」。混淆這兩者會導致錯誤的稽核結論。

用於網路 API 稽核的 CloudTrail

CloudTrail 紀錄帳戶中的每一次 AWS API 調用。對於網路稽核,相關的 API 事件包括:

  • VPCCreateVpc, DeleteVpc, ModifyVpcAttribute, AssociateVpcCidrBlock
  • SubnetCreateSubnet, DeleteSubnet, ModifySubnetAttribute
  • 路由表CreateRoute, DeleteRoute, ReplaceRoute, AssociateRouteTable
  • 安全群組AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, CreateSecurityGroup
  • NACLCreateNetworkAcl, CreateNetworkAclEntry, DeleteNetworkAclEntry
  • IGW/NAT GWAttachInternetGateway, DetachInternetGateway, CreateNatGateway
  • VPN/DXCreateVpnConnection, CreateVpnGateway, CreateDirectConnectGatewayAssociation
  • TGWCreateTransitGateway, CreateTransitGatewayRoute, AssociateTransitGatewayRouteTable

CloudTrail 組織線索 (Organization trails)

對於多帳戶稽核,應在管理帳戶中配置組織線索,將所有成員帳戶的事件捕捉到專用安全帳戶中的集中式 S3 儲存桶。成員帳戶無法停用組織線索 —— 這是實現可信稽核的關鍵控制。

AWS CloudTrail 組織線索捕捉 AWS 組織中每個帳戶的管理事件。成員帳戶無法停用該線索或修改其配置 —— 只有組織管理帳戶或委派管理員可以。結合防止刪除的 S3 儲存桶政策(Object Lock + MFA 刪除),這可以創建一個即使受損的成員帳戶也無法更改的防篡改稽核日誌。 參考資料:https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html

偵測可疑變更

CloudWatch Logs 中的 CloudTrail 指標篩選器可以對可疑模式發出警示:

  • AuthorizeSecurityGroupIngresscidrIp = "0.0.0.0/0" → 潛在暴露。
  • DeleteFlowLogs → 企圖毀滅證據。
  • DeleteTrailStopLogging → 規避稽核。
  • CreateAccessKey 接著迅速執行 AuthorizeSecurityGroupIngress → 可能受損。

這些指標篩選器驅動 SNS 警示或 Lambda 自動補救。

用於持續合規的 AWS Config

AWS Config 持續紀錄 AWS 資源的配置狀態,並不斷根據規則進行評估。對於網路合規,典型的受管 Config 規則包括:

  • restricted-ssh:偵測對 0.0.0.0/0 開放 TCP 22 的安全群組。
  • restricted-common-ports:偵測對全球開放常用連接埠(3389、1433、5432 等)的安全群組。
  • vpc-sg-open-only-to-authorized-ports:安全群組僅能具備明確核准的連接埠允許規則。
  • vpc-flow-logs-enabled:每個 VPC 必須啟用 Flow Logs。
  • vpc-default-security-group-closed:預設安全群組必須沒有規則。
  • internet-gateway-authorized-vpc-only:IGW 僅能附加到特定標籤的 VPC。
  • subnet-auto-assign-public-ip-disabled:子網不得自動分配公共 IP。
  • elb-acm-certificate-required:ELB 必須使用 ACM 憑證(非自簽)。
  • acm-certificate-expiration-check:對接近過期的憑證發出警示。
  • alb-waf-enabled:ALB 必須關聯 WAF Web ACL。

自定義 Config 規則

對於受管規則未涵蓋的要求,可撰寫由 Lambda 支援的自定義 Config 規則。Lambda 接收資源配置並返回 COMPLIANT(合規)或 NON_COMPLIANT(不合規)。使用案例:「所有 NLB 必須具備特定標籤」、「Transit Gateway 路由表必須包含針對未授權 CIDR 的黑洞路由」、「Network Firewall 必須附加特定的規則群組」。

多帳戶 Config 彙整器 (Aggregator)

Config 彙整器將來自 AWS 組織成員帳戶的 Config 資料收集到單個管理帳戶或委派管理員帳戶中。彙整器提供全組織合規情況的統一視圖,而無需在每個帳戶重複 Config 資料。

對於 ANS-C01,「橫跨 100 個帳戶集中化合規評估」的標準答案是 Config 彙整器 + 全組織範圍的 Config 合規套件 (conformance pack)。

合規套件是封裝在一起的 AWS Config 規則與補救動作的集合。AWS 為各種合規框架(PCI DSS、HIPAA、NIST 800-53、CIS Benchmarks)提供標準合規套件。你可以跨 AWS 組織部署合規套件,透過單一指令強制執行基準合規性。自定義合規套件則可結合你自己的規則與受管規則。 參考資料:https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html

持續性 vs 時間點評估

AWS Config 提供持續評估 —— 資源的每次變更都會觸發重新評估。Trusted Advisor 提供時間點快照 —— 配置的每日或每週摘要。對於主動的安全監控,Config 是正確的工具。Trusted Advisor 是高管級別的摘要,而非即時控制。

用於全組織政策的 AWS Firewall Manager

AWS Firewall Manager 是安全網路政策的多帳戶協調層。它支援幾種與 ANS-C01 相關的政策類型:

  • WAF 政策:跨範圍內的 CloudFront 分發、ALB 和 API Gateway 部署 Web ACL。
  • Shield Advanced 政策:確保範圍內的資源類型啟用了 Shield Advanced。
  • Network Firewall 政策:跨範圍內的 VPC 部署 AWS Network Firewall + 防火牆政策。
  • 安全群組稽核政策:持續評估安全群組規則是否符合允許的模式。
  • 安全群組內容稽核政策:強制要求範圍內的所有 ENI 附加一個主要的安全群組。
  • 安全群組使用稽核政策:偵測未使用或多餘的安全群組。
  • DNS 防火牆政策:跨範圍內的 VPC 部署 Route 53 Resolver DNS 防火牆規則群組。
  • 第三方防火牆政策:與合作夥伴防火牆(Palo Alto、Fortinet、Check Point)整合。

Firewall Manager 先決條件

Firewall Manager 要求:

  • 啟用了所有功能的 AWS Organizations(而不僅僅是合併帳單)。
  • 在每個範圍內的成員帳戶中啟用了 AWS Config。
  • 指定一個帳戶作為 Firewall Manager 的委派管理員。
  • 在成員帳戶中創建服務連結角色。

Firewall Manager 無法在獨立帳戶或僅具備合併帳單功能的組織中使用。它要求 Organizations 啟用「所有功能」,並且在該政策目標的每個成員帳戶中都啟用了 AWS Config。考生經常選擇「使用 Firewall Manager」而沒意識到先決條件 —— 如果情境未建立這些先決條件,該選項就是錯誤的。 參考資料:https://docs.aws.amazon.com/waf/latest/developerguide/fms-prereq.html

Firewall Manager 中的自動補救

當偵測到不合規資源時(例如,未關聯所需 Web ACL 的 ALB),Firewall Manager 可以將其標記為不合規,或者自動補救。自動補救會創建缺失的關聯。對於安全群組政策,Firewall Manager 可以附加所需的安全群組,或從現有安全群組中移除未經授權的規則。

考試會測試「自動偵測新帳戶並套用基準」。Firewall Manager + Organizations 就是答案:當新帳戶加入組織時,Firewall Manager 會自動將政策部署到範圍內的資源。

用於網路威脅偵測的 Amazon GuardDuty

GuardDuty 是一項代管威脅偵測服務,它分析 VPC Flow Logs(它直接存取,無需你匯出)、CloudTrail、來自 Route 53 Resolver 的 DNS 查詢日誌、EKS 稽核日誌、S3 資料事件以及其他多種來源,以尋找入侵指標。網路相關的 GuardDuty 發現包括:

  • Recon:EC2/PortProbeUnprotectedPort:執行個體暴露的連接埠正在被掃描。
  • UnauthorizedAccess:EC2/SSHBruteForceRDPBruteForce:暴力破解身份驗證嘗試。
  • UnauthorizedAccess:EC2/MetadataDNSRebind:透過 DNS 重新綁定來存取執行個體中繼資料。
  • CryptoCurrency:EC2/BitcoinTool.B!DNS:執行個體正在查詢已知的加密貨幣挖礦池 DNS。
  • Backdoor:EC2/C&CActivity.B:執行個體正在與已知的 C2 伺服器通訊。
  • Behavior:EC2/NetworkPortUnusual:流向該執行個體不常用連接埠的流量。
  • Trojan:EC2/DGADomainRequest.B:執行個體正在為惡意軟體 C2 生成演算法網域 (DGA)。
  • PenTest:IAMUser/KaliLinux:來自已知 Kali Linux IP 區塊的 API 調用。

組織版 GuardDuty

與 Firewall Manager 類似,GuardDuty 支援多帳戶覆蓋的委派管理員模型。成員帳戶的發現會浮現在委派管理員帳戶中。委派管理員可以配置威脅清單(自定義 IP 允許/拒絕)和信任 IP 清單。

與 EventBridge 和 Security Hub 的整合

GuardDuty 發現以 EventBridge 事件的形式發出,具有詳細結構(發現類型、嚴重性、資源詳情、受影響實體)。EventBridge 規則可觸發 Lambda 函數進行自動補救:

  • EC2 上的高嚴重性發現 → 透過附加受限安全群組來隔離 ENI。
  • IAM 發現 → 停用存取金鑰,輪換密碼。
  • S3 發現 → 封鎖儲存桶的公共存取。

GuardDuty 發現也會流向 Security Hub,以實現統一的漏洞與合規視圖。

Amazon Security Hub:統一發現

Security Hub 彙整來自 GuardDuty、Macie、Inspector、IAM Access Analyzer、Firewall Manager、第三方安全工具以及你自定義整合的發現。它提供統一發現格式 (AWS Security Finding Format, ASFF) 和標準合規框架 (CIS AWS Foundations Benchmark, AWS Foundational Security Best Practices, PCI DSS)。

對於 ANS-C01,Security Hub 的重要性在於它是「全組織範圍內安全發現的單一窗口」的標準答案。發現被標準化為 ASFF,去重並顯示在單一儀表板中。洞察 (Insights) 和自定義動作目標可實現工作流自動化。

集中式日誌架構

多帳戶 AWS 組織中合規日誌的參考架構:

┌─────────────────────────────────┐
│  AWS Organizations 管理帳戶      │
│  - 全組織範圍的 CloudTrail        │
│  - Firewall Manager 管理員       │
└────────────────┬────────────────┘
                 │
                 ▼
┌─────────────────────────────────┐
│  安全帳戶 (稽核)                 │
│  - 集中式 S3 日誌儲存桶           │
│  - Security Hub 彙整器           │
│  - Config 彙整器                 │
│  - GuardDuty 管理員              │
│  - SIEM 擷取                     │
└────────────────┬────────────────┘
                 │
                 ▼
┌──────────────────────────────────────────┐
│  成員帳戶                                 │
│  - VPC Flow Logs → 安全帳戶 S3            │
│  - CloudTrail → 組織線索 S3              │
│  - Config → Config 彙整器                │
│  - GuardDuty 成員 → 組織管理員            │
│  - Network Firewall 日誌 → 安全帳戶 S3    │
└──────────────────────────────────────────┘

關鍵控制:

  • 在具備 Object Lock 的安全帳戶中設置集中式日誌儲存桶,以防篡改。
  • 儲存桶政策拒絕任何非安全帳戶委託人的刪除動作。
  • 使用 KMS 在靜態時加密,金鑰政策僅允許安全帳戶。
  • 透過授予服務委託人(vpc-flow-logs, cloudtrail)s3:PutObject 權限的 S3 儲存桶政策來實現跨帳戶日誌交付。

AWS Control Tower 在其基準組織結構中預設部署了一個「Log Archive」帳戶。該帳戶專門用於合規日誌保留,具備嚴格的存取控制、S3 Object Lock 以及對安全調查人員的唯讀權限。關於「安全合規日誌記錄」的 ANS-C01 問題,幾乎總是以此 Log Archive 模式為正確答案。 參考資料:https://docs.aws.amazon.com/controltower/latest/userguide/log-archive-bucket.html

自動化事件回應

自動化事件回應使用針對安全發現的 EventBridge 規則來觸發補救 Lambda 函數。常見模式:

模式 1:安全群組開放了 0.0.0.0/0:22

Config 規則 restricted-ssh 偵測到不合規
     ↓ (EventBridge 事件)
Lambda 函數:
  - 將安全群組標記為「不合規」
  - 透過 RevokeSecurityGroupIngress API 移除違規規則
  - 將詳情發布到 SNS 主題進行通知

模式 2:GuardDuty 偵測到 EC2 高嚴重性發現

GuardDuty 發現(嚴重性 > 7)發出至 EventBridge
     ↓
Lambda 函數:
  - 為受影響的 EBS 磁碟區建立快照以供取證
  - 將執行個體的安全群組替換為隔離安全群組
  - 停用與執行個體角色相關聯的 IAM 存取金鑰
  - 在 PagerDuty 中創建事件

模式 3:偵測到 VPC Flow Log 異常

CloudWatch Logs 指標篩選器偵測到流量日誌 REJECT 激增
     ↓
CloudWatch 警報觸發 SNS
     ↓
Lambda 函數:
  - 查詢 Athena 獲取 REJECT 的前幾大來源
  - 將前幾大來源添加到 AWS Network Firewall 無狀態規則群組 (阻擋)
  - 發布到 Slack

EventBridge + Lambda + Step Functions 是 ANS-C01 中「自動化事件回應」的標準答案。

用於快照合規的 Trusted Advisor

Trusted Advisor 提供跨成本、效能、安全、容錯和服務限制的快照級別合規檢查。與網路相關的安全檢查包括:

  • 安全群組規則:開啟的連接埠
  • 暴露的存取金鑰
  • ELB 安全政策:弱加密套件
  • VPN 隧道狀態
  • Direct Connect 連線冗餘

Trusted Advisor 檢查會定期進行評估(通常是每日)。對於即時合規,首選 AWS Config。Trusted Advisor 最適合用於主管儀表板和季度審查。

白話文解釋

把整個合規與稽核用日常生活類比拆開:

類比一:銀行的多重監視系統

把 AWS 帳號想成銀行分行:

  • CloudTrail = 行員操作紀錄。誰在哪個櫃台辦了什麼業務、幾點幾分、操作員 ID。即使行員想湮滅證據也辦不到(組織線索不能被成員帳戶關閉)。
  • AWS Config = 保險箱清點紀錄。每天紀錄保險箱裡有什麼,誰更動了什麼。連續監視(continuous evaluation),保險箱每被動一次就檢查是否符合規定。
  • VPC Flow Logs = 監視攝影機的人流統計。紀錄誰進誰出(連線中繼資料),但不錄音也不錄影(不抓酬載)。要看實際發生什麼事得用攝影機(Traffic Mirroring)。
  • GuardDuty = AI 風險警報系統。看到行員的操作模式異常(例如半夜大量提款、來自境外 IP),立刻通報。
  • Security Hub = 中央保全室的大螢幕。把上面所有來源的警報統一顯示,重複的不再重複叫。
  • Firewall Manager = 總行的安全規定執行單位。確保所有分行都遵守同一套保全規則,新分行開幕自動套用規則。
  • Trusted Advisor = 季報。一個禮拜寫一次摘要給董事會,不是即時警報。

類比二:圖書館的書籍管理(持續性 vs 時間點)

  • AWS Config = 圖書管理員 24 小時看著每本書的位置。書一被移動就立刻知道誰移了、移到哪。
  • Trusted Advisor = 每週六做一次盤點,告訴你「目前哪些書不在該在的位置」。
  • CloudTrail = 借閱紀錄。誰借了什麼書、什麼時候還,全部留檔。

如果題目問「即時偵測安全違規」,答案是 Config(持續性);問「每季報告」答案是 Trusted Advisor(快照)。

類比三:公司的合規組織架構

把 AWS 組織想成跨國公司:

  • 管理帳戶 (Management account) = 總部董事會。設定全公司政策(組織線索、Firewall Manager 管理員)。
  • 安全帳戶 / 日誌封存 (Security account / Log Archive) = 中央保全與稽核部門。所有分公司的監視錄影都送到這個部門儲存(集中式 S3 儲存桶具備 Object Lock)。
  • 成員帳戶 (Member accounts) = 分公司。各做各的業務,但要把日誌送回總部。
  • 委派管理員 (Delegated administrator) = 授權代行的安全長。可以代總部執行 Firewall Manager / GuardDuty / Security Hub 的管理。

中央保全部門的儲存室上鎖(S3 Object Lock),連分公司經理也不能刪日誌,這就是「防篡改稽核」(tamper-resistant audit) 的概念。

常見情境

情境 A:AWS 組織的 PCI DSS 合規

要求:一家金融科技公司擁有 30 個 AWS 帳戶。他們需要證明 PCI DSS 合規性,具備持續評估、集中式日誌保留 7 年以及常見錯誤配置的自動補救。

架構:

  • AWS Control Tower 部署 Log Archive + Audit 帳戶。
  • 全組織範圍的 CloudTrail 將日誌發送至 Log Archive S3 儲存桶,並啟用 Object Lock(合規模式,保留 7 年)。
  • 在每個帳戶中啟用 AWS Config,透過 StackSets 部署 PCI DSS 合規套件。
  • 在 Audit 帳戶中設置 Config 彙整器。
  • Firewall Manager(在 Audit 帳戶中委派管理)具備 WAF 政策,在所有 ALB 上強制執行受管規則群組。
  • 全組織範圍啟用 GuardDuty,指定 Audit 為委派管理員。
  • Security Hub 啟用 PCI DSS 標準,將發現彙整到 Audit 帳戶。
  • VPC Flow Logs 發送至 Log Archive S3 搭配 Athena。
  • EventBridge 規則觸發 Lambda,針對 restricted-sshrestricted-common-ports 的發現進行自動補救。

這疊加了稽核體系的每一層。

情境 B:偵測並回應安全群組錯誤配置

要求:一名開發人員意外在生產安全群組上開放了對 0.0.0.0/0 的 TCP 22。安全團隊需要幾分鐘內的偵測與自動補救。

解決方案:

  • AWS Config 規則 restricted-ssh 評估該變更。
  • Config 發出 Configuration Change 事件。
  • EventBridge 規則匹配該事件並觸發 Lambda。
  • Lambda 調用 RevokeSecurityGroupIngress 移除該規則,並發布至 SNS。
  • CloudTrail 紀錄原始變更以及該開發人員的 IAM 身份。
  • Security Hub 彙整該發現以供 SOC 儀表板顯示。

在大約 3 分鐘內,錯誤配置被偵測、還原並報告。這是典型的 ANS-C01「自動化補救」模式。

ANS-C01 合規與稽核常見陷阱

  1. Firewall Manager 需要 Organizations 啟用所有功能 + 成員帳戶啟用 Config —— 缺少這些,答案就是錯的。
  2. Trusted Advisor 是時間點快照 —— 對於持續合規請使用 Config,不要用 Trusted Advisor。
  3. Flow Logs 不捕捉酬載 (Payload) —— 對於取證封包分析請使用 Traffic Mirroring。
  4. Flow Logs 中的 NODATA ≠ 流量被阻擋 —— NODATA 表示該區間沒流量;SKIPDATA 表示捕捉被截斷。
  5. 組織線索成員帳戶無法停用 —— 這是實現防篡改控制的核心。 參考資料:https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html

其他反模式:

  • 僅將流量日誌發送到 CloudWatch Logs 而沒有 S3 保留 —— 大規模下的 CloudWatch Logs 儲存成本昂貴。
  • 使用單個帳戶的 CloudTrail 線索而非組織線索 —— 稽核碎片化,且可被成員帳戶規避。
  • 忘記在範圍內的每個帳戶部署 Config 規則 —— Firewall Manager 和許多合規評估需要在成員帳戶中啟用 Config。
  • 認為 Security Hub 會主動創建發現 —— Security Hub 是彙整其他服務的發現;它本身不生成發現(除了透過 Config 規則進行的 CIS/PCI 等合規標準評估)。
  • 假設 Reachability Analyzer 可取代流量日誌 —— Reachability Analyzer 是根據配置模擬連通性;流量日誌顯示實際流量。
  • 將日誌儲存桶放在管理帳戶中 —— 儲存桶應放在專用的安全/稽核帳戶中以實現職責分離。
  • 忘記 GuardDuty 必須在操作的每個區域都啟用(它是區域性的)。

營運考慮事項

大規模合規日誌記錄的成本優化

大規模合規日誌記錄會變得很昂貴。緩解措施:

  • 將流量日誌發送至 S3(Parquet 格式並具備分區)而非 CloudWatch Logs 進行長期保留。
  • 使用 S3 Intelligent-Tiering 或生命週期政策將舊日誌移至 Glacier。
  • 篩選流量日誌僅捕捉 REJECT 紀錄(如果 ACCEPT 量過大) —— 這會損失一些可見性但可降低成本。
  • 盡可能在 VPC 層級而非子網層級彙整 VPC Flow Logs。
  • 使用 CloudTrail Lake 進行可查詢的線索歷史紀錄,而無需載入單獨的分析基礎設施。

日誌完整性控制

對於防篡改日誌:

  • 針對保留期啟用合規模式下的 S3 Object Lock(任何人都無法停用,包括 root)。
  • 使用安全帳戶中的金鑰在靜態時進行 KMS 加密。
  • S3 儲存桶政策拒絕所有委託人的 s3:DeleteObject 動作,除了 AWS Backup 服務角色。
  • 啟用版本控制並在儲存桶上設置 MFA 刪除。

對於 PCI DSS、HIPAA、SOC 2 和其他合規框架,稽核日誌必須是不可變的。AWS 提供了工具 —— 合規模式下的 S3 Object Lock、日誌生產者與讀取者之間的 IAM 分離、MFA 刪除 —— 但你必須有意識地進行架構設計。關於「確保日誌不可被篡改」的 ANS-C01 問題,通常期望選擇 S3 Object Lock + 合規模式 + 跨帳戶分離。 參考資料:https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html

必背關鍵事實。固定與本主題相關的服務級別限制、預設行為和 SLA 承諾。考試經常測試對特定預設值(時長、限制、重試行為、免費層級邊界)的記憶,記住確切數字往往是選對與「幾乎選對」之間的區別。

常見問題 (FAQ)

Q1:AWS Config 與 CloudTrail 有什麼區別?

CloudTrail 紀錄 API 調用 —— 誰在何時從何處做了什麼。Config 紀錄資源狀態 —— 資源在此刻長什麼樣,以及它如何隨時間變更。CloudTrail 回答「誰刪除了安全群組規則」。Config 回答「該安全群組是否仍然合規」。為了實現完整的稽核,你兩者都需要。CloudTrail 是事件驅動的;Config 是狀態驅動的。

Q2:我如何跨 AWS 組織集中化 VPC Flow Logs?

配置每個 VPC 的流量日誌,將其交付至專用安全/稽核帳戶中的集中式 S3 儲存桶。目標儲存桶政策必須授予 vpc-flow-logs.amazonaws.com 服務委託人 s3:PutObject 權限,並根據來源帳戶 ID 限制範圍。使用 Athena 分區投影來查詢集中式儲存桶。對於即時 SIEM 整合,請使用 Kinesis Data Firehose 作為具備跨帳戶交付能力的目標。

Q3:何時應該使用 Reachability Analyzer 而非流量日誌進行稽核?

Reachability Analyzer 是一項配置分析工具 —— 它根據你的路由表、安全群組、NACL 和其他配置模擬連通性,而無需發送真實封包。將其用於主動驗證(「應用層能否到達資料庫層?」)。流量日誌顯示實際流量 —— 將其用於回溯分析(「應用層是否真的在 TCP 5432 上連接了資料庫層?」)。它們相輔相成:Reachability Analyzer 用於佈署前驗證,流量日誌用於佈署後監控。

Q4:如何確保 Firewall Manager 自動將政策套用到新帳戶?

Firewall Manager 政策具備「包含所有帳戶」或「包含特定 OU」的範圍。當新帳戶加入 AWS 組織時,Firewall Manager 會評估政策範圍,如果帳戶匹配則自動套用。新帳戶必須啟用了 AWS Config(通常透過 Control Tower 或組織中的 StackSets 部署),Firewall Manager 才能評估合規狀態。沒有 Config,Firewall Manager 無法判斷政策合規狀態。

Q5:GuardDuty 針對網路威脅的資料來源是什麼?

GuardDuty 取用 VPC Flow Logs(它直接存取,無需你匯出)和來自 Route 53 Resolver 的 DNS 查詢日誌。它取用你的 S3 流量日誌 —— GuardDuty 有自己的內部存取權限。對於 EKS 特有威脅,GuardDuty 還取用 EKS 稽核日誌。對於 S3 特有威脅,它取用來自 CloudTrail 的 S3 資料事件。每個資料來源都是單獨啟用的,並產生單獨的費用。

Q6:我該如何應對顯示 AWS 帳戶可能受損的 CloudTrail 事件?

針對來自 CloudWatch Logs 指標篩選器的 CloudTrail 事件使用 EventBridge 規則。觸發 Lambda 執行:(1) 停用受影響的 IAM 存取金鑰,(2) 輪換 IAM 使用者密碼,(3) 為受影響的 EC2 磁碟區建立快照以供取證,(4) 卸除/替換執行個體角色,(5) 通知事件回應團隊。AWS 在 AWS 解決方案庫中發布了「自動化安全回應」的參考實作。

Q7:AWS Config 合規套件與 AWS Security Hub 標準有什麼區別?

合規套件是一個可部署的規則與補救動作包,你可以透過 Config 套用到一個或多個帳戶。Security Hub 標準是一組精選的控制項(每個控制項由 Config 規則或其他檢查支援),Security Hub 會在儀表板中對其進行評估和浮現。Security Hub 標準是唯讀的框架;Config 合規套件是可部署的構件。它們相輔相成:合規套件部署規則,Security Hub 彙整發現。

Q8:我該如何在 AWS 中偵測透過 DNS 進行的資料外洩?

三個層級:(1) Route 53 Resolver 查詢日誌捕捉來自 VPC 的每一次 DNS 查詢;交付至 S3 + Athena。(2) Route 53 Resolver DNS 防火牆阻擋流向已知惡意網域的查詢,並在發生嘗試時發出發現。(3) GuardDuty 取用 DNS 查詢日誌,並浮現類似 Trojan:EC2/DGADomainRequest.B 的發現,指示用於馬拉松網域生成的 DGA 行為。結合這三者可實現分層的 DNS 資料外洩偵測。

Q9:流量日誌在寫入後可以被刪除嗎?

流量日誌本身(即配置)可以透過 DeleteFlowLogs 刪除。捕捉到的日誌資料則取決於目的地 —— S3 物件可以被刪除(但 Object Lock 可防止合規性刪除),CloudWatch Logs 串流可以被刪除,Firehose 交付串流可以被暫停。CloudTrail 會紀錄 DeleteFlowLogs API 調用 —— 這是有人停用日誌記錄的稽核軌跡。務必針對 DeleteFlowLogs 事件設置警報。

Q10:AWS Network Manager 在合規稽核中的角色是什麼?

AWS Network Manager(Transit Gateway 的一部分)提供全局網路視圖:TGW 拓撲、路由表、連結、對等互連、BGP 工作階段。為了稽核目的,Network Manager 透過 CloudTrail 和 CloudWatch Events 浮現拓撲變更和路由變更。它補充了 Config(紀錄資源狀態)和流量日誌(紀錄流量)。Network Manager 主要是診斷性的,而非強制執行的。

總結:合規稽核答案模式

當你閱讀關於合規、稽核或治理的 ANS-C01 題目時,請跑一遍此檢查清單:

  • 題目是關於誰更改了什麼? → CloudTrail。
  • 題目是關於資源狀態合規性? → AWS Config。
  • 題目是關於流量層級的可見性? → VPC Flow Logs。
  • 題目是關於封包層級的取證? → VPC Traffic Mirroring。
  • 題目是關於全組織政策執行? → Firewall Manager(需要 Organizations + Config)。
  • 題目是關於威脅偵測? → GuardDuty。
  • 題目是關於統一發現儀表板? → Security Hub。
  • 題目是關於持續性 vs 時間點? → Config (持續性), Trusted Advisor (時間點)。
  • 題目是關於自動化補救? → EventBridge → Lambda。
  • 題目是關於防篡改日誌? → 專用安全帳戶中具備合規模式的 S3 Object Lock。

掌握三層稽核模型(CloudTrail / Config / Flow Logs)、Firewall Manager 的先決條件、GuardDuty 網路發現以及集中式日誌架構,ANS-C01 任務 4.2 關於合規與治理的問題就會變得非常有跡可循。

常考陷阱

  • Firewall Manager 需要 Organizations 啟用所有功能 + Config + 委派管理員 —— 缺一不可。
  • Trusted Advisor 是點狀檢查 (point-in-time),不是持續監控 (continuous) —— 即時合規評估請選 Config。
  • Flow Logs 不抓酬載 (payload) —— 需要封包取證請選 Traffic Mirroring。
  • NODATA ≠ 流量被擋 —— NODATA 表示該區間沒流量;SKIPDATA 表示流量過大導致抓取不齊。
  • 組織線索 (Org trail) 不能被成員帳戶關閉 —— 這是審計可信度的核心,不要選成員帳戶自建的線索。
  • GuardDuty 是區域性 (regional) 服務 —— 你使用的每個區域都要開啟,且需指定委派管理員彙整。
  • Config 必須在每個成員帳戶都開啟 —— 否則 Firewall Manager 跟合規套件無法評估該帳戶。
  • S3 Object Lock 合規模式連 root 也不能刪 —— 是極強的防篡改手段,但要事先算好保留成本。
  • Security Hub 本身不產生威脅發現 —— 它是彙整器 (aggregator);威脅偵測主要靠 GuardDuty。
  • Reachability Analyzer 是模擬路徑,不是實測流量 —— 實際有沒有封包在跑請看 Flow Logs。
  • DeleteFlowLogs 事件務必監控 —— 這是規避稽核 (audit evasion) 的典型警訊。
  • 日誌集中存放於獨立的日誌封存 (Log Archive) 帳戶 —— 不要放在管理帳戶或業務帳戶中,以符合權責分離。

官方資料來源

更多 ANS-C01 主題