8 Kubernetes扫描器用于发现安全漏洞和配置错误

您正在使用Kubernetes。太棒了!那它的安全性如何呢?

我们都知道,Kubernetes已经成为当今最好的容器编排平台之一。今天超过80%的组织以某种方式利用Kubernetes。它简单地自动化了容器的配置和管理。

但除了简单性之外,安全性也是任何容器化应用程序最重要的部分之一。您必须知道如何为运行在Kubernetes集群上的应用程序提供强大的安全性。安全问题在过去几年里呈指数级增长,因此这个领域是每个组织的重点关注。

如果您了解basics of Kubernetes,那么您就会知道,默认情况下,Kubernetes为集群中的每个端口分配一个IP地址,并提供基于IP的安全性。但Kubernetes只提供基本的安全措施。不幸的是,当您谈论管理员的高级安全监控和合规执行时,Kubernetes并没有提供该安全级别。但幸运的是,许多第三方开源Kubernetes扫描工具可以帮助您保护Kubernetes集群。

以下是使用Kubernetes扫描工具的一些好处:

  • 识别集群、容器、Pod中的配置错误和漏洞
  • 提供纠正配置错误和消除漏洞的解决方案
  • 实时查看集群健康状况
  • 增加DevOps团队开发和deploy the applications on a Kubernetes集群的信心
  • 帮助在早期阶段识别问题,避免集群故障

让我们探索以下工具,帮助您找到安全漏洞和配置错误,为您的containerized applications提供安全保障。

Kube Hunter

Kube Hunter是Aqua Security针对您的Kubernetes集群开发的漏洞扫描工具。这个工具在增加Kubernetes集群的安全意识方面非常有用。该工具提供多种标准的扫描选项,如远程扫描、交互式扫描、网络扫描,以识别漏洞。

它有一系列主动和被动测试,可以识别出Kubernetes集群中存在的大部分漏洞。

您可以通过以下几种不同的方式运行此工具:

  • 您可以下载二进制压缩文件,解压缩后,或使用pip在具有与Kubernetes集群网络访问权限的计算机上直接安装Kube Hunter。安装完成后,您可以开始扫描您的集群以查找漏洞。
  • 使用Kube Hunter的第二种方法是作为Docker容器。您可以直接在集群中的一台计算机上安装Kube Hunter,然后探测本地网络以扫描集群。
  • 第三种方式是将Kube Hunter作为一个Pod在您的Kubernetes集群中运行。这有助于发现任何应用程序Pod中的漏洞。

Kube Bench

Kube Bench是一个开源的优质安全工具,检查您的部署是否符合CIS(网络安全中心)的安全基准。

它支持多个版本的Kubernetes基准测试。除此之外,它还指出错误并帮助修复它们。它提供了修复错误的解决方案。此工具还检查确保用户授权和身份验证正确,数据安全加密。它确保部署允许CIS原则。

Kube Bench的特点:

  • 使用Go应用程序编写
  • 测试Kubernetes主节点和节点
  • 可用作容器
  • 测试在YAML中定义,更易于扩展和更新
  • 支持JSON格式输出

Checkov

Checkov 是一种安全工具,用于在构建时防止 Kubernetes、Terraform、Cloudformation、无服务器框架和其他基础设施即代码语言的云配置错误。它使用 Python 编写,旨在提高安全采用和遵守最佳实践。

您可以使用 Checkov 运行扫描来分析 infrastructure as code

Checkov 功能:

  • 开源且易于使用
  • 超过 500 个内置的安全策略
  • 符合 AWS、Azure 和 Google Cloud 的最佳实践
  • 支持多种输出格式 – CLI、JUnit XML、JSON
  • 将扫描集成到您的 CI/CD 流水线中
  • 对包含您的 Terraform 和 Cloudformation 文件的输入文件夹运行扫描

MKIT

MKIT 代表 Managed Kubernetes Inspection Tool。该工具可帮助您快速识别 Kubernetes 集群及其资源的关键安全风险。它具有快速且简单的方式来评估集群和工作负载中的错误配置。

