如何使用Polaris驗證你的Kubernetes集群是否遵循了最佳安全實踐
關(guān)于Polaris
Polaris是一款針對Kubernetes的開源安全策略引擎,可以幫助廣大研究人員通過驗證和修復(fù)Kubernetes的資源配置,來審查Kubernetes集群是否遵循了最佳安全實踐。
當(dāng)前版本的Polaris包含了30多種內(nèi)置的配置策略,并且能夠使用JSON Schema構(gòu)建自定義策略。如果你通過命令行或Webhook運行Polaris的話,Polaris則可以根據(jù)策略標(biāo)準(zhǔn)自動修復(fù)問題。
工具特性
Polaris支持下列三種運行模式:
1、儀表盤模式:根據(jù)“策略即代碼”來驗證Kubernetes資源安全態(tài)勢;
2、準(zhǔn)入控制器模式:自動拒絕或修改不符合組織策略的工作負(fù)載;
3、命令行工具:將策略作為代碼納入CI/CD流程,以測試本地YAML文件;

Polaris儀表盤
Polaris儀表盤可以使用kubectl或Helm安裝在集群上。它也可以在本地運行,并使用存儲在KUBECONFIG中的憑據(jù)連接到集群。
需要注意的是,儀表盤是了解集群或“代碼基礎(chǔ)結(jié)構(gòu)”中哪些工作負(fù)載不符合最佳實踐的好方法。
工具安裝
Helm安裝
helm repo add fairwinds-stable https://charts.fairwinds.com/stable
helm upgrade --install polaris fairwinds-stable/polaris --namespace polaris --create-namespace
kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80本地代碼安裝
首先,你需要一個有效的KUBECONFIG來設(shè)置儀表盤并連接到你的集群。
廣大研究人員可以直接訪問該項目的【Releases頁面】來下載最新的代碼發(fā)布版本,或使用【Homebrew】安裝:
brew tap reactiveops/tap
brew install reactiveops/tap/polaris
polaris dashboard --port 8080我們還可以將儀表盤指向本地文件系統(tǒng):
polaris dashboard --port 8080 --audit-path=./deploy/本地Docker容器安裝
docker run -d -p8080:8080 -v ~/.kube/config:/opt/app/config:ro  quay.io/fairwinds/polaris:1.2 polaris dashboard --kubeconfig /opt/app/config工具使用
Polaris儀表板可以簡單直觀地了解Kubernetes工作負(fù)載的當(dāng)前狀態(tài),以及可以改進的路線圖。儀表板提供了集群范圍的概述,以及按類別、命名空間和工作負(fù)載劃分結(jié)果:

Polaris的默認(rèn)標(biāo)準(zhǔn)是非常高的,所以如果你的分?jǐn)?shù)低于你的預(yù)期,請不要感到驚訝。Polaris的一個關(guān)鍵目標(biāo)是設(shè)定一個高標(biāo)準(zhǔn),并在默認(rèn)情況下實現(xiàn)出色的配置。如果我們包含的默認(rèn)值過于嚴(yán)格,那么很容易將配置作為部署配置的一部分進行調(diào)整,以更好地適應(yīng)你的工作負(fù)載。
許可證協(xié)議
本項目的開發(fā)與發(fā)布遵循Apache-2.0開源許可證協(xié)議。
項目地址
Polaris:【GitHub傳送門】
參考資料
https://polaris.docs.fairwinds.com/
https://github.com/FairwindsOps/Goldilocks
https://github.com/FairwindsOps/Pluto
https://github.com/FairwindsOps/Nova
https://github.com/FairwindsOps/rbac-manager
本文作者:Alpha_h4ck, 轉(zhuǎn)載請注明來自FreeBuf.COM















 
 
 










 
 
 
 