監視安全性群組的 ElastiCache 叢集 - AWS Prescriptive Guidance

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

監視安全性群組的 ElastiCache 叢集

蘇珊娜康諾 (AWS) 創建

環境:生產

技能:安全性、身分識別、合規性;資料庫;基礎架構;原生雲端

AWS 服務:Amazon SNS; AWS CloudTrail; Amazon CloudWatch; Amazon ElastiCache

Summary

Amazon ElastiCache 是一項 Amazon Web Services (AWS) 服務,提供高效能、可擴展和符合成本效益的快取解決方案,用於在雲端中分發記憶體內資料存放區或快取環境。它會從高輸送量和低延遲的記憶體內資料存放區擷取資料。這項功能使其成為即時使用案例的熱門選擇,例如快取、工作階段存放區、遊戲、地理空間服務、即時分析和佇列。ElastiCache 提供了 Redis 和 Memcached 數據存儲,這兩者都提供了子毫秒響應時間。

A安全群組會透過控制傳入和傳出流量,做為 ElastiCache 執行個體的虛擬防火牆。安全群組會在執行個體層級執行,而非子網路層級。針對每個安全群組,您可新增一組規則,用以控制傳入執行個體的流量,以及另一組規則,用以控制傳出流量。您可以指定允許規則,但無法指定拒絕規則。

此模式提供安全控制,可監 Amazon CloudWatch Events API 呼叫,並在CreateReplicationGroupCreateCacheClusterModifyCacheCluster,以及ModifyReplicationGroup操作。此事件會呼叫執行 Python 指令碼的 AWS Lambda 函數。函式會從事件 JSON 輸入取得複寫群組識別碼,並執行下列檢查,以判斷是否有安全性違規:

  • 檢查叢集的安全性群組是否符合 Lambda 函式中設定的安全性群組。

  • 如果叢集的安全群組不相符,函數會使用 Amazon Simple Notification Service (Amazon SNS),將違規訊息傳送到您提供的電子郵件地址。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 上傳所提供的 Lambda 程式碼的 S3 儲存貯體。

  • 您想要從中接收到違規通知的電子郵件地址。

  • 啟用 ElastiCache 記錄功能,以存取所有 API 記錄。

限制

  • 此偵測控制是區域性的,而且必須部署在您要監控的每個 AWS 區域中。

  • 控制項支援在虛擬私有雲端 (VPC) 中執行的複寫群組。

Architecture

工作流程architecture

自動化與擴展

  • 如果您使用 AWS Organizations,您可以使用AWS CloudFormation,在您要監控的多個帳戶中部署此範本。

Tools

AWS 服務

  • Amazon ElastiCache— Amazon ElastiCache 可讓使用者輕鬆地針對 AWS 雲端中的分散式記憶體內快取環境,來進行設定、管理和擴展。此項服務提供高效能、可調整大小和符合成本效益的記憶體內快取,同時消除了部署與管理分散式快取環境的相關複雜性。ElastiCache 存與 Redis 和內存緩存的引擎工作。

  • AWS CloudFormation— AWS CloudFormation 可協助您為 AWS 資源建立模型和設定、快速一致地佈建資源,並在整個生命週期中進行管理。您可以使用範本來描述資源及其相依性,並將它們一起啟動並設定為堆疊,而不是個別管理資源。您可以跨多個 AWS 帳戶和 AWS 區域管理和佈建堆疊。

  • AWS CloudWatch 事件— Amazon CloudWatch Events 會提供近乎即時的系統事件串流,描述 AWS 資源中的變更。CloudWatch Events 會在發生操作變更時感知並視需要進行修正動作,透過傳送訊息來回應環境、啟用功能、執行變更和擷取狀態資訊。

  • AWS Lambda— AWS Lambda 是一項運算服務,可支援執行程式碼,無需佈建或管理伺服器。Lambda 只有在需要時才會執行程式碼,可自動從每天數項請求擴展成每秒數千項請求。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。 

  • Amazon SNS— Amazon Simple Notification Service (Amazon SNS) 會協調和管理發佈商和用戶端之間的訊息傳送,包括 Web 伺服器和電子郵件地址。訂閱者會收到發佈到所訂閱主題的所有訊息,且某一主題的所有訂閱者均會收到相同訊息。

Code

該模式包括一個包含兩個文件的附件:

  • ElastiCacheAllowedSecurityGroup.zip是包含安全性控制項 (Lambda 程式碼) 的壓縮檔。

  • ElastiCacheAllowedSecurityGroup.yml是部署安全控制項的 CloudFormation 範本。

請參閱史詩區段,以取得如何使用這些檔案的相關資訊。

Epics

任務描述所需技能
上傳程式碼至 S3 儲存貯體。

建立新的 S3 儲存貯體或使用現有的 S3 儲存貯體來上傳附加的ElastiCacheAllowedSecurityGroup.zip文件(Lambda 代碼)。此儲存貯體必須與您要評估的資源位於相同的 AWS 區域。

雲端
部署 CloudFormation 範本。

在與 S3 儲存貯體相同的 AWS 區域開啟 CloudFormation 主控台,然後部署ElastiCacheAllowedSecurityControl.yml附件中提供的文件。在下一個史詩中,提供模板參數的值。

雲端
任務描述所需技能
提供 S3 儲存貯體名稱。

輸入您在第一部史詩中建立或選取的 S3 儲存貯體名稱。此 S3 儲存貯體包含 Lambda 程式碼的 .zip 檔案,且必須與 CloudFormation 範本和要評估的資源位於相同的 AWS 區域。 

雲端
提供 S3 金鑰。

在 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,不含前導斜線 (例如,ElasticCacheAllowedSecurityGroup.zipcontrols/ElasticCacheAllowedSecurityGroup.zip

雲端
提供電子郵件地址。

提供您想要從中接收到違規通知的有效電子郵件地址。

雲端
指定記錄層級。

指定記錄等級和詳細資訊。Info 會指定應用程式進度的詳細資訊訊息,並且只能用於偵錯。Error 會指定仍可允許應用程式繼續執行的錯誤事件。Warning 指定潛在有害的狀況。

雲端
任務描述所需技能
確認訂閱電子郵件。

當 CloudFormation 範本部署成功時,它會傳送訂閱電子郵件訊息到您提供的電子郵件地址。若要接收通知,您必須確認此電子郵件訂閱。

雲端

Attachments

attachment.zip