Amazon ElastiCache Well-Architected Lens 安全支柱 - Amazon ElastiCache

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

Amazon ElastiCache Well-Architected Lens 安全支柱

安全支柱著重於保護資訊和系統。重要主題包括資料的機密性和完整性、識別和管理誰可以透過權限為主的管理做什麼、保護系統,以及建立控制項來偵測安全事件。

SEC 1:您在控制授權存取ElastiCache 資料方面採取了哪些步驟?

問題層級簡介:所有 ElastiCache叢集的設計都是從 、無VPC伺服器函數 (AWS Lambda) 或容器 (Amazon Elastic Container Service) 中的 Amazon Elastic Compute Cloud 執行個體存取。最常見的案例是從相同 Amazon Virtual Private Cloud (Amazon Virtual Private Cloud 內的 Amazon Elastic Compute Cloud 執行個體存取 ElastiCache 叢集。您必須先授權 Amazon EC2執行個體存取叢集,才能從 Amazon EC2執行個體連線至叢集。若要存取在 中執行的 ElastiCache 叢集VPC,則必須將網路輸入授予叢集。

問題層級優點:網路傳入叢集是透過VPC安全群組控制。安全群組可做為 Amazon EC2執行個體的虛擬防火牆,以控制傳入和傳出流量。傳入規則會控制傳入至您的執行個體的流量,以及傳出規則會控制從您的執行個體傳出的流量。如果是 ElastiCache,在啟動叢集時,需要關聯安全群組。這樣可確保組成叢集的所有節點都已設有傳入和傳出流量規則。此外, ElastiCache 設定為僅在私有子網路上部署,以便只能透過 VPC的私有網路從 存取。

  • [必要] 與叢集相關聯的安全群組會控制叢集的網路輸入和存取。根據預設,安全群組不會定義任何傳入規則,因此不會傳入 的路徑 ElastiCache。若要啟用此功能,請在安全群組上設定傳入規則,指定來源 IP 地址/範圍、TCP輸入流量和 ElastiCache 叢集的連接埠 (例如 ElastiCache (Redis OSS) 的預設連接埠 6379)。雖然可以允許非常廣泛的輸入來源,就像 VPC(0.0.0.0/0) 中的所有資源一樣,但建議盡可能精細地定義傳入規則,例如僅授權對在特定安全群組關聯之 Amazon EC2執行個體上執行的 Valkey 或 Redis OSS用戶端的傳入存取。

    [資源]:

  • 【必要】 AWS Identity and Access Management 政策可指派給允許其存取 ElastiCache 資料的 AWS Lambda 函數。若要啟用此功能,請使用 AWSLambdaVPCAccessExecutionRole許可建立IAM執行角色,然後將角色指派給 AWS Lambda 函數。

    【資源】:在 Amazon ElastiCache 中設定 Lambda 函數以存取 AmazonVPC:教學課程:設定 Lambda ElastiCache 函數以存取 Amazon VPC

SEC 2:您的應用程式是否需要對 ElastiCache超過 和超過 聯網型控制項的額外授權?

問題層級簡介:在需要限制或控制個別用戶端層級對 ElastiCache (Redis OSS) 叢集的存取的情況下,建議透過 ElastiCache (Redis OSS) AUTH命令進行身分驗證。ElastiCache (Redis OSS) 身分驗證權杖,搭配選用的使用者和使用者群組管理,可讓 ElastiCache (Redis OSS) 在允許用戶端執行命令和存取金鑰之前要求密碼,藉此改善資料平面安全性。

問題層級優點:為了協助保護資料安全, ElastiCache (Redis OSS) 提供機制來防止未經授權存取您的資料。這包括強制執行角色型存取控制 (RBAC) AUTH或權AUTH杖 (密碼),供用戶端在執行授權命令 ElastiCache 之前用來連線 。

  • 【最佳】 對於 ElastiCache (Redis OSS) 6.x 和更新版本,透過定義使用者群組、使用者和存取字串來定義身分驗證和授權控制。將使用者指派至使用者群組,然後將使用者群組指派至叢集。若要使用 RBAC,必須在建立叢集時選取它,且必須啟用傳輸中加密。確保您使用的是支援 的 Valkey 或 Redis OSS用戶端,TLS以利用 RBAC。

    [資源]:

  • 【最佳】 對於 6.x 之前的 ElastiCache (Redis OSS) 版本,除了為 ElastiCache (Redis OSS) 設定強式字符/密碼和維護嚴格的密碼政策之外AUTH,最佳實務是輪換密碼/字符。 ElastiCache 可以在任何指定時間管理最多兩 (2) 個身分驗證字符。您也可以修改叢集,以明確要求使用身分驗證字符。

    【資源】:修改現有 ElastiCache (RedisOSS) 叢集上的AUTH權杖

SEC 3:命令是否會不慎執行,導致資料遺失或失敗的風險?

問題層級簡介:有許多 Valkey 或 Redis OSS命令,如果錯誤執行或由惡意執行者執行,可能會對操作造成負面影響。從效能和資料安全的角度來看,這些命令可能會產生預料之外的後果。例如,開發人員可能會定期在開發環境中呼叫 FLUSHALL命令,由於發生錯誤,可能會無意中嘗試在生產系統上呼叫此命令,從而導致意外的資料遺失。

問題層級優點:從 ElastiCache (Redis OSS) 5.0.3 開始,您可以重新命名可能對工作負載造成干擾的特定命令。重新命名命令有助於防止它們在叢集上意外執行。

SEC 4:如何透過 確保靜態資料加密 ElastiCache

問題層級簡介:雖然 ElastiCache (Redis OSS) 是記憶體內資料存放區,但可以加密任何可能保留 (在儲存體上) 作為叢集標準操作一部分的資料。這包括寫入 Amazon S3 的排程和手動備份,以及因同步和交換操作而儲存到磁碟儲存空間的資料。M6g 和 R6g 系列中的執行個體類型也具有永遠開啟記憶體內加密功能。

問題層級優點:ElastiCache (Redis OSS) 提供可選的靜態加密,以提高資料安全性。

  • 【必要】 只有在 ElastiCache 叢集 (複寫群組) 上建立時,才能啟用靜態加密。無法藉由修改現有叢集來開始加密靜態資料。根據預設, ElastiCache 會提供和管理靜態加密中使用的金鑰。

    [資源]:

  • 【最佳】 利用在記憶體中加密資料的 Amazon EC2執行個體類型 (例如 M6g 或 R6g)。盡可能考慮管理自己的靜態加密金鑰。對於更嚴格的資料安全環境, AWS Key Management Service (KMS) 可用於自我管理客戶主金鑰 (CMK)。透過與 的 ElastiCache 整合 AWS Key Management Service,您可以建立、擁有和管理用於 ElastiCache (Redis OSS) 叢集靜態資料加密的金鑰。

    [資源]:

SEC 5:如何使用 加密傳輸中資料 ElastiCache?

問題難易度簡介:一般常會要求在傳輸過程中減少資料遭到入侵的情況。這表示分散式系統元件內的資料,以及應用程式用戶端和叢集節點之間的資料。 ElastiCache (Redis OSS) 允許加密用戶端和叢集之間傳輸中的資料,以及叢集節點本身之間的資料,藉此支援此要求。M6g 和 R6g 系列中的執行個體類型也具有永遠開啟記憶體內加密功能。

問題層級優點:Amazon 傳輸 ElastiCache 中加密是一項選用功能,可讓您在資料從一個位置傳輸到另一個位置時,提高其最脆弱點的資料安全性。

  • 【必要】 傳輸中加密只能在建立 ElastiCache (Redis OSS) 叢集 (複寫群組) 時啟用。請注意,由於加密/解密資料需要進行額外處理,因此實作傳輸中加密會對效能造成一些影響。若要了解影響,建議在啟用 之前和之後對您的工作負載進行基準測試encryption-in-transit。

    [資源]:

SEC 6:如何限制控制平面資源的存取?

問題層級簡介:IAM針對 ElastiCache (Redis OSS) 政策和ARN啟用精細存取控制,允許更嚴格的控制來管理 ElastiCache (Redis OSS) 叢集的建立、修改和刪除。

問題層級優點:Amazon ElastiCache 資源的管理,例如複寫群組、節點等,可能會受限於根據IAM政策具有特定許可 AWS 的帳戶,以提高資源的安全性和可靠性。

SEC 7:如何偵測和回應安全事件?

問題層級簡介:ElastiCache部署啟用時RBAC, 會匯出 CloudWatch 指標以通知使用者安全事件。這些指標有助於識別RBAC未獲授權的身分驗證、存取金鑰或執行命令的失敗嘗試。

此外, AWS 產品和服務資源可透過自動化部署和記錄所有動作和修改,以供日後檢閱/稽核,協助保護整體工作負載。

問題難易度優點:藉由監控事件可讓您的組織根據您的需求、政策和程序做出回應。自動監控和回應這些安全事件,可強化您的整體安全態勢。