SEC05-BP01 建立網路層 - AWS Well-Architected 架構

SEC05-BP01 建立網路層

將具有共同敏感度需求的元件編組成不同層,以盡可能縮小未授權存取的潛在影響範圍。例如:不需存取網際網路的虛擬私有雲端 (VPC) 中的資料庫叢集,應放置在沒有往返網際網路路由的子網路中。流量應該流自鄰接的下一個最不敏感的資源。考慮負載平衡器背後的 Web 應用程式。您的資料庫不應該直接從負載平衡器存取,只有商業邏輯或 Web 伺服器能夠直接存取資料庫。

預期成果:建立分層網路。分層網路有助於以邏輯方式編組相似的網路元件,並且可縮小未授權網路存取的潛在影響範圍。適當分層的網路可使未授權使用者更難轉移到 AWS 環境內的其他資源。除了保護內部網路路徑之外,您也應該保護網路邊緣,例如 Web 應用程式和 API 端點。

常見的反模式:

  • 將所有資源建立在單一 VPC 或子網路中。

  • 使用過於寬鬆的安全群組。

  • 未使用子網路。

  • 允許直接存取資料存放區,例如資料庫。

未建立此最佳實務時的風險暴露等級:

實作指引

Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、Amazon Relational Database Service (Amazon RDS) 資料庫叢集等元件,以及具有共同連線能力需求的 AWS Lambda 函數可分成子網路所組成的層級。考慮將無伺服器工作負載,例如 Lambda 函數,部署在 VPC 內或 Amazon API Gateway 背後。無須網際網路存取權的 AWS Fargate 任務應該放置在沒有往返網際網路路由的子網路中。此分層方法可減輕單層組態錯誤所造成的影響,此類錯誤可能允許意外存取。對於 AWS Lambda,您可以在 VPC 中執行函數,以利用 VPC 型控制。

對於可能包含數千個 VPC、AWS 帳戶 和內部部署網路的網路連線,您應該使用 AWS Transit Gateway。Transit Gateway 可做為中樞,就像輪輻般控制流量在所有連線網路間路由的方式。Amazon Virtual Private Cloud (Amazon VPC) 與 Transit Gateway 之間的流量會保留在 AWS 私有網路上,如此可減少對外暴露於未授權使用者和潛在的安全問題。Transit Gateway 區域間對等也可為區域間的流量加密,不會有單一故障點或頻寬瓶頸。

實作步驟

  • 使用 Reachability Analyzer 根據組態來分析來源與目標之間的路徑:Reachability Analyzer 可讓您自動驗證 VPC 連線資源之間的連線能力。請注意,此分析是透過審查組態 (進行分析時不會傳送任何網路封包) 完成的。

  • 使用 Amazon VPC 網路存取分析器來識別對資源的意外網路存取:Amazon VPC 網路存取分析器可讓您指定網路存取需求並識別潛在的網路路徑。

  • 考慮是否需要將資源置於公有子網路中:請勿將資源置於 VPC 的公有子網路中,除非它們絕對必須從公開來源接收傳入網路流量。

  • 在 VPC 中建立子網路為每個網路層建立子網路 (在包含多個可用區域的群組中) 以增強微分段。另外也確認您已將正確的路由表與您的子網路相關聯,以控制路由和網際網路連線能力。

  • 使用 AWS Firewall Manager 來管理您的 VPC 安全群組:AWS Firewall Manager 有助於減輕使用多個安全群組的管理負擔。

  • 使用 AWS WAF 來防範常見的網路漏洞:AWS WAF 可透過檢查常見網路漏洞的流量,例如 SQL 隱碼攻擊,幫助加強邊緣安全。它還可讓您限制源自特定國家或地理位置的 IP 地址的流量。

  • 使用 Amazon CloudFront 作為內容交付網路 (CDN):Amazon CloudFront 可透過將資料存放在更靠近使用者的地方而協助加快 Web 應用程式的速度。它還能強制 HTTPS、限制對地理區域的存取,以及確保網路流量僅能在經由 CloudFront 時存取資源,來提升邊緣安全。

  • 當建立應用程式設計介面 (API) 時使用 Amazon API GatewayAmazon API Gateway 有助於發佈、監控和保護 REST、HTTPS 和 WebSocket API。

資源

相關文件:

相關影片:

相關範例: