使用 Config 監控EC2執行個體金鑰AWS組 - AWS 方案指引

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

使用 Config 監控EC2執行個體金鑰AWS組

創建者萬信本哈拉姆 (AWS), 塞爾吉奧·畢爾巴鄂洛佩茲 (), 和維克蘭特特爾卡 (AWS) AWS

環境:生產

技術:安全性、身分識別、合規

AWS服務:AmazonSNS; AWS Config; AWS Lambda

Summary

在 Amazon 網路服務 (EC2) 雲端上啟動 Amazon 彈性運算雲端 (AmazonAWS) 執行個體時,最佳做法是建立或使用現有的 key pair 來連接至執行個體。key pair 組包含儲存在執行個體中的公開金鑰和提供給使用者的私密金鑰,可透過 Secure Shell (SSH) 安全存取執行個體,並避免使用密碼。不過,使用者有時可能會不小心啟動執行個體,而不附加 key pair。因為金鑰配對只能在執行個體啟動期間指派,因此在沒有金鑰配對的情況下啟動的任何執行個體,快速識別並將其標示為不相容非相容性非常重要。這在要求使用密鑰對進行例如訪問的帳戶或環境中工作時特別有用。

此模式說明如何在 AWS Config 中建立自訂規則以監控EC2執行個體金鑰配對。當執行個體被識別為不合規時,會使用透過 Amazon EventBridge 事件啟動的 Amazon 簡單通知服務 (AmazonSNS) 通知傳送警示。

先決條件和限制

先決條件

  • 活躍AWS帳戶

  • AWS針對您要監視的AWS區域啟用 Config,並設定為記錄所有AWS資源

限制

  • 此解決方案是特定於區域的。所有資源都應在相同的AWS區域中建立。

架構

目標技術堆疊

  • AWSConfig

  • Amazon EventBridge

  • AWSLambda

  • Amazon SNS

目標架構

Diagram showing AWS 服務 interaction: Config, Custom rule, Lambda, EventBridge, SNS, and Email notification.
  1. AWSConfig 啟動規則。

  2. 此規則會叫用 Lambda 函數來評估EC2執行個體的合規性。

  3. Lambda 函數會將更新的合規性狀態傳送至 AWS Config。

  4. AWSConfig 將事件發送到 EventBridge。

  5. EventBridge 將規範遵循變更通知發佈至SNS主題。

  6. Amazon 在電子郵件中SNS發送警報。

自動化和規模

此解決方案可監控區域內任意數量的EC2執行個體。

工具

工具

  • AWSConfig — AWS Config 是一項服務,可讓您評估、稽核和評估AWS資源的組態。AWSConfig 會持續監控和記錄您的AWS資源配置,並允許您根據所需的配置自動評估記錄的配置。

  • Amazon EventBridge — Amazon EventBridge 是一種無伺服器事件匯流排服務,可將您的應用程式與來自各種來源的資料連接起來。

  • AWSLambda — AWS Lambda 是一種無伺服器運算服務,可支援執行程式碼而無需佈建或管理伺服器、建立工作負載感知叢集擴展邏輯、維護事件整合或管理執行階段。

  • Amazon SNS — Amazon 簡單通知服務(AmazonSNS)是用於(A2A)和 application-to-application application-to-person (A2P)通信的全受管簡訊服務。

Code

已附加 Lambda 函數的程式碼。 

史诗

任務描述所需技能
為 Lambda 建立 AWS Identity and Access Management (IAM) 角色。

在AWS管理主控台上 IAM,選擇並建立角色,並使用 Lambda 做為受信任的實體,並新增AmazonEventBridgeFullAccessAWSConfigRulesExecutionRole權限。如需詳細資訊,請參閱AWS文件

DevOps
建立和部署 Lambda 函數。
  1. 在 Lambda 主控台上,使用從頭開始建立一個函數,並使用 Python 3.6 做為執行階段和先前建立的IAM角色。請注意 Amazon 資源名稱(ARN)。

  2. 在「程式」索引標籤上lambda_function.py,選擇並貼上附加至此模式的程式碼。 

  3. 若要儲存變更,請選擇 [部署]。 

DevOps
任務描述所需技能
新增自訂 AWS Config 規則。

在 Con AWS fig 主控台上,使用下列設定新增自訂規則:

  • ARN— 先前創建ARN的 Lambda 函數

  • 觸發類型 — 組態變更

  • 變更範圍 — 資源

  • 資源類型 — Amazon EC2 實例

如需詳細資訊,請參閱AWS文件

DevOps
任務描述所需技能
建立主SNS題和訂閱。

在 Amazon 主SNS控台上,使用標準做為類型建立主題,然後使用電子郵件作為通訊協定建立訂閱。

當您收到確認電子郵件訊息時,請選擇確認訂閱的連結。

如需詳細資訊,請參閱AWS文件

DevOps
建立 EventBridge 規則以啟動 Amazon SNS 通知。

在主 EventBridge 控台上,使用下列設定建立規則:

  • 服務名稱 — AWS Config

  • 事件類型 — Config 規則符合性變更

  • 訊息類型 — 特定訊息類型、 ComplianceChangeNotification

  • 特定規則名稱 — 先前建立的 AWS Config 規則名稱

  • 目標-SNS 主題,您以前創建的主題

如需詳細資訊,請參閱AWS文件

DevOps
任務描述所需技能
建立EC2執行個體。

建立任何類型的兩個EC2執行個體並附加 key pair,並建立一個不含 key pair 的EC2執行個體。

DevOps
驗證規則。
  1. 在「Con AWS fig」主控台的「規則」頁面上,選取您的規則。

  2. 若要查看相容和不相容的EC2執行個體,請將範圍內的資源變更為 [全部] 確認兩個執行個體列為相容,而且一個執行個體列為不相容。 

  3. 等待收到有關EC2執行個體合規狀態的 Amazon SNS 電子郵件通知。 

DevOps

附件

若要存取與此文件相關聯的其他內容,請解壓縮下列檔案:attachment.zip