11个容器安全扫描程序用于查找漏洞

您的容器和docker镜像安全吗?

让我们来找出答案吧!

过去几年,黑客活动非常猖獗。即使像facebook、google和yahoo这样的大型组织也成为了攻击的受害者,损失了数百万美元。这就是为什么应用程序的安全性对于今天的每个组织来说都是至关重要的事情。

如今,许多应用程序都在容器内运行,因为它们易于扩展、成本效益高、部署速度快、占用的存储空间较少,并且比虚拟机更好地利用资源。因此,这些容器的安全因素非常重要。容器镜像由各个层组成,要真正了解镜像的漏洞情况,您需要访问每个层。较小的容器镜像暴露给潜在漏洞的机会较少。

容器化是devops流程中的核心阶段之一,安全性必须要引起重视。容器镜像可能存在许多错误和安全漏洞,这为黑客获取访问应用程序或容器中的数据提供了良好机会,给公司造成了数百万美元的损失。

因此,定期扫描和审核镜像和容器非常重要。 devsecops在为devops流程添加安全性方面发挥着重要作用,包括扫描镜像和容器以查找错误和漏洞。

容器安全扫描器将帮助您找到容器中的所有漏洞,并定期监视它们以防止任何攻击、问题或新漏洞。

让我们探索一下可用的选项。

clair

clair是一个为docker和应用程序(appc)容器提供静态安全性和漏洞扫描的开源项目。

它是一个基于api的分析引擎,逐层检查容器中的安全漏洞。您可以使用clair构建服务,可以持续监视您的容器以查找任何容器漏洞。它会通知您容器中的潜在威胁。它会根据 通用漏洞和暴露数据库 (cve) 和类似数据库通知您容器中的潜在威胁。

如果发现任何威胁或问题,而这些威胁或问题已经存在于 国家漏洞数据库 (nvd) 中,它将检索详细信息并提供在报告中。

clair的特点:

  • 扫描现有漏洞并防止引入未来的漏洞。
  • 提供用于与其他工具集成的rest api
  • 在识别到任何漏洞时发送通知
  • 以html格式提供扫描详细信息的报告
  • 定期更新元数据

anchore

anchore是一个用于对docker镜像进行深度分析的开源项目。

它还会对docker镜像进行认证,告诉您它是否安全。anchore引擎可以作为独立运行,也可以在编排平台(如 kubernetes、rancher、amazon ecs、docker swarm)上运行。anchore还可作为jenkins插件提供,用于扫描ci/cd流水线。

如果您只需要一个kubernetes扫描工具,请查看这些工具以 查找kubernetes中的安全漏洞

您需要向anchore提交一个docker镜像,anchore将分析并提供有关其是否存在任何漏洞的详细信息。您还可以使用自定义安全策略来评估anchore中的镜像。

您可以通过cli或rest api访问anchore引擎。

anchore功能:

  • 提供对容器镜像、操作系统软件包和软件工件(如jar文件)的深度检查
  • 与ci/cd流水线无缝集成,以查找安全漏洞
  • 定义并应用策略,以防止构建和部署危险镜像
  • 在编排平台上部署之前,仅检查经过认证和安全的镜像。
  • 自定义漏洞检查、配置文件、镜像密钥、暴露的端口等。

dagda

dagda是一个开源工具,用于对docker镜像和容器中已知漏洞(如木马、恶意软件、病毒等)进行静态分析。它使用clamav防病毒引擎来检测此类漏洞。

它首先从cve、red hat安全公告(rhsa)、red hat bug公告(rhba)、bugtraq id(bid)和offensive security数据库导入所有已知漏洞到mongodb。然后,针对导入的漏洞进行镜像和容器分析。

dagda功能:

  • 支持多个linux镜像(centos、ubuntu、opensuse、alpine等)
  • 分析来自java、python、node.js、javascript、ruby、php的依赖关系
  • 与falco集成,用于监视正在运行的容器
  • 将每个分析报告存储在mongodb中,以保持每个docker镜像或容器的历史记录

falco

falco是一个开源项目,也是kubernetes的威胁检测引擎。它是一个运行时安全工具,用于检测在kubernetes上运行的主机和容器中的异常活动。它会检测应用程序中的任何意外行为,并在运行时向您发出有关威胁的警报。

它使用类似于tcpdump的语法来构建规则,并利用库(如libscap和libinsp)来从kubernetes api服务器或容器运行时环境中提取数据。

然后,您可以使用该元数据获取有关pod、标签和命名空间的信息,以根据特定的命名空间或特定的容器镜像创建规则。这些规则关注系统调用以及系统上允许和不允许的系统调用。

aqua security

aqua security保护使用容器等云原生技术构建的应用程序。它为像kubernetes这样的编排工具提供漏洞扫描和管理。

它是一个综合性的安全平台,确保在容器上运行的应用程序是安全的,并且它们在安全的环境中运行。

