Kubernetes 安全基于云原生安全 4C(云、集群、容器、代码)。底层物理基础设施是云中 Kubernetes 安全的基础。因此,当有人在数据中心部署或构建集群时,他们必须遵守所有 Kubernetes 安全最佳实践。
这里的“集群”是一个可以转换的组件,例如属于集群一部分的 API 和其他应用程序。当然,这意味着必须根据良好的安全实践来建立这些服务。
容器应该使用最佳设计实践来构建,例如独立于多包、删除额外的库和函数以保持最小的代码库。
应用程序代码是 Kubernetes 环境中攻击的重要目标。因此,您需要实施强大的 TCP 策略,通过不暴露未使用的端口和执行评估来确保环境安全。
由于 Kubernetes 运行微服务,因此可能存在各种漏洞。例如包括引入不正确的镜像和配置错误。与所有应用程序一样,这些漏洞可能对用户构成威胁。此外,由于容器配置中的各种漏洞,有可能某种攻击可能会暴露 API 等,并允许对容器进行 root 访问。
用于评估 Kubernetes 安全性的工具
如今,有许多工具可用于审计和监控 Kubernetes 安装。这些工具有助于编码和配置规则的可视化。让我们来看看一些用于监控和评估 Kubernetes 的工具。
Kubescape
除了安全评估之外,ARMO 的 Kubescape 还进行合规性评估。检查正在运行的集群的 YAML 文件,以便在配置错误漏洞变得致命之前及早在 CI/CD 管道中检测到。它不仅与 MITRE NSA-CISA 等各种知名框架兼容,而且还提供了开发自定义合规模板的能力,这些模板满足合规标准的所有特定要求。 通过提供与各种工具(如 circle、Gitlab 和 Github 工作流)一起工作的选项,它可以与 CI/CD 管道无缝集成。确保满足所有要求。它具有很高的可见性,包括风险评分、过去的扫描和 RBAC 设置,确保在经过一次彻底测试的系统中不存在任何漏洞。
Kube-bench
Kubernetes 在集群环境中运行,kube-bench 评估部署的集群以确保遵守所有最佳安全实践并且没有漏洞。该工具可以使用多种方法进行评估。当以其中一种方式使用时,它可以在 pod 内工作。 首先,管理员必须为主机提供 PID 命名空间。然后,该工具确定需要评估哪些 pod,连接到 pod,然后开始分析。如果遵守所有 CIS 标准,此工具将向您显示哪些部分未遵循以及哪些部分是成功的。它还根据已确定的问题报告建议。另一种方法要求用户在 Amazon Web Services 环境中运行 Kubernetes 集群/EKS。
image.png
Terrascan
4C,云原生原则,包含了代码安全的思想。Terrascan是一种基础架构即代码静态代码分析器,是一种用于扫描基础架构即代码以查找安全漏洞的工具。您可以无缝地将基础设施扫描为代码。此外,它还会跟踪对已配置云基础架构的所有更改,这些更改可能会给您的系统带来安全漏洞。我们还考虑合规性,可用于识别所有可能的安全漏洞和不合规行为。 他们可以轻松地使用 CI/CD(持续集成/持续交付)来降低风险,然后再配置到云基础架构。还可以提供许多安全策略来帮助检查 YAML 文件中的漏洞。它还支持多种不同的平台,例如 AWS、GCP 和 Azure。
image.png
Kube-hunter
顾名思义,它在“在 Kubernetes 设置中搜寻(hunting)漏洞”中发挥作用。kube-hunter是一个开源安全工具,旨在与 Kubernetes 集群及其节点一起工作。它可用于评估 Kubernetes 集群中的漏洞并在发现漏洞后提供建议,其优点是使组织更容易修补已识别的问题。 作为容器、Pod 或集群中的任何机器运行都提供了与攻击者相同的视角。如您所见,很容易在您的组织中发现结构和运营缺陷。此外,它的舒适度在活动和非活动位置都经过测试。
image.png
Anchore
Anchore 利用容器镜像并根据为 Kubernetes 集群中使用的特定软件版本发布的 CVE 生成输出。为了利用容器镜像,我们还解析容器镜像并使用自定义策略对其进行检查。它提供白名单和黑名单功能,可以轻松创建设置、密码和文件内容本身的指南。 执行漏洞评估需要容器映像。如果提供了图像,则可以通过风险评估查看所有检测到的漏洞。它的优点是可以独立运行,也可以在与Kubernetes、CI/CD、Jenkins联动的系统中运行。命令行界面 (CLI) 允许管理员获取漏洞列表和相关信息。
概括 最近的一个趋势是,许多组织使用 Kubernetes 集群来实现微服务。因此,保护是必不可少的。到目前为止,我们已经讨论了可以帮助您的组织维护或提供 Kubernetes 集群安全性的各种工具。但是,每种工具都有其规格,因此,它完全取决于您组织的要求。而且,安全性不能一下子提高,所以是一个连续的过程。