為什麼合規審計與網路治理對 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-srcaddr 和 pkt-dstaddr(顯示經過 NAT 後的原始來源/目的地)、pkt-src-aws-service 和 pkt-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 事件包括:
- VPC:
CreateVpc,DeleteVpc,ModifyVpcAttribute,AssociateVpcCidrBlock - Subnet:
CreateSubnet,DeleteSubnet,ModifySubnetAttribute - 路由表:
CreateRoute,DeleteRoute,ReplaceRoute,AssociateRouteTable - 安全群組:
AuthorizeSecurityGroupIngress,AuthorizeSecurityGroupEgress,RevokeSecurityGroupIngress,CreateSecurityGroup - NACL:
CreateNetworkAcl,CreateNetworkAclEntry,DeleteNetworkAclEntry - IGW/NAT GW:
AttachInternetGateway,DetachInternetGateway,CreateNatGateway - VPN/DX:
CreateVpnConnection,CreateVpnGateway,CreateDirectConnectGatewayAssociation - TGW:
CreateTransitGateway,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 指標篩選器可以對可疑模式發出警示:
AuthorizeSecurityGroupIngress且cidrIp = "0.0.0.0/0"→ 潛在暴露。DeleteFlowLogs→ 企圖毀滅證據。DeleteTrail或StopLogging→ 規避稽核。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/SSHBruteForce 與 RDPBruteForce:暴力破解身份驗證嘗試。
- 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-ssh和restricted-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 合規與稽核常見陷阱
- Firewall Manager 需要 Organizations 啟用所有功能 + 成員帳戶啟用 Config —— 缺少這些,答案就是錯的。
- Trusted Advisor 是時間點快照 —— 對於持續合規請使用 Config,不要用 Trusted Advisor。
- Flow Logs 不捕捉酬載 (Payload) —— 對於取證封包分析請使用 Traffic Mirroring。
- Flow Logs 中的 NODATA ≠ 流量被阻擋 —— NODATA 表示該區間沒流量;SKIPDATA 表示捕捉被截斷。
- 組織線索成員帳戶無法停用 —— 這是實現防篡改控制的核心。 參考資料: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) 帳戶 —— 不要放在管理帳戶或業務帳戶中,以符合權責分離。