开发人员在构建镜像时,会使用一组技术和库来构建其镜像。aqua security允许他们扫描这些镜像,以确保这些镜像是干净的,它们没有任何已知的漏洞,没有任何已知的密码或秘密,也没有任何可能使该镜像容易受到安全威胁的问题。

如果发现任何漏洞,aqua security将向开发人员报告并建议他们采取措施修复这些易受攻击的图像。

aqua security还拥有技术,以确保容器在生产环境中运行时不会受到任何安全威胁的攻击或渗透。

docker bench

docker bench security是一个具有多个自动化测试的脚本,用于检查在生产环境中部署容器的最佳实践。

要运行docker bench security,您需要安装docker 1.13.0或更高版本。

您需要运行以下命令来运行docker bench security。

docker run -it --net host --pid host --userns host --cap-add audit_control 
-e docker_content_trust=$docker_content_trust 
-v /var/lib:/var/lib 
-v /var/run/docker.sock:/var/run/docker.sock 
-v /usr/lib/systemd:/usr/lib/systemd 
-v /etc:/etc --label docker_bench_security 
docker/docker-bench-security

运行此命令后,脚本将运行,并分享infowarnpass的详细信息。运行脚本后,您可以检查所有警告消息并进行更正。

harbor

harbor是一个开源并受信任的云本地注册表,提供安全策略和基于角色的访问控制(rbac)。它存储、签名和扫描docker图像以查找漏洞。可以将其安装在kubernetes集群或任何支持docker的其他系统上。

harbor功能:

  • 使用docker compose轻松部署
  • 提供安全和漏洞分析
  • 多租户内容签名和验证
  • 身份集成和基于角色的访问控制
  • 可扩展的api和用户界面
  • 实例之间的图像复制
  • 支持ldap/ad和oidc进行用户管理和用户身份验证

jfrog xray

jfrog xray是一种持续的开源安全和通用工件分析工具。

使用jfrog xray,您可以持续扫描您的工件和依赖项以查找安全漏洞和许可证合规问题。

作为一种通用工件分析解决方案,xray主动识别安全漏洞和许可证风险。在投入生产之前,xray与jfrog artifactory实现本地集成,提供单个屏幕上的所有工件元数据,包括安全状态的可见性。

jfrog xray的新漏洞和技术数据库不断扩大,使您能够在更少的权衡中做出更好的技术判断。它会检查您的所有组件与其不断增长的新漏洞数据库,并在发布后向您提供新问题的警报。

它支持所有包类型,并使用深度递归扫描来审查所有底层层和依赖项,包括那些打包在docker映像和zip文件中的依赖项。jfrog xray还创建了一个图表,显示您的工件和依赖项结构以及发现的漏洞和许可证问题的影响分析

qualys

qualys容器安全是一种用于发现、跟踪和持续保护容器环境的工具。它会扫描devops流水线和云端或本地环境中的镜像或容器中的漏洞。

qualys提供了容器安全应用程序的免费版本,以让用户了解它可以提供什么。它可以让您查看环境中运行的镜像和容器。如果您想要扫描它们,您需要订阅他们的付费版本。

它还通过为容器提供功能级别的防火墙,为容器提供了运行时安全性。它通过qualys crs(容器运行时安全性)层,提供了对容器行为的深入可见性,并保护镜像和正在运行的容器。

docker扫描

虽然还在测试阶段,但docker扫描利用synk引擎,能够扫描本地dockerfile、镜像及其依赖项,以查找已知的漏洞。您可以从docker desktop运行docker scan命令。

docker scan mydockerimage

grype

现在,容器安全是一个热门话题。用于扫描容器安全的扫描程序是您可以用来帮助保护容器安全的众多工具之一。grype是一个用于识别在任何平台上运行的容器中的漏洞的安全扫描程序。

它可以在github上找到,并且是开源的。grype提供了web应用程序和命令行工具。

这个开源的容器漏洞扫描工具帮助devops团队在运行时环境和容器镜像中找到并解决安全缺陷。

它检查运行的容器是否存在潜在的安全缺陷,并扫描公共和私有的docker镜像以查找漏洞。grype可以单独使用,也可以作为jenkins、circleci和travis ci等著名devops工具的插件使用。

主要特点

  • 支持包括redhat、oracle、ubuntu、centos等在内的所有流行操作系统
  • 安装简单,并与包括java、ruby、php和dotnet在内的多种其他语言兼容
  • 接受syft、spdx和cyclonedx sbom输入格式
  • 可以使用go模板定义其输出格式
  • 支持多个构建漏洞数据库的来源,以提高漏洞匹配的可靠性。

grype因其简单易用且可在支持容器的任何平台上使用而越来越受欢迎。

由于攻击容器的方法有很多,所以拥有一个可靠的安全扫描程序非常重要。因此,可以使用新的容器安全扫描程序grype来查找容器中的漏洞并防止攻击。

结论

现在您知道容器安全扫描程序确实存在了,所以没有借口。请尽快尝试并了解它们如何帮助您保持容器化应用的安全。

类似文章