云原生安全开源项目汇总
概览
云原生的发展离不开CNCF(Cloud Native Computing Foundation)的推动和支持。在CNCF众多的孵化项目中,不仅仅包含编排调度、监控分析类型项目,还包括了一系列“安全与合规”类型的项目,从而使得云原生开源生态更完整,也可以帮助采用云原生技术的企业能够降低安全风险。在本篇文章中,我们对CNCF的安全开源项目进行一下梳理。
根据成熟度不同,CNCF项目分为Sandbox(沙盒)、Incubating(孵化)和Graduation(毕业)三个阶段。
图:CNCF项目成熟度等级划分
从图中可以看出,沙盒-孵化-毕业所代表的成熟度依次升高。其中,被CNCF接受并成为Sandbox项目需要至少2个TOC的sponsor的支持。孵化项目必须提供至少三个独立的终端用户成功地使用在生产环境中的资料信息,在质量和范围方面都得到证明。而要达到毕业,则需要在孵化标准之上满足更严苛的要求,代表这是一个“跨越鸿沟”的项目。实际统计来说,目前毕业的安全开源项目也仅有两个。
项目名称 | 成熟度 | 关注点 | 详情链接 |
OPA: Open Policy Agent | 毕业 | 通用策略引擎 | https://www.openpolicyagent.org |
TUF: The Update Framework | 毕业 | 安全更新框架 | https://theupdateframework.io |
Falco | 孵化 | 系统调用行为监控 | https://falco.org |
Notary | 孵化 | 数据权限控制 | https://github.com/notaryproject/notary |
CERT MANAGER | 沙盒 | 证书管理 | https://www.jetstack.io/open-source/ |
Curiefense | 沙盒 | Web与API防护 | https://www.curiefense.io |
Dex | 沙盒 | 身份认证 | https://github.com/dexidp/dex |
In-toto | 沙盒 | 软件供应链完整性 | https://in-toto.io |
Keylime | 沙盒 | 远程启动认证 | https://keylime.dev |
Kyverno | 沙盒 | Kubernetes原生策略管理 | https://kyverno.io |
Parsec | 沙盒 | 可信计算 | https://github.com/parallaxsecond/parsec |
此外还有其他开源项目,虽然没有直接托管在CNCF旗下,但也跟CNCF有密切的联系:
关注点 | 详情链接 | |
Anchore | 容器镜像扫描 | https://github.com/anchore/anchore-engine |
CHEF INSEPC | 基础设施合规 | https://github.com/inspec/inspec |
Clair | 容器镜像扫描 | https://github.com/quay/clair |
FOSSA | 代码依赖与授权分析 | https://github.com/fossas/fossa-cli |
Goldilocks | 资源控制 | https://github.com/FairwindsOps/goldilocks |
Grafeas | 软件供应链 | https://github.com/grafeas/grafeas |
Kube-bench | 集群合规检查 | https://github.com/aquasecurity/kube-bench |
Kube-hunter | 集群安全检查 | https://github.com/aquasecurity/kube-hunter |
OpenSCAP | 集群合规与安全评估 | https://github.com/OpenSCAP/openscap |
Pluto | apiVersion审计 | https://github.com/FairwindsOps/pluto |
Polaris | 集群配置检查 | https://github.com/FairwindsOps/polaris |
RBACLookup | 身份认证 | https://github.com/FairwindsOps/rbac-lookup |
RBACmanager | 身份认证 | https://github.com/FairwindsOps/rbac-manager |
Sonobuoy | 集群一致性检查 | https://github.com/vmware-tanzu/sonobuoy |
terrascan | 编排文件检查 | https://github.com/accurics/terrascan |
trivy | 各类漏洞扫描 | https://github.com/aquasecurity/trivy |
项目举例
我们抽取部分典型的项目如OPA、TUF、Falco、Kube-hunter、Trivy介绍,分别涉及云原生安全的不同领域,覆盖集群安全策略管理、安全更新框架、容器运行时安全检测、集群安全扫描以及镜像扫描。
OPA: Open Policy Agent
OPA是一个全场景通用的轻量策略引擎(Policy Engine),它提供了声明式表达的 Rego 语言来描述策略,并将策略的决策 offload 到 OPA,从而将策略的决策过程从策略的执行中解耦。OPA 可适用于多种场景,比如 Kubernetes、Terraform、Envoy 等,以前需要使用到 Policy 的场景理论上都可以用 OPA 来做一层抽象。
Kubernetes 中可以使用 OPA充当Kubernetes 准入控制器。OPA拦截发送到API服务器的API调用,并验证和/或修改它们。与原生Pod安全策略不同,OPA可以应用于任何Kubernetes资源,用户可以配置统一的OPA策略,适用于系统的不同组件,而不仅仅是Pod。
图:OPA在Kubernetes中的使用场景
TUF: The Update Framework
The Update Framework (TUF)是一个安全更新框架,它是一种构建系统弹性的方法,可以抵御关键的入侵和其他可能传播恶意软件或危及存储库的攻击。TUF充分考虑到了各个环节可能出现的攻击,在提供更新功能的同时,也可以很好的保护现有程序或者是验证待更新版本的安全和可靠性。实现机制主要是提供了一套标准规范,并在各个环节中增加了更多的元数据和相关的检查,包括签名信息,文件 hash ,元数据签名和过期时间等。
图:TUF 于2019年从CNCF正式毕业
TUF 已成为保护软件更新系统安全的行业标准,包括亚马逊在内的领先的基于云的服务提供商都在使用它,其中包括最近发布了 TUF 的新实现的 Amazon,还有 Microsoft、Google、Cloudflare、Datadog、DigitalOcean、Docker、IBM、Red Hat 与 VMware 等。
Falco
Falco最初是由Sysdig创建的,后来加入CNCF孵化器,成为首个加入CNCF的运行时安全项目。Falco可以对Linux系统调用行为进行监控。Falco的主要功能如下:
• 从内核运行时采集Linux系统调用。
• 提供了一套强大的规则引擎,用于对Linux系统调用行为进行监控.
• 当系统调用违反规则时,会触发相应的告警。
Falco提供了一组默认规则,可以监控内核态的异常行为。例如:
• 使用setns等工具改变进程的namespace信息。
• 对于系统目录/etc, /usr/bin, /usr/sbin的读写行为。
• 文件Ownership、Mode的变更。
但事实上Falco离上生产环境还有一段距离,需要安装内核驱动,侵入式较强,虽然已支持eBPF,但其稳定性和性能还待验证。
Kube-hunter
Kube-hunter是一个用于Kubernetes渗透测试的开源工具。只需提供Kubernetes集群的IP或者DNS名称,Kube-hunter就会探查集群中的安全漏洞——这个过程就像是自动化的渗透测试。它有被动、主动两种模式,默认为被动模式,可以用来探测企业用户 Kubernetes 环境内潜在的弱点。如果切换为主动模式,则会查找其他弱点,利用发现的弱点进行进一步探索,因此在使用主动模式时也需慎重。
部署方面,Kube-hunter 总共有 3 种不同使用方式:
• 将 Kube-hunter 容器部署在集群外,指定集群的 DNS、IP 地址后,就能进行渗透测试。
• 将 Kube-hunter 部署在集群内特定主机运作,直接在本地环境检测、扫描。
• 使用 Pod 作为部署单位,执行 Kube-hunter。
Trivy
Trivy 是一个简单而且功能完整的容器漏洞扫描工具,特别适用于持续集成。与其他几款开源的镜像扫描工具相比,Trivy在准确性、方便性和对CI的支持等方面都有优势:
• 检测面很全,能检测全面的漏洞;
• 扫描速度快,通常在10秒内完成(取决于网络和镜像大小);
• Trivy是无状态的,不需要维护或准备;
• 易于安装,使用简单,仅仅只需要指定镜像名称;
总结
受限于篇幅,本文仅挑选了部分项目进行简要介绍。有兴趣的读者可以根据每个项目后面的详情链接进行深入的学习和研究。
CNCF社区是一个非常具有奉献精神且积极活跃的社区,在云原生领域有极大的号召力。今年3月份,北京小佑科技有限公司便正式加入了CNCF,成为国内第一家加入CNCF的云原生安全厂商,也是CNCF镜像仓库项目Harbor的国内第一个安全扫描能力提供者。未来小佑科技也将一如既往地积极推动云原生的发展和繁荣,用安全能力最大限度释放云原生的生产力!
往期推荐
小佑科技入选Gartner《云原生应用保护平台创新洞察》代表厂商