随着云和虚拟技术的发展,docker容器的使用越来越普及和方便。许多企业将基础设施从传统的物理机迁移到虚拟机架构,构建基于公有云、私有云和容器云的在线服务。与容器相关的安全性变得越来越重要。与传统安全方法相比,虚拟化架构中的架构差异需要一种完全不同的安全方法,并且必须在服务构建过程的早期了解并执行特定的容器安全扫描。为了满足虚拟化容器云架构下的安全需求,本文介绍冲冲介绍虚拟化云架构和容器环境下的一些开源安全工具。SysdigFalcoFalco是Sysdig创建的支持K8S的开源安全审计工具。Falco是云原生计算基金会(CNCF)的一部分,提供容器、网络和主机活动的行为监控。Falco最初是为Linux设计的主机入侵检测系统,但它也适用于container.id、container.image或其规则的命名空间,因此可以用来检测docker容器的行为,基于一个容器检测器,可以深入了解容器行为,检测恶意或未知行为,并通过日志记录和通知向用户发送警报。Falco可以跟踪和分析容器内发生的动作行为,包括Linux系统调用。Falco跟踪基于容器的事件,包括:在容器内运行的shellcode;以特权模式运行的任何容器从主机安装任何敏感目录路径(例如/proc);意外尝试读取敏感文件(例如/etc/shadow);使用任何标准系统二进制文件进行出站网络连接。它可以在检测到任何恶意行为时向管理员发送警报,例如使用特定系统调用、特定参数或调用进程的属性。当前版本:0.21.0项目地址:https://falco.org/源码仓库:https://github.com/falcosecurity/falcoOpenSCAPOpenSCAP是一个命令行审计工具,可以扫描、加载、编辑、验证和导出SCAP文件。SCAP(安全内容自动化协议)是一种用于企业级Linux基础架构合规性检查的解决方案,由NIST维护。它使用可扩展配置清单描述格式(XCCDF)来显示清单内容并总结Linux安全态势和合规性状态。OpenSCAP提供了一套合规管理和扫描工具,支持使用oscap-docker等工具扫描容器镜像。OpenSCAP还可以帮助用户扫描XCCDF等合规性。该软件包还有一些其他工具/组件:OpenSCAPBase用于执行配置和漏洞扫描;OpenSCAPDaemon在后台运行的服务;SCAPWorkbench一个UI界面应用程序,它提供了一种执行常见oscap任务的简单方法;用于中间件的SCAPtimony存储,用于用户基础设施的SCAP结果。当前版本:1.3.2项目地址:http://www.open-scap.org/源码仓库:https://github.com/OpenSCAP/openscapClairClair是一个开源的漏洞扫描器和静态分析工具,用于分析appc和docker容器中的漏洞。Clair定期从多个来源收集漏洞信息并将其存储在数据库中。它为客户端执行和扫描调用提供了一个公共API。用户可以使用ClairAPI列出他们的容器镜像,创建镜像中的特征列表并将它们保存在数据库中。当发生漏洞元数据更新时,可以通过webhook触发警报/通知,以将漏洞的先前状态和新状态以及受影响的图像发送给配置的用户。作为部署脚本的一部分,Clair支持各种第三方工具从端点扫描图像。例如,Klar就是不错的选择之一。GitHub上提供了该工具的安装详细信息,并且可以作为Docker容器运行。它还提供了DockerCompose文件和HelmCharts来简化安装过程,也可以从源代码编译。Clair项目的目标是促进对基于容器的基础设施安全性的透明理解。因此,该项目以法语单词命名,具有明亮、清晰和透明的英文含义当前版本:2.0.2项目地址:https://coreos.com/clair/docs/latest/源代码库:https://github.com/quay/clairDagdaDagda是一个开源静态分析工具,用于对Docker镜像或容器中的已知漏洞、恶意软件、病毒、木马和其他恶意威胁进行静态分析。Dagda可以监控Docker守护进程和正在运行的Docker容器,以了解不规则或异常的活动。该工具支持常见的Linux基础镜像,如RedHat、CentOS、Fedora、Debian、Ubuntu、OpenSUSE和Alpine等。Dagda附带一个DockerCompose文件,可以轻松运行评估。Dagda虽然支持容器监控,但必须与SysdigFalco集成。Dagda不支持容器注册表或存储库扫描,更适合手动按需扫描。部署Dagda后,可以从CVS数据库下载已知漏洞及其利用的POC,并保存在MongoDB中。然后它会收集Docker映像中软件的详细信息,并通过将其与之前存储在MongoDB中的详细信息进行比较来验证每个产品及其版本是否没有漏洞。Dagda可以使用ClamAV作为防病毒引擎来识别Docker容器/镜像中包含的木马、恶意软件、病毒和其他恶意威胁。Dagda的主要目标用户是系统管理员、开发人员和安全专业人员。当前版本:0.7.0源代码库:https://github.com/eliasgranderubio/dagdaAnchoreEngineAnchoreEngine是一个开源的DevSecOps全栈安全工具,旨在分析和扫描容器镜像中的漏洞。该工具以Docker容器映像的形式提供,可以作为独立安装或在编排平台中运行。AnchoreEngine使用户能够识别、测试和解决创建应用程序的Docker映像中的漏洞。其企业版OSS提供策略管理、摘要仪表板、用户管理、安全和策略评估报告、图形客户端控制以及其他后端模块和功能。AnchoreEngine提供了Dockercompose文件,可以一键构建docker容器安装。它支持可以通过CLI工具(例如AnchoreCLI或Jenkins插件)扫描的后端/服务器端组件。它还可以标记存储库中的容器,一旦添加,它会定期轮询容器注册表进行分析。用户还可以使用添加新查询、策略和图像分析的插件来扩展AnchoreEngine。它可以通过RESTfulAPI或AnchoreCLI直接访问。当前版本:0.7.0项目地址:https://anchore.com/源码仓库:https://github.com/anchore/anchore-engine总结开源安全工具在保护基于容器的基础设施方面发挥着重要作用。我们可以根据业务需求和优先级选择合适的工具(组合)来保证云架构下的安全:例如使用OpenSCAP和Clair进行合规性分析,使用Falco进行安全审计,使用Dagda进行已知漏洞的静态分析。分析,使用Anchore进行组合安全。
