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
對於可能包含數千個 VPC、AWS 帳戶 和內部部署網路的網路連線,您應該使用 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 Gateway:Amazon API Gateway 有助於發佈、監控和保護 REST、HTTPS 和 WebSocket API。
資源
相關文件:
相關影片:
相關範例: