Amazon ANS-C01: 網路安全與合規性 — 學習指南
屬於 AWS Advanced Networking Specialty ANS-C01 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
核心概念
AWS 的網路安全是分層式的:邊界控制、VPC 層級的控制、主機與應用程式層級的控制,以及監控/檢測。在 VPC 邊界,您可以使用安全群組 (Security Groups) (一種套用至 ENI、具狀態性 (stateful)、以主機為中心的虛擬防火牆) 和網路 ACL (NACL) (一種無狀態性 (stateless)、依規則編號評估的子網路層級過濾) 來強制執行粗略的存取控制。Security Groups 會追蹤連線狀態,因此已建立的回應流量會被自動允許,這使得它們非常適合用來允許由用戶端發起至 Pod 或執行個體的連線。NACL 需要在兩個方向都設定明確的允許規則,或為回傳流量設定互補規則;它們會依規則編號由小到大進行評估,因此適用於廣泛的子網路層級強化,例如排除整個 CIDR 範圍,或為緊急封鎖清單應用暫時性的緊急通道 (ephemeral escape-hatches)。
檢測與集中式政策強制執行可透過受管與自我管理的服務來提供。AWS Network Firewall 可以透過明確的防火牆政策和規則群組,在 VPC 邊界實作類似 Suricata 的具狀態性保護、網域名單過濾,以及入侵防禦風格的簽章。Web Application Firewall (AWS WAF) 專注於 HTTP(S) 層的應用程式保護,並與 Application Load Balancer、Amazon CloudFront 和 API Gateway 整合,以強制執行 OWASP 保護、基於速率的規則和自訂標頭檢查。DDoS 保護由 AWS Shield 提供 (Standard 版是自動啟用且免費的;Shield Advanced 則提供流量工程、成本保護,並與 WAF 整合以進行應用程式層的緩解)。像 Amazon GuardDuty 這類的偵測服務會分析 VPC Flow Logs、DNS 日誌和 CloudTrail,以揭露偵察活動、連接埠掃描和受損執行個體的行為。
可見性與封包擷取讓整個模型更加完整。VPC Flow Logs 記錄每個 ENI 的流量中繼資料,並可傳送到 CloudWatch Logs、Amazon S3 或 Kinesis Data Firehose,以供 Athena 進行分析。若需要完整封包擷取或更深度的檢測,Traffic Mirroring 允許將 ENI 流量鏡像到一個 IDS/封包擷取設備 (一個帶有鏡像 ENI 的 EC2 感測器或一個 Network Load Balancer 目標),並在該設備上執行像 Suricata 或 Zeek 這類的工具。總體而言,這些控制措施實現了深度防禦 (defense-in-depth) 的姿態,同時具備了預防、偵測和鑑識的能力。
關鍵服務與設定
有幾個 AWS 服務是網路安全的核心,每個服務都有需要了解的特定設定模式和 API:
- Security Groups
- Network ACLs (NACLs)
- AWS Network Firewall
- AWS WAF
- AWS Shield (Standard and Advanced)
- Amazon GuardDuty
- VPC Flow Logs
- Traffic Mirroring
Security Groups 是透過 EC2 API 或主控台針對每個 ENI 進行設定;若要新增一個傳入規則,請使用
undefined
。請記得使用最小權限的 CIDR,並為負載平衡器和後端 Pod 附加不同的 SG,以避免過於寬鬆的規則。透過
undefined
建立 NACL,並使用
undefined
新增帶有編號的條目,需指定規則編號 (rule-number)、規則動作 (rule-action)、協定 (protocol)、連接埠範圍 (port-range) 和傳出旗標 (egress flag)。
AWS Network Firewall 使用規則群組 (rule groups) 和防火牆政策 (firewall policies),並將它們綁定到在 VPC 子網路中建立的防火牆資源上。使用
undefined
來定義無狀態或具狀態的規則,使用
undefined
來組合它們,並使用
undefined
來部署。選擇具狀態的規則群組以進行協定感知檢測和與 Suricata 相容的簽章規則;對於非常高的吞吐量和第一階段過濾,則使用無狀態規則。
AWS WAF 將一個 Web ACL 附加到 ALB 上,可以強制執行 IP 集比對、標頭中的字串比對或基於速率的規則。使用
undefined
並指定檢查標頭的規則 (例如,封鎖那些不包含您在受信任的前端所注入的自訂標頭的請求)。AWS Shield Advanced 是以每個帳戶為單位啟用,並為註冊到 Shield Advanced 的資源提供 DDoS 回應團隊的存取權限和額外保護。
透過
undefined
啟用 GuardDuty,並將其發現的結果與 CloudWatch Events 或 EventBridge 整合以實現自動化。若要收集遙測資料,可透過
undefined
建立 VPC Flow Logs。若要進行封包擷取,請使用
undefined
、
undefined
和
undefined
將鏡像流量導向到設備的 ENI 或 NLB。
設計模式與權衡取捨
當負載平衡器不得終止 TLS 時,端對端加密與雙向 TLS (mutual TLS) 需要一個第 4 層 (Layer 4) 通透模式。在後端 pod 前方使用 Network Load Balancer (NLB),如此一來 TLS 會話便會直接與服務端點進行協商。在 EKS 上的 Kubernetes 中,部署一個由 NLB 支援、類型為 LoadBalancer 的 Service,並透過 IP 將 pod 註冊為目標;AWS Load Balancer Controller 或舊版的 Service 註解可確保目標類型為 IP,且目標群組協定為 TCP。對於 gRPC 和許多長時間存在的 HTTP/2 連線所特有的高並行性,NLB 會保留來源 IP,且相較於 L7 代理,其每個連線的開銷較低。如果需要在 ALB 終止 TLS(例如,為了基於 URL 的路由),您必須使用 ACM 憑證在 ALB 終止 TLS,然後再轉發到後端;您可以透過依賴 X-Forwarded-For (ALB) 或使用支援 Proxy Protocol v2 的 NLB 來保留用戶端 IP,以供需要在 L4 取得原始來源 IP 的後端使用。
對於需要中央服務的多帳戶、多 VPC 可擴展架構,PrivateLink (AWS VPC Endpoint Services) 是最安全且最具擴展性的選擇。將共用服務 VPC 中的中央服務公開為 AWS PrivateLink 端點服務。每個消費者帳戶都會為該服務建立一個介面 VPC 端點;服務擁有者可以要求端點接受,並在端點 ENI 上應用基於安全群組的控制。此模型將流量保留在 AWS 網路上,避免了對等連線的擴展限制,並提供針對每個消費者的精細安全性。帶有分段功能的 Transit Gateway 和 Network Firewall 可用於網路層級的傳輸和中央檢查,但它更適用於需要具有複雜路由策略的完全路由連線,而非針對每個服務的隔離。
在診斷 Direct Connect 上多個 VIF 的頻寬用量時,應優先處理中繼資料:啟用並查詢彙總到 S3 或 CloudWatch 的 VPC Flow Logs,並透過 Athena 進行分析,以將高流量的 IP 流對應到特定的 VPC 和子網路。使用 Direct Connect 虛擬介面的 CloudWatch 指標來補充 flow logs,如果您需要酬載層級的檢查或處理異質協定,請部署 Traffic Mirroring 以將封包擷取到基於 EC2 的 IDS。Traffic Mirroring 負擔沉重且會產生費用;僅在 flow logs 和 GuardDuty 調查結果不足的會話/時間視窗內使用它。
← 負載平衡與流量管理 · 所有領域 · 內容交付與邊緣網路 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →