33+ Kubernetes安全工具

注意事项 佩雷夫 :如果您想了解基于Kubernetes的基础结构中的安全性,这篇出色的Sysdig评论将是快速了解当今最新解决方案的一个很好的起点。 它包括来自知名市场参与者的集成系统,以及解决该问题的更为实用的工具。 与往常一样,在评论中,我们将很高兴了解您使用这些工具的经验,并查看其他项目的链接。


Kubernetes安全软件产品...有很多,每种都有自己的目标,范围和许可证。

因此,我们决定创建此列表,并在其中包括来自不同供应商的开放项目和商业平台。 我们希望它可以帮助您选择最感兴趣的内容,并根据Kubernetes的特定安全需求将其按正确的方向发送。

分类目录


为了简化列表导航,这些工具分为主要功能和应用领域。 结果以下部分:

  • Kubernetes图像扫描和静态分析;
  • 安全运行时;
  • Kubernetes网络安全;
  • 传播图像和秘密管理;
  • Kubernetes安全审核;
  • 全面的商业产品。

让我们开始做生意:

Kubernetes图像扫描


锚地


  • 网站: anchine.com
  • 许可证:免费(Apache)和商业报价



Anchore软件包分析容器映像,并允许您基于用户定义的策略进行安全检查。

除了对容器映像进行常规扫描以查找CVE数据库中的已知漏洞外,Anchore还执行许多其他检查,作为扫描策略的一部分:它检查Dockerfile,凭据泄漏,使用的编程语言包(npm,maven等),软件许可证等等。 。

克莱尔


  • 网站: coreos.com/clair (现在由Red Hat托管)
  • 许可证:免费(Apache)



