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

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

Amazon EC2 中的基礎設施安全

作為受管服務,Amazon 彈性運算雲端受到 AWS 全球網路安全的保護。有關 AWS 安全服務以及如何 AWS 保護基礎結構的詳細資訊,請參閱AWS 雲端安全 若要使用基礎架構安全性的最佳做法來設計您的 AWS 環境,請參閱安全性支柱架構良 AWS 好的架構中的基礎結構保

您可以使用 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) 來產生暫時安全憑證來簽署請求。

如需詳細資訊,請參閱安全性支柱 — AWS Well-Architected 的架構中的基礎結構保護

網路隔離

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

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

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

實體主機上的隔離

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

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

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

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

控制網路流量

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

  • 使用安全性群組限制您執行個體的存取權限。設定 Amazon EC2 執行個體安全群組,以允許 Amazon EC2 執行個體所需的最低網路流量,並只允許從已定義、預期和核准的位置進行存取。例如,如果 Amazon EC2 執行個體是 IIS Web 伺服器,請將其安全群組設定為僅允許傳入 HTTP/HTTPS、Windows 管理流量和最少傳出連線。

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

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

  • 管理 Windows 執行個體時,請限制存取一些明確定義的集中式管理伺服器或堡壘主機,以減少環境的攻擊面。此外,使用安全管理通訊協定,例如透過 SSL/TLS 進行 RDP 封裝。遠端桌面閘道 Quick Start 提供部署遠端桌面閘道的最佳實務,包括將 RDP 設定為使用 SSL/TLS。

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

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

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

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

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

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

  • 使用GuardDuty 惡意程式碼防護來識別執行個體上指示惡意軟體的可疑行為,這些行為可能會損害您的工作負載、重新利用資源以供惡意使用,以及取得未經授權的資料存取權。

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

  • 使用AWS Security Hub、可 Reachability Analyzer網路存取分析器來檢查執行個體是否有意外的網路可存取性。

  • 使用 AWS Systems Manager Session Manager 遠端存取您的執行個體,而不會開啟傳入 RDP 連接埠

  • 使用 AWS Systems Manager 執行命令自動化常見管理工作,而不會開啟傳入 RDP 連接埠

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

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