Amazon EC2 中的基礎設施安全 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EC2 中的基礎設施安全

Amazon Elastic Compute Cloud 是受管服務,受到 AWS 全球網路安全的保護。如需 AWS 安全服務以及如何 AWS 保護基礎設施的相關資訊,請參閱AWS 雲端安全。若要使用基礎設施安全的最佳實務設計您的 AWS 環境,請參閱 Security Pillar AWS Well-Architected Framework 中的基礎設施保護

您可以使用 AWS 已發佈的 API 呼叫,透過網路存取 Amazon EC2。使用者端必須支援下列專案:

  • Transport Layer Security (TLS)。我們需要 TLS 1.2 並建議使用 TLS 1.3。

  • 具備完美轉送私密(PFS)的密碼套件,例如 DHE (Ephemeral Diffie-Hellman)或 ECDHE (Elliptic Curve Ephemeral Diffie-Hellman)。現代系統(如 Java 7 和更新版本)大多會支援這些模式。

此外,請求必須使用存取金鑰 ID 和與 IAM 主體相關聯的私密存取金鑰來簽署。或者,您可以透過 AWS Security Token Service (AWS STS) 來產生暫時安全憑證來簽署請求。

如需詳細資訊,請參閱 Security Pillar – AWS Well-Architected Framework 中的基礎設施保護

網路隔離

虛擬私有雲端 (VPC) 是 AWS 雲端中您自己的邏輯隔離區域中的虛擬網路。使用不同的 VPC,依工作負載或組織實體來隔離基礎設施。

子網是您的 VPC 中的 IP 地址範圍。啟動執行個體時,您會在 VPC 的子網中啟動它。使用子網來隔離單一 VPC 內的應用程式層 (例如,Web、應用程式及資料庫)。如果不應該從網際網路直接存取,則針對您的執行個體使用私有子網。

若要使用私有 IP 地址從 VPC 呼叫 Amazon EC2 API,請使用 AWS PrivateLink。如需詳細資訊,請參閱使用介面 VPC 端點存取 Amazon EC2

實體主機上的隔離

已經將相同實體主機上的不同 EC2 執行個體彼此隔離,如同他們位於不同實體主機一樣。Hypervisor 會隔離 CPU 和記憶體,而且執行個體式提供的虛擬化磁碟,而非存取原始磁碟裝置。

當您停止或終止執行個體時,Hypervisor 會先清除配置到該執行個體的記憶體 (設定為零),然後再將之配置到新執行個體,而且會重設儲存體的每個區塊。這可確保不會蓄意地向其他執行個體公開您的資料。

網路基礎設施會將 AWS 網路 MAC 地址動態指派給執行個體。IP 地址會由 AWS 網路基礎設施動態地指派給執行個體,或是由 EC2 管理員透過驗證的 API 請求進行指派。 AWS 網路允許執行個體僅從指派給他們的 MAC 和 IP 地址傳送流量。否則,流量會遭到捨棄。

依預設,執行個體無法接收不是特別定址給它的流量。如果您需要在執行個體上執行網路位置轉譯 (NAT)、路油或防火牆服務,您可以針對網路介面停用來源/目的地檢查。

控制網路流量

