如何使用Polaris验证你的Kubernetes集群是否遵循了最佳安全实践
2023-8-26 23:59:30 Author: www.freebuf.com(查看原文) 阅读量:15 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

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


文章来源: https://www.freebuf.com/articles/container/376276.html
如有侵权请联系:admin#unsafe.sh