ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何使用 Kubescape 扫描 Kubernetes 漏洞

2021-12-26 21:02:28  阅读:582  来源: 互联网

标签:文件 kubescape Kubernetes nsa 扫描 漏洞 集群 Kubescape


在这里插入图片描述
Kubescape 是来自 ARMO的新开源工具,可让您自动执行 Kubernetes 集群扫描以识别安全问题。Kubescape 根据NSA 和 CISA发布的强化建议审核您的集群。

以下是安装 Kubescape 并开始扫描集群的方法。定期扫描可以帮助您在问题被攻击者利用之前解决问题。

下载 Kubescape

Kubescape 目前作为 Windows、macOS 和 Ubuntu 的预构建二进制文件分发。您可以直接从项目的 GitHub 发布页面下载它。

还有一个自动安装脚本,您可以将其粘贴到终端中。这将为您的系统获取正确的二进制文件并将其添加到您的路径中。

curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | /bin/bash

尝试运行kubescape以检查安装是否完成。您将看到可用命令的概要。
在这里插入图片描述

扫描您的集群

Kubernetes 使用标准的Kubectl 配置文件连接到您的集群。KUBECONFIG在 shell 中设置环境变量以引用要扫描的集群的配置文件:

export KUBECONFIG=.kube/my-cluster.yaml

如果此变量未设置或指定的文件无效,Kubescape 会抱怨它“无法加载 Kubernetes 配置”。KUBECONFIG如果要扫描多个集群,则每次执行 Kubescape 时更新变量。

使用该scan命令启动扫描。您需要指明要扫描的强化框架。目前nsa是唯一支持的选项。

kubescape scan framework nsa --exclude-namespaces kube-system,kube-public

Kubescape 将扫描集群中的所有资源,除了被–exclude-namespaces标志省略的命名空间中的资源。建议您在此处列出内置的 Kubernetes 命名空间,因为您将无法解决发现的任何问题。
在这里插入图片描述
您的第一次 Kubescape 扫描可能需要一些时间,因为该工具需要下载其框架定义。这些定义了对您的集群进行评分的测试。扫描完成后,您将在终端中看到彩色输出,详细说明所有发现的问题。

扫描结果

每个失败的测试都会生成自己的输出部分,其中包含可疑资源列表、问题描述和补救提示。报告底部的表格提供了所有已执行测试的摘要、失败的资源数量以及总体成功百分比。
在这里插入图片描述
Kubescape 根据 NSA 确定的列表检查 20 多个可能的弱点。在国家安全局的报告提供的覆盖问题的说明及将其列入的理由。Kubescape 检查的一些关键问题包括:

  • 提权机会
  • 以特权模式运行的容器
  • 以危险能力运行的容器
  • 暴露的Kubernetes 仪表板
  • 运行的容器 root
  • 配置文件中包含的凭据
  • 未正确保护控制平面

运行 Kubescape 可让您根据当前的最佳实践指南检查集群的健康状况,让您更有信心不会将数据和工作负载置于风险之中。

扫描清单文件

Kubescape 可以在没有集群连接的情况下工作。您可以扫描存储为本地 YAML 文件的资源清单,让您在将它们应用到集群之前检查它们的安全性。在框架名称后添加一个额外的参数来指定要扫描的文件:

kubescape scan framework nsa k8s/*.yaml

您可以使用 URL 作为文件路径来扫描远程存储的文件,例如在 Git 存储库中。

在进行全面的安全审计时,最好使用默认的集群扫描模式。清单扫描理想地合并到 CI 管道中。以这种方式使用,您可以避免在更新资源并将它们部署到集群时无意中引入新漏洞。

离线扫描

Kubescape 专为在线使用而设计,因为它需要在完成扫描之前下载框架定义。您可以手动保存框架以方便离线扫描。您应该尝试定期更新文件,以免它过时。

下载 NSA 框架文件:

kubescape download framework nsa --output nsa.json

现在使用下载的文件扫描您的集群:

kubescape scan framework nsa --use-from nsa.json

该–use-from标志指示 Kubescape 从指定文件加载框架定义。还有–use-default哪些会在可用时尝试使用默认位置中的本地缓存文件。当没有找到文件时,Kubescape 回退到从服务器下载最新定义。

输出格式

Kubescape 默认输出到您的终端,但也可以生成 JSON 或 Junit 格式的报告。添加-f标志以指定所需的模式:

kubescape scan framework nsa -f json
kubescape scan framework nsa -f junit

后一个选项发出一个 XML 文件,该文件可由使用 Junit 格式的测试报告工具使用。这使您可以将 Kubescape 扫描提供给现有的测试报告解决方案,以进行可视化和聚合。

无论您指定的报告格式如何,输出都会发送到终端的标准输出流。添加-o标志以提供要保存到的文件路径:

kubescape scan framework nsa -f json -o report.json

Kubescape 的常规进度消息可以使用该-s标志禁用。这在您不想用 ASCII 字符污染作业日志的 CI 场景中很有用。

结论

Kubescape 可让您根据 NSA 发布的指南评估 Kubernetes 集群的安全性。这个简单的开源工具提供了一个命令,可以根据 20 多个关键检查对您的环境进行基准测试。
Kubescape 不会检查您在集群中运行的容器内的漏洞。你需要其他工具,如docker scan或Trivy做到这一点。与 Kubescape 一起运行容器扫描引擎可以让您最全面地了解环境的安全状况。

标签:文件,kubescape,Kubernetes,nsa,扫描,漏洞,集群,Kubescape
来源: https://blog.csdn.net/wlcs_6305/article/details/122160635

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有