一千萬個為什麽

搜索

當新軟件包可用時,我們應該如何自動重建不可變基礎架構?



我們將使用Terraform來自動化我們的基礎設施部署和Packer,以創建由Terraform部署的機器映像。通過遵循不變的基礎架構設計原則,我們將通過創建一個應用了修補程序的新映像來實現修補,然後重新部署我們的基礎架構。

有了這個設置,是否有任何額外的工具可以用來自動檢測我們的基礎映像中的包或操作系統本身是否需要更新並觸發構建管道?

廚師自動化似乎接近我正在尋找,但是,它似乎掃描正在運行的節點,而不是分析圖像清單本身。

謝謝!

轉載註明原文: 當新軟件包可用時,我們應該如何自動重建不可變基礎架構?

一共有 3 個回答:

采用不可變基礎架構模式的一部分是將您的系統分解為可輕松移動通過CI/CD管道的小型可管理組件,這意味著操作系統補丁可以快速並以受控方式完成。我經常看到客戶最終選擇了一個基礎設施幾乎不可變的中途住宅。

但是,我已經在雲架構的大規模部署中使用了一些方法,通常我實現了多個方法作為縱深防禦策略

  • 安全信息和事件管理(SIEM) :這些產品(例如LogRhythm安全智能平臺)和更通用的產品(如ElasticStack)從操作系統獲取提要,其中包括頻繁檢查更新的輸出。這裏的訣竅就是快速獲取有關補丁內容的信息,並自動告知關於何時通過管道進行滾動的決定。

  • 漏洞管理 系統比SIEM更適合於他們只關註整個系統的漏洞,因此可以捕獲作為部署到系統但未由操作系統管理的軟件的一部分安裝的庫的問題。這可能會突出顯示沒有補丁的漏洞(但是......希望)。

  • 依賴性檢查

  • 一個> 工具構成了管道的一部分,並且可以配置為在檢入添加漏洞時使構建失敗,如果自上次簽入以來在工具中添加了新的漏洞,也可以使用。

您可以使用AWS Inspector進行漏洞掃描並查找CVE漏洞。檢查員具有CloudWatch指標,以便在發現問題時執行操作。確定哪些軟件包需要更新會很棘手,但您可以更新所有內容。您不必使用Inspector,任何可以掛鉤的漏洞掃描工具都可以工作。漏洞掃描通常是最佳做法。

Another idea would be to setup a cron job that does apt-get update && apt-get upgrade —dry-run > stuff-that-should-be-updated.txt and parse the text file for a list of packages to be updated and feed that back into your build process.

This approach looks to solve your purpose using Chef audit but it has got it's own problems. https://joshuakugler.com/using-chef-zero-audit-mode-and-packer.html

定制解決方案 - 如果要使用合規策略(例如CIS,HIPPA),請創建一個作業,該作業將在運行的包映像上運行審核解析器,並在非投訴狀態時通知更新任務。 以上策略可免費獲得OVAL解析器和OVAL定義。對於自定義aduit策略,您可以編寫自己的解析器並審核映像。