
kube-scan: Octarine k8s cluster risk assessment tool
立即试用我们免费的Kubernetes风险评估工具。
可随时在任何集群上运行。数据不会离开您的集群。我们不会收集任何信息。
更多关于Octarine的信息,请访问 https://www.octarinesec.com.
Kube-Scan 为每个工作负载提供0(无风险)到10(高风险)的风险评分。该风险基于每个工作负载的运行时配置(目前有20+项设置)。具体的规则和评分公式属于开源框架 KCCSS,即 Kubernetes 通用配置评分系统。
KCCSS 类似于通用漏洞评分系统(CVSS),这是行业标准的漏洞评级体系,但它专注于配置和安全设置本身。漏洞总是有害的,而配置设置可能是不安全的、中性的,或者对保护或修复至关重要。KCCSS 将风险和修复措施作为单独的规则进行评分,允许用户计算工作负载每个运行时设置的风险,然后计算工作负载的总风险。
请注意,kube-scan 目前会在启动时扫描集群,并每24小时重新扫描一次。因此,如果您希望获取最新的风险评分(例如安装新应用后),应重启 kube-scan Pod。
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
kubectl port-forward --namespace kube-scan svc/kube-scan-ui 8080:80
然后在浏览器中打开 http://localhost:8080。
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml
然后通过以下命令获取负载均衡器地址
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..ip}
或
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..hostname}
取决于负载均衡器的类型。
然后在浏览器中打开该地址。
如果您通过负载均衡服务将 kube-scan 应用到集群:
"HOST" 指服务的外部 IP。
如果您使用端口转发:
"HOST" 指 "localhost:8080"
获取集群中的所有风险:
GET http://HOST/api/risks
请求 kube-scan 服务重新计算风险(如果资源已更改):
POST http://HOST/api/refresh
这可能需要较长时间——取决于集群大小,因此您可以获取刷新操作的状态:
GET http://HOST/api/refreshing_status
构建服务器镜像(从根目录)
cd server
docker build -t SERVER_TAG_NAME .
docker push SERVER_TAG_NAME
构建客户端镜像(从根目录)
cd client
docker build -t CLIENT_TAG_NAME .
docker push CLIENT_TAG_NAME
在所需的 yaml 中设置 kube-scan 容器镜像(从根目录) kube-scan 容器使用 SERVER_TAG_NAME kube-scan-ui 容器使用 CLIENT_TAG_NAME
应用所需的 yaml,并使用“快速开始”或“使用负载均衡器”的说明
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
如果使用负载均衡器:
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml

