关于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