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

Amazon EC2 中的基礎設施安全

您可使用 AWS 發佈的 API 呼叫,透過網路存取 Amazon EC2。用戶端必須支援 Transport Layer Security (TLS) 1.1 或更新版本。用戶端必須在 2023 年 6 月 28 日之前支援 TLS 1.2 或更新版本。用戶端也必須支援具備完美轉送私密 (PFS) 的密碼套件,例如臨時 Diffie-Hellman (DHE) 或橢圓曲線臨時 Diffie-Hellman (ECDHE)。現代系統 (如 Java 7 和更新版本) 大多會支援這些模式。

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

如需詳細資訊,請參閱《安全支柱:AWS Well-Architected 架構》中的基礎設施保護

網路隔離

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

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

若要從 VPC 呼叫 Amazon EC2 API 而不透過公有網際網路傳送流量,請使用 AWS PrivateLink。

實體主機上的隔離

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

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

AWS 網路基礎設施會動態地將網路 MAC 地址指派給執行個體。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 會套用至整個子網,所以執行個體若在沒有正確安全群組的情況下意外啟動,它們可以用作深度防禦。

  • 使用群組政策物件 (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 Systems Manager (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 流程日誌監控到達您執行個體的流量。

  • 使用 AWS Security Hub 檢查來自您執行個體的意外網路存取性。

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

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

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

除了限制對每個 Amazon EC2 執行個體的網路存取外,Amazon VPC 還支援實作額外的網路安全控制,例如線上閘道、代理伺服器和各種網路監控選項。