如何使用Polaris驗證你的Kubernetes集群是否遵循了最佳安全實踐
關于Polaris
Polaris是一款針對Kubernetes的開源安全策略引擎,可以幫助廣大研究人員通過驗證和修復Kubernetes的資源配置,來審查Kubernetes集群是否遵循了最佳安全實踐。
當前版本的Polaris包含了30多種內置的配置策略,并且能夠使用JSON Schema構建自定義策略。如果你通過命令行或Webhook運行Polaris的話,Polaris則可以根據策略標準自動修復問題。
工具特性
Polaris支持下列三種運行模式:
1、儀表盤模式:根據“策略即代碼”來驗證Kubernetes資源安全態勢;
2、準入控制器模式:自動拒絕或修改不符合組織策略的工作負載;
3、命令行工具:將策略作為代碼納入CI/CD流程,以測試本地YAML文件;
Polaris儀表盤
Polaris儀表盤可以使用kubectl或Helm安裝在集群上。它也可以在本地運行,并使用存儲在KUBECONFIG中的憑據連接到集群。
需要注意的是,儀表盤是了解集群或“代碼基礎結構”中哪些工作負載不符合最佳實踐的好方法。
工具安裝
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來設置儀表盤并連接到你的集群。
廣大研究人員可以直接訪問該項目的【Releases頁面】來下載最新的代碼發布版本,或使用【Homebrew】安裝:
brew tap reactiveops/tap
brew install reactiveops/tap/polaris
polaris dashboard --port 8080
我們還可以將儀表盤指向本地文件系統:
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工作負載的當前狀態,以及可以改進的路線圖。儀表板提供了集群范圍的概述,以及按類別、命名空間和工作負載劃分結果:
Polaris的默認標準是非常高的,所以如果你的分數低于你的預期,請不要感到驚訝。Polaris的一個關鍵目標是設定一個高標準,并在默認情況下實現出色的配置。如果我們包含的默認值過于嚴格,那么很容易將配置作為部署配置的一部分進行調整,以更好地適應你的工作負載。
許可證協議
本項目的開發與發布遵循Apache-2.0開源許可證協議。
項目地址
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, 轉載請注明來自FreeBuf.COM