基于云原生的 KubeSecOps 流水線設(shè)計
1. 云原生安全
根據(jù) gartner 的調(diào)查報告 https://www.gartner.com/smarterwithgartner/gartner-top-9-security-and-risk-trends-for-2020 可以看到云原生安全仍然是2020年的一個大的趨勢,同時,我們也看到許多安全創(chuàng)業(yè)公司已經(jīng)留下了自己的足跡,在 KubeCon 2020 中,安全也是云計算應用的熱門話題。
下圖是 CNCF 安全全景圖:
此外 CNCF 官方也發(fā)布了基于安全的 Kubernetes 認證專家 CKS。
2. 容器安全層面
需要關(guān)注的:
容器主機的安全 容器網(wǎng)絡(luò)流量 容器應用安全性 應用程序的惡意行為 容器管理技術(shù)棧的安全 應用程序的基礎(chǔ)層 構(gòu)建流水線的完整性
幾個原因:
不安全的 Kubelet API 接口 不受保護的 Helm Tiller 服務(現(xiàn)在已經(jīng)廢棄) 敏感的云元數(shù)據(jù)不受限制 Secrets 未得到充分保護 缺乏網(wǎng)絡(luò)策略 沒有 Ingress 認證的內(nèi)部服務 未經(jīng)認證的 etcd 訪問 特權(quán)/root 容器 過大的 ServiceAccount 權(quán)限
構(gòu)建 K8s 應用時應注意的幾個問題:
認證/授權(quán):是否有認證和授權(quán)? 鏡像掃描:在構(gòu)建容器時,是否了解我們的基礎(chǔ)鏡像?是否只使用官方鏡像? 運行的容器:應用是否需要 root 容器?容器的 namespace 是否正確? TLS:是否開啟了 TLS? 安全和網(wǎng)絡(luò)策略:Pod 是否開啟了安全策略?服務端口是否會被入侵?連接的兩個 Pod 是否需要互相通信?是否啟用了 ACLs?是否開啟了審計日志功能等等? Secrets:是否使用 sidecars 的形式注入 secrets?secrets 是存儲在 vault 中還是純文本?
3. 黑帽的建議
下圖是黑帽論壇針對不同語言以及覆蓋主要安全場景的各種工具的推薦。
4. 安全流水線設(shè)計
我們看到在 CNCF 的全景圖中,現(xiàn)在有各種各樣的工具,但是,目前很少有幾個非常具有代表性的,我們也看到了 Blackhat 的建議。接下來看看我們根據(jù) KubeSecOps 生態(tài)系統(tǒng)下面設(shè)計的安全流水線。
開發(fā)階段
IDE:可以是任意的 IDE,比如 Pycharm、IntelliJ 或者為 K8S 設(shè)置的 Lens。 Open Policy Agent:它可以與 IDE 集成,并可用于在 linting 中定義策略(在編寫 YAML 資源清單時)。 Vault:用于 Secret 管理,和 git 集成保存憑證。 Harbor:鏡像倉庫。 Trivy:用于 Docker 鏡像掃描的工具,所以和 Harbor 進行集成。 TUF:更新框架,它用于鏡像簽名確保安全升級,所以還是和 Harbor 集成。
Staging 階段
Kube-Bench:非常優(yōu)秀的 CIS 基準測試工具,同時也提供了一些建議和警告信息。 Kube-Hunter:也是一種滲透工具,可以遠程搜索網(wǎng)絡(luò)、接口安全漏洞等。 Kube-Audit:它提供了掃描資源清單和集群來提供審計功能。 Illuminatio:它將掃描你的 kubernetes 集群的網(wǎng)絡(luò)策略,建立相應的測試用例,并執(zhí)行這些測試用例來確定策略是否有效。
生產(chǎn)環(huán)境
Falco:Falco 是一個非常著名的運行時安全掃描器,它基于漏洞的內(nèi)核掃描并實時通知環(huán)境中的安全攻擊。 Prometheus:Falco 可以使用 exporter 向 prometheus 提供指標,因此可以對任何安全漏洞產(chǎn)生警報。 Grafana:Grafana 用于 Prometheus 監(jiān)控指標數(shù)據(jù)的可視化,還可以向運維人員提供報警信息,然后運維人員可以將其提交給開發(fā)支持。
“原文鏈接:https://vaib16dec.medium.com/kubesecops-pipeline-container-security-in-a-cloudnative-ecosystem-e59bf19a713d
”
進階訓練營第二期
本次訓練營采用線上直播的形式,基于1.19.x版本,根據(jù)第1期課程的打磨,我們總結(jié)出了 Docker 基礎(chǔ) + Kubernetes 基礎(chǔ) + 原理 + 基本使用 + 進階技能 +?完整項目實踐?的課程體系。加強系統(tǒng)知識吸收、夯實基礎(chǔ)的同時,并在實際操作過程中去了解排查問題的方式方法,更為重要的是我們的老師非常負責任,隨時幫你答疑解惑,我們認為不只是課堂上講授知識,更重要的是售后支持,完全不用擔心學習不到知識。
?點擊屏末?|?閱讀原文?|?即刻學習






