大家好!读者朋友们,今天我们要学习的是Kubescape,当我们谈论Kubernetes的安全目的时,它是一个重要的工具。当然,它也是一个开源的技术。
什么是Kubescape?
如果你访问他们的网站,那么你可以发现,Kubescape被定义为一个K8s开源工具,提供一个多云K8s单窗格,包括风险分析、安全合规、RBAC可视化和图像漏洞扫描。
它用于扫描部署文件和舵手图,以及用于根据各种框架(如NSA-CISA)检测错误配置。你可以通过CLI使用它,也可以登录网站,检查门户版本。
如果你正在使用Kubernetes,那么你需要有一定的安全性,你需要确保你的集群是安全的,集群内的工作负载是安全的。
当涉及到一般的安全问题时,有三个原则很重要。
首先,我们需要确保访问控制是安全的,也就是说,我们应该确保那些真正需要访问的进程,应该只能访问它们。
其次是组件或图像,我们需要确保不存在任何漏洞。
第三是定义,我们需要确保我们如何定义我们的应用程序的组件和其他一切都做得很好,不构成任何安全风险。
所以这就是我们在考虑Kubernetes的安全问题时需要关注的主要三个方面。除了这些,我们确实还有其他的关注点,比如没有误报
我们希望将误报的数量降到最低,如果我们收到几十条通知,那么你可能会忽略重要的通知。我们希望有一个系统,专注于那些只对重要背景有影响的重要事情。而且这个系统应该有助于修复问题。我们希望有一个工具能够在检测问题的同时帮助解决这些问题。
所以在这篇博客中,我们将探讨Kubescape,首先让我们了解如何安装它。
Kubescape的安装
要安装,你可以简单地运行这个命令
curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | /bin/bash

开始扫描集群
安装完Kubescape后,你可以运行
Kubescape scan --submit --enable-host-scan
这个命令将扫描你现有的集群,在我的例子中,我对我的minikube集群进行了扫描

在这里,你可以看到它已经扫描了我的集群,并给出了细节,比如失败的控件数量和严重程度以及其他细节。
现在,如果你滚动到最后,你会看到门户网站的URL,当你打开它时,如果你有你现有的ID和密码,你可以直接登录,否则你可以注册,做完后,你会看到你扫描的结果。最后,你还会看到各种框架的风险百分比。

另外,通过在命令中加入一个verbose标志,你可以得到所有扫描的详细情况。
通过Kubescape中的特定框架进行扫描
用以下方法来扫描集群nsa框架,并将结果提交给Kubescape SaaS版本。
kubescape scan framework nsa --submit
同样地,你可以为MITRE ATT&CK®
kubescape scan framework mitre --submit
Kubescape的其他功能
有了这个,你也可以扫描特定的命名空间和部署文件,不包括命名空间。假设你想在部署前扫描一个特定的部署文件,或者如果你想扫描Github仓库的文件,那么你也可以这样做。
扫描特定的命名空间
kubescape scan --include-namespaces development , testing
如果你想扫描集群并排除一些命名空间
kubescape scan --exclude-namespaces kube-system,kube-public
在部署前扫描本地yaml/json 文件
kubescape scan *.yaml
扫描公共github仓库中的kubernetes清单文件
kubescape扫描[存储库网址]
现在,假设你想以json 格式或XML格式输出,那么你可以运行这些命令
kubescape scan --format json --format-version v2 --output results.json
kubescape scan --format junit --output results.xml


它还可以选择以pdf或Prometheus metrics格式获得输出。

同样地,这个工具还提供了许多其他的功能。它还可以与各种CI/CD工具以及Visual studio集成。
总结
通过这篇文章,你对如何开始使用Kubescape有了一个基本概念。