KubeClarity 的雲端安全工具:架構深入探討

我們關於此正在運行的KubeClarity 系列的 EKS 上的 KubeClarity 的文章中,我們在 EKS 上安裝了 KubeClarity 並檢查了它的工作原理。希望它  是富有洞察力的,並且您帶著一點好奇心回來了解有關功能集及其架構的更多資訊。本次深入探討將從架構角度探討 KubeClarity,並更深入探討其實作細節。

KubeClarity 的雲端安全解決方案:架構原則

KubeClarity 的雲端安全解決方案從一些基本 俄羅斯電話號碼數據 原則開始,以確保您可以使用其全部功能。以下是指導 KubeClarity 完整架構的原則:

電話號碼數據

  • 即插即用架構和基礎設施
  • 可重載的內容分析器和掃描儀
  • 模組化功能
  • 並行化影像掃描工作負載。
  • 能夠合併和統一並行運行的結果。
  • 集中式伺服器可提高資源效率
  • 可設定的命名空間和掃描目標
  • 使用者友善的介面和自動化就緒的 CLI
  • 常用API

架構概述

讓我們對 KubeClarity 的功能進行鳥瞰。架構概述如下圖 2 所示。

圖 2:KubeClarity 架構框圖

REST API 和基於微服務的架構

API 優先架構將功能分散在 提高 seo 排名的視覺內容策略 多個元件中,並透過 API 呼叫每個功能元件。透過 CLI 或 UI 提供的任何功能也可以透過 API 取得。如果您想了解更多信息,請在此處找到完整的 API 規範。

模組化設計

KubeClarity功能組件基於微服務架構模型進行黏合。您可以將此獨立的“Go”模組作為庫拉入您現有的應用程式中,並且可以根據您的喜好進行操作。這 資料庫資料庫 個獨立的 Go 模組可以根據您的喜好作為部分或整體引入到您現有的應用程式中。每個模組定義其控制器來處理和處理 API 請求。讓我們深入研究這些模組,了解它們如何適應架構方案,作為其整體雲端安全工具的一部分。

使用者介面/儀表板

前端 React 應用程式在儀表板上公開了以下控制項。它使用後端 API 來呈現此數據:

  • 按嚴重程度可修復的漏洞
  • 前 5 個易受攻擊的元素(應用程式、資源、套件)
  • 新漏洞趨勢
  • 每個許可證類型的軟體包數量
  • 每種程式語言的套件數量
  • 普通櫃檯

命令列介面

KubeClarity 透過一個名為的獨立實用工具提供 CLI 功能kubeclarity-cli。該工具獨立於 KubeClarity 後端安裝過程運行,需要單獨安裝才能利用其功能。此外,kubeclarity-cli 工具透過在 CI/CD 管道內的不同階段啟動掃描來提供靈活性。這將有助於多個階段的結果合併,並允許將結果上傳到 KubeClarity 後端。圖 3 說明了該工具支援的各個 CI 階段。

  • 建立應用程式
  • 打造形象
  • 推播圖片

請查看KubeClarity 自述文件,以了解有關如何執行 CLI 工具進行掃描並將結果匯出到後端的更多資訊。下圖 3 顯示了 CLI 的操作模型。

          圖 3:各 CI/CD 階段的靈活 KubeClarity CLI 掃描

後端模組是主要模組。它執行 KubeClarity 的所有主要功能編排,並公開 REST API 來觸發功能。這些 API 呼叫由專用控制器處理。後端控制器的完整列表和實作細節可以在這裡查看。下面的圖 4 擷取了控制器清單作為快速參考。

 

圖 4:KubeClarity 後端 API 控制器

運行時掃描協調器

此模組負責維護掃描狀態以及啟動和停止掃描。它還具有報告介面來報告掃描結果,包括掃描失敗報告的錯誤。掃描協調器根據傳入請求產生掃描作業。這些掃描作業執行內容分析(SBOM 軟體物料清單分析)和漏洞掃描。

掃描請求可以特定於應用程式、圖像或套件,並透過 UI、CLI 或 API 觸發。或者,掃描請求可能與 Kubernetes 命名空間或整個叢集相關。根據掃描請求,協調器啟動作業並透過適當的輸入啟動它們。 Go 通道用於執行作業。 Orchestrator 最後聚合這些非同步作業的結果。

架構圖<上面>顯示了右側應用程式 Pod 的影像掃描範例。掃描協調器根據應用程式 Pod 中的影像數量啟動每個影像的掃描作業。為了執行掃描作業,每個掃描作業都需要存取 SBOM DB 以產生和儲存 SBOM,並需要存取集中式掃描伺服器來尋找已知漏洞。我們將在下面介紹更多細節。

掃描器作業(內容分析和漏洞掃描)

這些掃描器作業運行內容分析和漏洞掃描任務。分析器和掃描器的大部分邏輯是在共用模組中實現的。此模組還包括各種實用程式來進行 SBOM 輸出格式轉換,合併多個掃描器和分析儀的輸出。

為了完成漏洞掃描作業,掃描器作業會載入並處理特定於掃描器的設定參數。如果您想查看有關掃描器類型的更多詳細信息,可以在此處找到實現詳細信息,如下圖 5 所示:

圖 5:KubeClarity 漏洞掃描程式類型

SBOM資料庫

SBOMDB 是一個 Go 模組,擁有自己的控制器、後端和資料庫元件,它使用 SQLite 資料庫和gorm作為其 ORM 層。它支援使用資源雜湊儲存和檢索 SBOM 的 API。 API 路由由該模組中定義的控制器實例處理。 SBOM DB 的設計更像是一個緩存,為了避免重新計算 SBOM 的開銷,它以原始字串格式儲存 SBOM 文檔,並避免持久儲存開銷。我們將在下一篇部落格中介紹有關 SBOM 結構、整合和快取的更多詳細資訊。下圖6顯示了SBOM物件的基本定義,您可以在此處查看更多詳細資訊。

 

返回頂端