Kubernetes安全扫描之kubescape¶
一 背景¶
Kubescape 是第一个用于测试 Kubernetes 是否按照 NSA 和 CISA 的 Kubernetes 强化指南中定义的安全部署的工具 使用 Kubescape 测试集群或扫描单个 YAML 文件并将其集成到您的流程中。
二 特性¶
-
功能:提供多云 K8s 集群检测,包括风险分析、安全性兼容、 RBAC 可视化工具和图像漏洞扫描。
-
集群扫描:Kubescape 扫描 K8s 集群、 YAML 文件和 HELM 图表,根据多个框架(如 NSA-CISA、 MITRE att & ck)、软件漏洞和在 CI/CD 管道早期阶段的 RBAC (基于角色的访问控制)违规检测错误配置,即时计算风险评分并显示随时间推移的风险趋势。
-
工具集成:与其他 DevOps 工具集成,包括 Jenkins、 CircleCI、 Github 工作流、 Prometheus 和 Slack,并支持多云 k8部署,如 EKS、 GKE 和 AKS。
由于其简单易用的 CLI 界面、灵活的输出格式和自动扫描能力,它成为开发人员中增长最快的 Kubernetes 工具之一,节省了用户和管理员宝贵的时间、精力和资源
三 安装¶
3.1 Mac 安装¶
3.2 Linux安装¶
四 集群检测¶
4.1 执行扫描¶
扫描可分为本地集群扫描和提交结果到saas平台。
chmod +x /root/.kubescape/kubescape
/root/.kubescape/kubescape scan framework nsa --exclude-namespaces kube-system,kube-public
4.2 输出结果¶
五 SaaS平台¶
saas平台地址:https://portal.armo.cloud/,主要有三大功能,
- 集群检测
- 镜像扫描
- RBAC可视化
5.1 集群检测¶
与单独在集群检测输出不同,saas平台会将集群检测及上传到平台进行可视化展示
- 提交检测结果到平台
- 查看结果
同时可根据提示跳转到详细安全信息内容
5.2 镜像扫描¶
helm repo add armo https://armosec.github.io/armo-helm/
helm upgrade --install armo armo/armo-cluster-components -n armo-system --create-namespace --set accountGuid=${ID} --set clusterName=`kubectl config current-context`
- 查看结果
可以看到集群整个镜像扫描的信息。
同时针对单个镜像也可以看到详细扫描信息。
可以针对单个镜像可以看是否有FIX AVAILABLE,以及FIX IN VERSION
5.3 RBAC可视化¶
目前RBAC功能还处于beat阶段。
六 其他¶
kubescape可以很方便的在Node节点对集群进行包风险分析、安全性兼容、 RBAC 可视化工具和图像漏洞扫描,同时可以利用SaaS非常方便的进行可视化,同时可以非常方便的与其他系统进行集成。