檢視次數:
自動修復為客戶提供在其基礎設施上運行自我修復 Lambda 函數的能力,能夠即時修復安全和治理故障。請參閱我們的 GitHub 頁面以獲取我們支持的自動修復 Lambda 函數列表。
如需有關為大型企業實施自動修復和編寫自訂 Lambdas 以填補安全漏洞的詳細資訊,請參閱:如何使用 雲端狀態 平台添加安全性和合規性自動修復
注意
注意
Example Scenario:使用者透過 S3 存取控制清單 (ACLs) 將 S3 儲存桶設為公開可讀取。

自動修復如何運作 上層主題

步驟

  1. 雲端狀態 將此風險識別為規則失敗
  2. 雲端狀態 發送通知到指定的 SNS 頻道。
  3. SNS 主題觸發 Orchestrator lambda 函數,進而調用 S3 bucket 自動修復函數。
  4. AutoRemediateS3-001 功能 更新 S3 存儲桶 ACL 並解決規則失敗,從而消除安全漏洞。

接下來需執行的動作

auto-remediate-y5t5mt=985a7f48-3a9e-4c13-847a-16665b7e885b.png

設置自動修復 上層主題

步驟

  1. 按照官方 Serverless 文件上的說明來安裝並提供您 AWS 帳戶對 Serverless Framework 的訪問權限。創建 Auto-remediation 存儲庫的工作副本,並按照以下說明操作:
  2. 建立自動修復儲存庫的工作副本:
    2. 執行以下 Git 命令:git clone https://github.com/cloudconformity/auto-remediate.git
    step-2-set-up-auto-remediate-gszqhf=8dcfead7-491a-47c6-9ab7-29f80fe14a4c.png
    3. 將目錄更改為 auto-remediation 資料夾中的 functions:cd auto-remediate/functions
    4. 使用以下命令配置訪問規則:nano config.js
    step-4-set-up-auto-remediate-sxxhts=4984f86d-5d6d-4459-979c-18f09138ead2.png
    {.縮放}
    5. config.js 檔案中的所有規則都設定為
    'enabled': false 預設為防止錯誤配置。您需要手動啟動規則,將值更改為
    'enabled': true
    step-5-set-up-auto-remediate-cgtgyl=d1164a6c-e6dc-4f0b-b1f1-68b25bddd478.png
    6. 進行更改後:
    • 採取鍵盤操作Ctrl-O來寫出變更
    • 進入 以確認更改
    • 通過執行鍵盤操作Ctrl-X.退出命令行編輯器
    7. 執行以下命令:
    -  Move one level up to the "auto-remediate" folder using the command:
     `cd ..`
    -  Make node:modules folder available to AWS using the command:
    `npm install`  
    
    ![](img/rules/step-7=25759750-007c-4e3c-9a01-e896e23815a1-set-up-auto-remediate-gcsmxd=3df4e1ab-863d-4cf9-b019-43fb485f8103.png){.zoom}
    
    8. 執行以下命令來部署自動修復:
    serverless deploy --region [您 AWS 帳戶的區域]
    例如
    serverless deploy --region us-east-2
    注意
    注意
    !!! note "" 為了自我修復功能,我們建議在與您的 AWS 帳戶相同的區域部署自動修復。檢查失敗的檢測與部署區域無關,因為它是由 RTM雲端狀態 Bot 執行的。
    step-8-set-up-auto-remediate-y2seyb=cffae1c6-588f-43e4-a758-d01603986b62.png
    9. 部署成功:
    - An SNS topic named **CloudConformity** is automatically created in your AWS account.  
    
    step-9a-set-up-auto-remediate-vennsp=a5d8e742-1d6c-45f1-85cd-93426f9cf25a.png
    • 名為 autoremediate-v1-AutoRemediateOrchestrator 的 Lambda 函數會自動訂閱 CloudConformity SNS 主題。
    step-9b-set-up-auto-remediate-faliqv=2ec7630e-2fad-4187-b16d-4dc0c69b51e1.png
    10. 在 雲端狀態 平台上整合 Amazon SNS 通訊 頻道,並選擇您希望啟用的通知:
    - [Automatic notifications](toggle-automatic-notifications.xml) - failed checks are automatically resolved when a message is published to your SNS channel.
    - [Manual notifications](toggle-manual-notifications.xml) - you can view the **Send via SNS** button on Check failures. Click on the button to resolve the failure.
    

接下來需執行的動作

在部署自動修復後啟用或關閉規則 上層主題

步驟

  1. 在您的 AWS 控制台上,前往:Services Compute Lambda Functions
  2. 搜尋並選擇:auto-remediate-v1-AutoRemediateOrchestrator
    step-2-enable-rules-d3pv6x=63a048ba-b6f4-4472-9a89-1075cb8e6090.png
  3. 對配置進行更改:
    前往 Configuration Function code Environment auto-remediate-v1 functions.
  4. 選擇config.js並修改您的自動修復規則配置。
    step-4-enable-rules-ij5zyy=0eb1ba5f-f4b2-4814-83c7-386d16f0efdb.png

測試自動修復部署 上層主題

步驟

  1. 請驗證您在配置 Amazon SNS 頻道 時選擇的 通訊觸發器 是:
    要麼設置為默認發送所有檢查的通知,或者
    您可以在Rules下特別選擇EC2-002
  2. 請按照啟用規則的說明,驗證AutoRemediateEC2-002規則是否已啟動。
    step-2-test-deployment-f4xygj=8d6a2ded-6c72-440c-9ea1-617a2b6d9673.png
  3. 在您的 AWS 控制台上,前往:Services Compute EC2 Security Groups
    step-3-test-deployment-bydcts=73d91ddc-c13d-4a28-84e3-7c3c295097ab.png
  4. 點選 Create Security Group
    1. 輸入名稱、描述,並選擇 VPC
    2. Security group rules Inbound, 點選 Add Rule
      • 選擇類型:SSH
      • Source: Anywhere
      • 點選 Create !!! 注意 ""

使用手動通知解決 上層主題

如果您只已啟動手動通知,請按照以下步驟解決失敗問題:

步驟

  1. 前往 所有檢查報告 並按以下方式過濾規則:
    • Rules:EC2-002(不受限制的SSH訪問)
    • Only show checks created less than:1天
  2. 在檢查失敗時,點選Send via SNS

驗證自動修復解決方案 上層主題

步驟

  1. 在您的 AWS 控制台上,前往 Services Compute EC2 Security Groups. 您將看到您在步驟 4 中創建的安全群組不再可用。
    step-1-verify-resolution-y1iv54=e1e0a43c-ba7b-4eb0-b9f0-2a6b811617d4.png
  2. 在您的 AWS 控制台上,前往 **Services > Compute > Lambda > Functions > Select {auto-remediate function} > Monitoring.**您也可以查看 lambda 監控圖表,以了解 auto-remediate-v1-AutoRemediateOrchestrator 及其子功能是否被觸發。
    step-2-verify-resolution-ljjg9w=9d6d5c2c-f4fd-467d-8e6c-4e7f3e12fa4e.png

對自動修復專案的貢獻 上層主題

您可以分叉並修改我們的自動修復代碼,但雲端狀態不會對分叉的代碼提供技術支援中心。不過,您可以向我們的自動修復代碼提交拉取請求,如果獲得批准,該代碼將由我們的客戶成功團隊提供支援。