该工具默认在 http://localhost:8000 上运行的界面。它会向您显示失败的检查和通过的检查。在受影响资源部分,您将获取受影响和未受影响资源的详细信息。

MKIT 功能:

  • 使用所有开源库和工具构建
  • 易于安装和使用
  • 支持多个 Kubernetes 提供商 – AKS、EKS 和 GKE
  • 将敏感数据存储在容器内部
  • 提供 Web 界面

Kubei

Kubei 用于评估 Kubernetes 集群中的即时风险。Kubei 的大部分部分都是使用 Go 编程语言编写的。它涵盖了所有 CIS Docker 基准。

它会扫描 Kubernetes 集群、应用程序 Pod、系统 Pod 等使用的所有镜像。您可以根据感兴趣的漏洞级别、扫描速度、扫描范围等进行多个自定义扫描选项。通过它提供的 GUI,您可以查看集群中发现的所有漏洞以及如何缓解这些漏洞。

Kubei 功能:

  • 开源的 Kubernetes 运行时漏洞扫描工具
  • 扫描托管在您的注册表中的公共镜像
  • 提供集群健康的实时状态
  • 用于可视化扫描的 Web 用户界面
  • 提供多个自定义扫描选项

Kube Scan

Kube Scan 是一个作为容器本身的容器扫描器。您在新的集群中安装它后,它会扫描当前在集群中运行的工作负载,并在友好的 Web UI 中显示风险评分和风险详情。风险评分从 0 到 10,0 表示没有风险,10 表示高风险。

Kube scan 使用的公式和评分规则基于 KCCSS(Kubernetes Common Configuration Scoring System),这是一个开源框架。它类似于 CVSS(常见漏洞评分系统)。它使用超过 30 个安全设置,如 Kubernetes 策略、功能、权限级别,并创建一个风险基线以提供风险评分。风险评分还基于易于利用性或攻击的高影响和范围。

Kube Scan 功能:

  • 开源的风险评估评分工具
  • 具有风险评估和风险评分详情的 Web UI
  • 作为容器在集群中运行。
  • 每 24 小时重新扫描集群

Kubeaudit

Kubeaudit,顾名思义,是一个开源的 Kubernetes 集群审计工具。它可以查找 Kubernetes 资源中的安全错误配置,并告诉您如何解决这些问题。它使用 Go 语言编写,可以将其用作 Go 包或命令行工具。您可以使用一个命令在您的机器上使用 brew 安装它。

它建议采取各种做法,例如将应用程序作为非root用户运行,为根文件系统提供只读访问权限,避免在集群中为应用程序提供更多的权限以防止常见的安全问题。它有一个广泛的审计员列表,用于测试Kubernetes集群的安全问题,例如pod的SecurityContext。

Kubeaudit功能:

  • 开源的Kubernetes审计工具
  • 提供三种不同的模式-清单、本地、集群,用于审计集群
  • 以三个严重级别(错误、警告、信息)提供审计结果
  • 使用多个内置的审计员来审计容器、pod、命名空间

Kubesec

Kubesec是一个用于Kubernetes资源的开源安全风险分析工具。它验证用于Kubernetes集群部署和操作的配置和清单文件。您可以使用其容器映像、二进制软件包、Kubernetes的准入控制器或kubectl插件在系统上安装它。

Kubesec功能:

  • 一个开源的风险分析工具
  • 它带有一个默认情况下在后台运行的捆绑HTTP服务器,端口为8080。
  • 通过HTTPS在v2.kubesec.io/scan上运行Kubesec-as-a-Service
  • 它可以扫描单个输入文件中的多个YAML文档。

结论

这些工具旨在保持Kubernetes集群及其资源的安全,并使黑客难以侵入集群内运行的应用程序。这些扫描工具将帮助您更加自信地部署应用程序到集群上。所以,请继续尝试这些工具和identify the vulnerabilities,在黑客之前使用它们。

类似文章