適用于 Kubernetes 的九大開源 DevSecOps 工具
在構建和部署云原生應用程序的過程中,開發人員和安全團隊的目標經常會相互矛盾。一是加快應用交付的力量,而后者有時被視為創新引擎的障礙。實際上,安全性和缺乏安全性都有可能減緩創新。
研究表明,如果不解決安全問題,會導致應用程序部署延遲。DevSecOps 作為一門學科,通過在開發和運營團隊之間插入安全性來拒絕信息安全和開發團隊之間的二分法。DevSecOps 將安全視為各個團隊之間的共同責任,并且基于將安全工具和流程嵌入到現有的開發人員和運營(或 DevOps)工作流中,并盡可能實現自動化。
以下是開源 DevSecOps 工具的非全面列表,可幫助您開始在 Kubernetes 中構建、部署和運行更安全的容器化應用程序。
1、Anchore
Anchore是一個開源圖像掃描器和漏洞管理工具,可檢測 Docker 圖像中的已知漏洞。Anchore Toolbox是一組獨立的開源工具,包括Syft和Grype。Syft 可以通過查看您的鏡像和文件系統來生成軟件材料清單,而 Grype 可以掃描鏡像中的漏洞。當與 Anchore Engine 結合并集成到您的 CI/CD 工具中時,用戶可以在其現有工作流程中自動執行安全策略評估和實施。借助Kubernetes 準入控制器,Anchore 可以在您的構建和運行階段掃描容器鏡像。
Anchore的用例
- 鏡像漏洞掃描
- 強制執行
- 容器鏡像的軟件材料清單
2、Checkov
Checkov是一種開源靜態代碼分析工具,可幫助實施 AWS、Azure 和 Google Cloud 的安全性和合規性策略。Checkov 有助于在 Terraform、Cloudformation、Kubernetes 和其他基礎設施即代碼系統的構建期間防止云配置錯誤。由于用戶驅動的錯誤配置是主要的安全問題,Checkov 可以成為幫助降低工作負載風險的重要工具。
Checkov 的用例
- 基礎設施即代碼掃描
- 云配置管理
- Compliance
3、Clair
Clair是一個用于 Docker 容器的開源容器鏡像漏洞掃描器和靜態分析工具。Clair 用于開源項目Quay,一個獨立的容器注冊表。如果您希望避免商業選項的成本,Clair 是一個很好的起點,特別是因為 Clair 是許多商業容器掃描解決方案的開源構建塊。
Clair的用例
- 鏡像漏洞掃描
4、Falco
Falco是一個孵化中的 CNCF 開源項目,它通過消耗內核事件并將它們與來自 Kubernetes 的數據相結合來在 Linux 系統調用期間通知用戶違反策略,從而提供運行時可見性和自省。Falco 是一個受歡迎的項目,在認證 Kubernetes 安全專家考試 (CKS)中用于評估應試者檢查運行時事件的能力。
Falco 的用例
- 運行時容器分析
- 威脅檢測
5、Kube-bench
Kube-bench是一個開源安全工具,它運行檢查以確保 Kubernetes 的部署符合CIS Kubernetes Benchmark。Kube-bench 最適合用于本地環境中的合規性,因為托管 Kubernetes 集群保護控制平面組件以保證正常運行時間、高可用性和 SLA。Kube-bench 也出現在CKS 考試中。
kube-bench 的用例
- 配置管理
- 合規
6、Kube-hunter
kube-bench 掃描 Kubernetes 的部署方式,而 kube-hunter 查看部署在 Kubernetes 中的集群以檢測可利用的錯誤配置,例如暴露的 Kubernetes Dashboard。有一堆主動和被動測試將顯示您的錯誤配置所在。您可以從集群外部、集群機器上或作為集群中的 pod 運行 kube-hunter。每個場景都會讓您對集群的安全狀況有不同的看法。
kube-hunter 的用例
- 配置管理
- 風險和影響
7、KubeLinter
KubeLinter是 Kubernetes YAML 文件和 HELM 圖表的靜態分析工具,可幫助確保它們遵循生產準備和安全性的最佳實踐。KubeLinter 附帶了一些默認檢查,也可以配置為運行自定義檢查。KubeLinter 作為 Go 二進制文件開發,與 kubectl 具有相同的包,比其他策略工具更直接,并且專注于開發人員使用和 CI 集成。KubeLinter 利用配置文件允許團隊在其 CI 應用程序中擴展他們的策略。
KubeLinter 的用例
- 配置管理
- YAML/Helm chart linting
8、開放策略代理(Open Policy Agent)
Open Policy Agent (OPA) 是一個畢業的 CNCF 開源項目,它使用戶能夠使用 OPA 的通用策略引擎來標準化他們的策略創建和執行。除了 Kubernetes,OPA 還可以在使用 Envoy、Terraform 和 Kafka 等云原生技術時強制執行策略。OPA 策略甚至可以轉換為 SQL 以在您的數據庫中強制執行規則。
- Policy enforcement
9、Terrascan
Terrascan是一個建立在 OPA 之上的新興開源解決方案。Terrascan 擁有超過 500 多個安全最佳實踐策略,適用于各種應用程序,包括 Terraform、Kubernetes (JSON/YAML)、AWS、Azure、GCP、Kubernetes 和 GitHub。Terrascan 顯示了 OPA 引擎的價值,并通過推薦默認值而不是讓用戶使用Rego來擴展它。
Terrascan 的用例
- 配置管理
- YAML/Helm chart linting
總結
如果實施得當,DevSecOps 原則將在整個軟件開發生命周期中持續集成,將安全責任進一步向左轉移,以最大限度地減少后期安全控制的操作開銷,并使開發人員和 DevOps 最終用戶成為安全用戶,允許他們獨立地在其工作流程中實施安全控制。
隨著 Kubernetes 等云原生技術的出現,作為在云和混合環境中管理應用程序的標準,安全團隊需要充分了解這些技術以建立適當的護欄和控制。DevOps 團隊必須在他們用于在 Kubernetes 環境中配置基礎設施和構建軟件應用程序的工作流和工具鏈中集成強大的安全保護。當與正確的人員和流程相結合時,這個開源安全工具列表可以幫助您的組織實現這些目標,并以新的更好的方式實現安全自動化。