請考慮下列選項來控制 EC2 執行個體的網路流量:

  • 使用安全性群組限制您執行個體的存取權限。設定允許最低所需網路流量的規則。例如,您可以允許僅來自於企業網路位址範圍或特定協定 (如 HTTPS) 的流量。對於 Windows 執行個體,允許 Windows 管理流量和最少輸出連線。

  • 運用安全群組作為控制 Amazon EC2 執行個體網路存取的主要機制。必要時,請謹慎使用網路 ACL 來提供無狀態、粗糙的網路控制。安全群組比網路 ACL 更多用途,因為它們能夠執行有狀態封包篩選,並建立參考其他安全群組的規則。不過,網路 ACL 可以有效地作為次要控制項,以拒絕特定流量子集或提供高階子網防護護欄。此外,因為網路 ACL 會套用至整個子網,所以執行個體若在沒有正確安全群組的情況下意外啟動,它們可以用作深度防禦。

  • [Windows 執行個體] 使用群組政策物件 (GPO) 集中管理 Windows 防火牆設定,可進一步增強網路控制。客戶通常會使用 Windows 防火牆進一步了解網路流量,以及補充安全群組篩選條件,以建立進階規則以封鎖特定應用程式存取網路,或篩選來自子集 IP 地址的流量。例如,Windows 防火牆可以限制只有特定使用者或應用程式才能存取 EC2 中繼資料服務 IP 地址。或者,面向公眾的服務可能會使用安全群組來限制特定連接埠的流量,並使用 Windows 防火牆來維護明確封鎖之 IP 地址的清單。

  • 如果不應該從網際網路直接存取,則針對您的執行個體使用私有子網。使用堡壘主機或 NAT 閘道,以取得來自私人子網中執行個體的網際網路存取權限。

  • [Windows 執行個體] 使用安全管理通訊協定,例如透過 SSL/TLS 進行 RDP 封裝。遠端桌面閘道 Quick Start 提供部署遠端桌面閘道的最佳實務,包括將 RDP 設定為使用 SSL/TLS。

  • 【Windows 執行個體】 使用 Active Directory 或 AWS Directory Service 來緊密且集中地控制和監控互動式使用者和群組對 Windows 執行個體的存取,並避免本機使用者許可。亦請避免使用網域管理員,而是建立更精細、以應用程式特定角色為基礎的帳戶。Just Enough Administration (JEA) 允許管理 Windows 執行個體的變更,無需互動或管理員存取。此外,JEA 還可讓組織鎖定執行個體管理所需之 Windows PowerShell 命令子集的管理存取權。如需詳細資訊,請參閱 AWS 安全最佳實務白皮書中的「管理 Amazon EC2 的作業系統存取」。

  • [Windows 執行個體] 系統管理員應該使用 Windows 帳戶搭配有限存取權來執行日常活動,並且只在必要時才提升存取權,以執行特定的組態變更。此外,只有在絕對必要時才能直接存取 Windows 執行個體。反之,運用 EC2 執行命令、系統中心組態管理員 (SCCM)、Windows PowerShell DSC 或 Amazon EC2 Systems Manager (SSM) 這類的中央組態管理系統,將變更推送至 Windows 伺服器。

  • 設定必要網路路由最少的 Amazon VPC 子網路由表。例如,只將需要直接網際網路存取的 Amazon EC2 執行個體,與網際網路閘道的路由一起放置,並將需要直接存取內部網路的 Amazon EC2 執行個體,與虛擬私有閘道的路由一起放置到子網路。

  • 請考慮使用其他安全群組或網路界面,來控制和稽核 Amazon EC2 執行個體管理流量,並與一般應用程式流量分開。這種方法可讓客戶實作變更控制的特殊 IAM 政策,讓稽核安全群組規則或自動規則驗證指令碼的變更變得更輕鬆。使用多個網路介面也提供其他控制網路流量的選項,包括能夠建立以主機為基礎的路由政策,或能夠根據網路介面的指定子網路運用不同的 VPC 子網路路由規則。

  • 使用 AWS Virtual Private Network 或 AWS Direct Connect 建立從遠端網路到 VPCs私有連線。如需詳細資訊,請參閱 Network-to-Amazon VPC 連線選項

  • 使用 VPC 流程日誌監控到達您執行個體的流量。

  • 使用 GuardDuty 惡意軟體防護來識別執行個體上可能危害工作負載的惡意軟體之可疑行為、重新利用資源進行惡意使用,以及未經授權存取您的資料。

  • 使用 GuardDuty 執行時期監控來識別和回應針對執行個體的潛在威脅。如需詳細資訊,請參閱執行時期監控如何搭配 Amazon EC2 執行個體運作

  • 使用 AWS Security HubReachability Analyzer網路存取分析器來檢查執行個體中是否有非預期的網路可存取性。

  • 使用 EC2 Instance Connect 連線至您的執行個體,其會使用 Secure Shell (SSH),而不需要分享和管理 SSH 金鑰。

  • 使用 AWS Systems Manager Session Manager 遠端存取您的執行個體,而不是開啟輸入 SSH 或 RDP 連接埠,以及管理金鑰配對。

  • 使用AWS Systems Manager 執行命令來自動執行常見的管理任務,而不是連線至您的執行個體。

  • [Windows 執行個體] 許多 Windows 作業系統角色和 Microsoft 商務應用程式也提供增強的功能,例如 IIS 內的 IP 位址範圍限制、Microsoft SQL Server 中的 TCP/IP 篩選政策,以及 Microsoft Exchange 中的連線篩選政策。應用程式層內的網路限制功能可為重要的商務應用程式伺服器提供額外的防禦層。

Amazon VPC 支援其他網路安全性控制,例如閘道、代理伺服器和網路監控選項。如需詳細資訊,請參閱「Amazon VPC 使用者指南」中的控制網路流量