使用 AWS 設定監控 EC2 執行個體金鑰配對 - AWS 方案指引

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

使用 AWS 設定監控 EC2 執行個體金鑰配對

環境:生產

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

AWS 服務:Amazon SNS;AWS Config;AWS Lambda

Summary

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

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

先決條件和限制

先決條件

  • 有效的 AWS 帳戶

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

限制

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

架構

目標技術堆疊

  • AWS Config

  • Amazon EventBridge

  • AWS Lambda

  • Amazon SNS

目標架構

  1. AWS Config 會啟動規則。

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

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

  4. AWS Config 會將事件傳送到 EventBridge。

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

  6. Amazon SNS 會透過電子郵件傳送警示。

自動化和規模

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

工具

工具

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

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

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

  • Amazon SNS — Amazon Simple Notification Service (Amazon SNS) 是用於 (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 Resource Name (ARN)。

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

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

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

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

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

  • 觸發類型 — 組態變更

  • 變更範圍 — 資源

  • 資源類型 — 亞馬遜 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. 在 AWS Config 主控台的「規則」頁面上,選取您的規則。

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

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

DevOps

附件

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