Clair是最早扫描图像的开源项目之一。 它被广泛称为Quay映像注册表的安全扫描程序(也来自CoreOS- 大约翻译 。 Clair可以从多种来源收集CVE信息,包括Debian,Red Hat或Ubuntu安全团队维护的Linux特定漏洞列表。

与Anchore不同,Clair主要处理漏洞搜索并将数据映射到CVE。 但是,该产品为用户提供了一些使用插件驱动程序扩展功能的选项。

达格达





Dagda对容器映像进行静态分析,以发现已知漏洞,特洛伊木马,病毒,恶意软件和其他威胁。

与其他类似工具相比,Dagda软件包具有两个值得注意的功能:

  • 它与ClamAV完美集成,不仅可以作为扫描容器映像的工具,而且还可以作为防病毒软件。
  • 它还通过从Docker守护程序接收实时事件并与Falco集成(请参阅下文)以在容器运行时收集安全事件来提供运行时保护。

库贝克斯雷





KubeXray“监听” Kubernetes API服务器事件,并使用JFrog Xray的元数据来确保仅启动与当前策略匹配的Pod。

KubeXray不仅审核部署中的新容器或更新容器(类似于Kubernetes中的准入控制器),而且还动态检查工作容器是否符合新的安全策略,从而删除引用易受攻击映像的资源。

斯尼克


  • 网站: snyk.io
  • 许可证:免费(Apache)和商业版本



Snyk是不寻常的漏洞扫描程序,从某种意义上说,它专门针对开发过程,并被推荐为开发人员的“必不可少的解决方案”。

Snyk直接连接到代码存储库,解析项目清单并解析导入的代码以及直接和间接依赖项。 Snyk支持许多流行的编程语言,并且可以检测隐藏的许可风险。

Trivy





Trivy是一个简单但功能强大的容器漏洞扫描程序,可以轻松集成到CI / CD管道中。 它的显着特点是易于安装和操作:该应用程序由单个二进制文件组成,不需要安装数据库或其他库。

Trivy简单性的缺点是您必须弄清楚如何解析和以JSON格式发送结果,以便其他Kubernetes安全工具可以使用它们。

Kubernetes运行时安全性


法尔科


  • 网站: falco.org
  • 许可证:免费(Apache)



Falco是运行时工具的云安全套件。 它是CNCF项目系列的一部分

使用Sysdig工具在Linux内核级别进行工作并分析系统调用,Falco可使您深入自己的系统行为。 它的运行时规则引擎能够检测Kubernetes应用程序,容器,基本主机和管弦乐队中的可疑活动。

为此,Falco通过在Kubernetes站点上安装特殊代理,在运行时工作和威胁检测方面提供了完全透明的效果。 结果,不需要通过将第三方代码嵌入到容器中或通过悬挂小车容器来修改容器。

用于运行时的Linux安全框架




这些本机Linux内核框架通常不是“ Kubernetes安全工具”,但是值得一提,因为它们是运行时安全上下文中的重要元素,Kubernetes Pod安全策略(PSP)中包含这些框架。

AppArmor将安全配置文件连接到容器中运行的进程,定义文件系统特权,网络访问规则,连接库等。 这是基于强制访问控制(MAC)的系统。 换句话说,它阻止了禁止动作的执行。

增强安全性的Linux( SELinux )是Linux内核中的高级安全模块,在某些方面类似于AppArmor,并且经常与之进行比较。 SELinux在功能,灵活性和精巧设置方面优于AppArmor。 它的缺点是开发时间长和复杂性增加。

Seccomp和seccomp-bpf允许您筛选系统调用,阻止执行对底层OS潜在危险,而用户应用程序正常运行不需要的那些调用。 Seccomp在某些方面类似于Falco,尽管它不知道容器的详细信息。

Sysdig开源





Sysdig是用于分析,诊断和调试Linux系统的完整工具(也可在Windows和macOS上运行,但功能有限)。 它可用于收集基础系统及其上运行的任何容器的详细信息,检查和刑事取证

Sysdig还本地支持容器运行时和Kubernetes元数据,为收集的有关系统行为的所有信息添加了额外的维度和标签。 有几种使用Sysdig来分析Kubernetes集群的方法:您可以通过kubectl捕获在特定的时间点捕获 ,也可以使用kubectl dig插件基于ncurses运行交互式界面。

Kubernetes网络安全


阿波莱托





Aporeto提供“与网络和基础设施分离的安全性”。 这意味着Kubernetes服务不仅会收到本地ID(即Kubernetes中的ServiceAccount),而且还会收到通用标识符/指纹,可用于安全地和相互验证与任何其他服务的交互,例如在OpenShift集群中。

Aporeto不仅可以为Kubernetes /容器生成唯一标识符,而且还可以为主机,云功能和用户生成唯一标识符。 根据这些标识符和管理员设置的网络安全规则集,将允许或阻止通信。

印花布





通常在容器协调程序的安装过程中部署Calico,这使您可以创建连接容器的虚拟网络。 除此基本网络功能外,Calico项目还与Kubernetes网络策略及其自身的网络安全配置文件一起使用,支持端点ACL(访问控制列表)和基于注释的网络安全规则,以用于入口和出口流量。

柠檬





Cilium充当容器防火墙,并提供最初适用于Kubernetes和微服务工作负载的网络安全功能。 Cilium使用一种称为BPF(伯克利包过滤器)的新Linux内核技术来过滤,监视,重定向和调整数据。

Cilium能够使用Docker或Kubernetes标签和元数据部署基于容器的网络访问策略。 Cilium还了解并过​​滤各种第7层协议,例如HTTP或gRPC,允许您定义一组REST调用,例如,在两个Kubernetes部署之间将允许这些调用。

伊斯斯蒂奥


  • 网站: istio.io
  • 许可证:免费(Apache)



通过部署独立于平台的控制平面并通过动态配置的Envoy代理重定向所有托管的服务流量,Istio被广泛称为服务网格范例的实现。 Istio利用所有微服务和容器的高级视图来实施各种网络安全策略。

Istio的网络安全功能包括透明的TLS加密,可自动将微服务之间的通信协议升级到HTTPS及其自己的RBAC系统,以进行标识和授权,以启用/禁用群集中不同工作负载之间的数据交换。

注意事项 佩雷夫 :在本文中阅读有关Istio面向安全性功能的更多信息。

Tigera





该解决方案称为Kubernetes防火墙,着重于零置信网络安全方法。

与其他Kubernetes本地网络解决方案类似,Tigera依靠元数据来识别集群中的各种服务和对象,并为多云或混合整体式基础架构提供运行时问题检测,持续的网络合规性和透明性监视。

Trireme





Trireme-Kubernetes是Kubernetes网络策略规范的简单明了的实现。 最值得注意的功能是-与类似的Kubernetes网络安全产品不同,它不需要中央控制平面来协调网格。 这使得该解决方案可轻松扩展。 在Trireme中,这是通过在直接连接到主机的TCP / IP堆栈的每个节点上安装代理来实现的。

图像传播和秘密管理


格拉菲亚斯


  • 网站: grafeas.io
  • 许可证:免费(Apache)



Grafeas是用于审核和管理供应链的开源API。 从根本上讲,Grafeas是一种用于收集元数据和审核结果的工具。 它可用于跟踪组织中最佳安全实践的遵守情况。

这种集中的事实来源有助于回答以下问题:

  • 谁组装并签署了特定的容器?
  • 它是否通过了所有安全扫描程序和安全策略检查? 什么时候 结果如何?
  • 谁将其部署到生产中? 部署期间使用了哪些参数?

进入





In-toto是旨在确保整个软件供应链的完整性,身份验证和审核的框架。 在基础架构中部署In-toto时,首先要制定一个计划,该计划描述管道中的各个步骤(存储库,CI / CD工具,QA工具,工件收集器等)以及允许启动这些步骤的用户(负责人)。

In-toto监视计划的实施,验证链中的每个任务是否仅由授权人员正确执行,并且没有对产品进行未经授权的操纵。

门廊





Portieris是Kubernetes的准入控制器。 用于强制检查内容信任度。 Portieris使用Notary服务器(我们在本文末尾介绍了它- 大约是Transl。作为确认可信和已签名工件(即已批准的容器映像)的真实来源。

在Kubernetes中创建或修改工作负载时,Portieris会下载请求的容器映像的签名信息和内容信任策略,并在必要时动态更改API JSON对象以启动这些映像的签名版本。

金库





保管箱是用于存储敏感信息的安全解决方案:密码,OAuth令牌,PKI证书,访问帐户,Kubernetes机密等。 保险柜支持许多高级功能,例如租用临时安全令牌或组织密钥轮换。

使用Helm Chart,可以将Vault作为Consul作为后端存储库的Kubernetes集群中的新部署进行部署。 它支持本机Kubernetes资源,例如ServiceAccount令牌,甚至可以充当默认的Kubernetes秘密存储。

注意事项 佩雷夫 :顺便说一下,就在昨天,开发Vault的HashiCorp公司宣布了在Kubernetes中使用Vault的一些改进,特别是与Helm图表有关。 阅读开发者博客以获取详细信息。

Kubernetes安全审核


库伯长凳





Kube-bench是一个Go应用程序,它通过运行CIS Kubernetes Benchmark列表中的测试来检查Kubernetes是否已安全部署。

Kube-bench在群集组件(etcd,API,控制器管理器等)中查找不安全的配置参数,可疑的文件权限,不安全的帐户或打开的端口,资源配额,用于限制API调用次数以防止受到攻击的设置DoS攻击等

酷比猎人





Kube-hunter“寻找” Kubernetes集群中的潜在漏洞(例如远程代码执行或数据泄露)。 Kube-hunter可以作为远程扫描程序运行-在这种情况下,它将从第三方攻击者的角度评估群集-或作为群集内的Pod。

Kube-hunter的一个显着特征是“主动狩猎”模式,在此模式下,他不仅报告问题,而且还尝试利用在目标集群中发现的可能危害其工作的漏洞。 因此,请谨慎使用!

库贝迪





Kubeaudit是最初由Shopify开发的控制台工具,用于审核Kubernetes配置中的各种安全问题。 例如,它有助于识别具有超级用户特权,滥用特权或默认情况下使用ServiceAccount的无限制工作的容器。

Kubeaudit还有其他有趣的功能。 例如,它可以分析本地YAML文件,识别可能导致安全问题的配置缺陷,并自动修复它们。

库贝塞克


  • 网站: kubesec.io
  • 许可证:免费(Apache)



从某种意义上说,Kubesec是一种特殊的工具,它可以直接扫描描述Kubernetes资源的YAML文件,以寻找可能影响安全性的弱参数。

例如,它可以检测到授予pod的过多特权和权限,以root用户作为默认用户启动一个容器,连接到主机网络名称空间或危险的挂载,例如/proc host或Docker socket。 Kubesec的另一个有趣功能是它的在线演示服务,您可以在其中下载YAML并立即对其进行分析。

开放政策代理





OPA(开放策略代理)的概念是将安全领域中的安全策略和最佳实践与特定的运行时平台分开:Docker,Kubernetes,Mesosphere,OpenShift或其任意组合。

例如,您可以将OPA部署为准入控制器Kubernetes的后端,从而为其委派安全解决方案。 这样,OPA代理将能够即时检查,拒绝甚至修改请求,从而确保符合指定的安全设置。 OPA的安全策略以其自己的DSL语言Rego编写。

注意事项 佩雷夫 :在本文中,我们写了更多有关OPA(和SPIFFE)的信息

全面的Kubernetes安全分析工具


我们决定为商业平台创建一个单独的类别,因为它们通常一次涵盖多个安全领域。 可以从下表中获得其功能的一般概念:


*高级检查和事后分析,可完全捕获系统调用

水上安全





此商业工具旨在用于容器和云工作负载。 它提供:

  • 图像扫描与容器注册表或CI / CD管道集成在一起;
  • 通过搜索容器中的更改和其他可疑活动来保护运行时;
  • 本机容器防火墙;
  • 云服务中无服务器的安全性;
  • 法规遵从性和审核与事件记录相结合。

注意事项 佩雷夫 :还值得注意的是,该产品还有一个免费组件叫MicroScanner ,它允许扫描容器图像中的漏洞。 该表将其功能与付费版本进行了比较。

胶囊8




通过将检测器安装在本地或云Kubernetes集群中,Capsule8集成到基础架构中。 该检测器收集主机和网络的遥测数据,并将其与各种类型的攻击相关联。

Capsule8团队将其视为对使用新的(0天)漏洞的攻击的早期检测和预防。 Capsule8可以将更新的安全规则直接下载到检测器,以响应最近发现的威胁和软件漏洞。

卡维林





Cavirin在公司方面充当涉及安全标准的各个部门的交易对手。 它不仅可以扫描图像,而且还可以集成到CI / CD管道中,在进入封闭存储库之前阻止不符合标准的图像。

Cavirin Security Suite使用机器学习来评估网络安全性,并提供有关增强安全性和增强对安全性标准合规性的提示。

Google Cloud Security命令中心





Cloud Security Command Center可以帮助安全团队收集数据,识别威胁并在它们危害公司之前消除威胁。

顾名思义,Google Cloud SCC是一个统一的控制面板,您可以在其中集成各种安全报告,资产会计机制和第三方安全系统,并从一个集中的来源对其进行管理。

Google Cloud SCC提供的可互操作的API有助于集成来自各种来源的安全事件,例如Sysdig Secure(云原生应用程序的容器安全性)或Falco(运行时开源安全性)。

分层洞察(质量)





分层洞察(现在是Qualys Inc的一部分)建立在“嵌入式​​安全性”概念的基础上。 使用统计分析方法扫描原始图像的漏洞并执行CVE检查后,Layered Insight将其替换为包含二进制形式的代理的检测图像,以替换该图像。

该代理包含运行时安全性测试,以分析容器网络流量,I / O流和应用程序活动。 此外,它可以执行基础架构管理员或DevOps团队定义的其他安全检查。

中性向量





NeuVector进行容器安全检查,并通过分析网络活动和应用程序行为并为每个容器创建单独的安全配置文件来提供运行时保护。 它还可以独立地阻止威胁,通过更改本地防火墙的规则来隔离可疑活动。

网络集成NeuVector被称为安全网,能够对服务网中的所有网络连接进行第7级深度数据包分析和过滤。

Stackrox





StackRox容器安全平台致力于覆盖集群中Kubernetes应用程序的整个生命周期。 像此列表中的其他商业平台一样,StackRox根据观察到的容器行为生成运行时配置文件,并为任何偏差自动发出警报。

此外,StackRox使用CIS Kubernetes和其他规则手册分析Kubernetes配置,以评估容器的合规性。

Sysdig安全





Sysdig Secure在整个容器和Kubernetes生命周期中保护应用程序。 它扫描容器图像 ,根据机器学习数据提供运行时保护 ,并进行犯罪。 检查以识别漏洞,阻止威胁,监视是否符合既定标准并审核微服务中的活动。

Sysdig Secure与CI / CD工具(例如Jenkins)集成,并监视从Docker注册表下载的图像,从而防止危险图像出现在生产中。 它还提供了全面的运行时安全性,包括:

  • 基于ML的运行时分析和异常检测
  • 基于系统事件,K8s-audit API,联合社区项目(FIM-文件完整性监控; cryptojacking)以及MITER ATT&CK的运行时策略
  • 响应并消除事件。

持久的集装箱安全





在容器问世之前,Tenable在业界被广泛称为开发Nessus的公司,Nessus是搜索漏洞和安全审核的流行工具。

Tenable Container Security利用其计算机安全专业知识,将CI / CD管道与漏洞数据库,专用的恶意软件检测程序包以及解决安全风险的建议集成在一起。

Twistlock(Palo Alto网络)





Twistlock作为一个专注于云服务和容器的平台进行自我宣传。 Twistlock支持各种云提供商(AWS,Azure,GCP),容器编排器(Kubernetes,Mesospehere,OpenShift,Docker),无服务器运行时,网格框架和CI / CD工具。

除了常见的企业级安全性方法(例如集成到CI / CD管道或图像扫描中)之外,Twistlock还使用机器学习来生成行为模式和网络规则,这些行为模式和网络规则考虑了容器的具体情况。

不久前,Twistlock被Palo Alto Networks收购,后者拥有Evident.io和RedLock项目。 目前尚不清楚如何将这三个平台从Palo Alto集成到PRISMA中

帮助创建最佳的Kubernetes安全工具目录!


我们努力使该目录尽可能完整,为此,我们需要您的帮助! 如果您有值得在此列表中包含的出色工具,或者发现错误/过时的信息,请与我们联系( @sysdig )。

您还可以订阅我们的每月时事通讯,其中包含云原生的生态系统新闻以及来自Kubernetes安全领域的有趣项目的故事。

译者的PS


另请参阅我们的博客:

Source: https://habr.com/ru/post/zh-CN465141/


All Articles