一、背景介绍
图1 传统控制和零信任控制对比
NeuVector由黄飞(Fei Huang)和段磊(Gary Duan)于2015年在美国加利福尼亚州联合创立。创立之初公司专注于容器安全,具体就是网络监测和容器防火墙。公司创立后发展迅速,于21年被SUSE收购。此举极大地增强了Rancher的安全合规板块,从此NeuVector也正式成为SUSE的一部分,大概也是由此开始 ,NeuVector贴上零信任标签。
二、什么是零信任
图2 安全模型的演进
图3 Tracy Walker关于零信任的解释
因此,零信任安全模型强调了持续的身份验证、访问控制和监控,以确保只有经过验证和授权的用户和设备能够获得访问权限。它不仅仅关注网络边界,而是将安全性扩展到应用程序、数据和用户层面,从而提供更全面的安全保护。
三、NeuVector和零信任的关系
NeuVector的产品可以作为实现零信任安全模型的一部分,提供对容器环境的实时安全保护和威胁检测。但是,实现零信任安全模型还需要其他技术的支持,如多因素身份验证、数据加密等。
四、构建零信任云原生安全底座的方案
图4 SUSE零信任环境结构
Rancher:是一个开源的容器管理平台,提供了集群管理、应用程序编排、监控和日志、身份认证和访问控制等功能,帮助用户简单且快速地部署一个可行的安全底座。
SUSE Linux,Harvester:SUSE Linux作为一个企业级Linux操作系统,提供了可靠、安全和可扩展的基础设施,用于构建和部署应用程序。它提供了强大的安全功能和工具,包括访问控制、身份验证、文件加密等,以帮助建立安全的基础架构,为环境提供了 一个减少攻击面的系统镜像;Harvester是一个基于Kubernetes的开源虚拟化平台,为容器化应用程序提供了高性能和简化的虚拟机管理解决方案。它利用Kubernetes的自动化和可伸缩性,提供了可靠的虚拟化基础设施,帮助构建安全的应用环境。
Longhorn:Longhorn是一个开源的分布式块存储系统,为容器化环境提供持久化存储解决方案。它通过提供数据加密、快照和恢复等功能,保护存储在容器中的数据的安全性和可靠性。
将这些组件组合在一起,可以构建一个强大的零信任安全底座。通过NeuVector提供的容器防火墙功能,SUSE Linux提供的安全基础设施,Harvester提供的虚拟化管理和Longhorn提供的数据存储,可以实现对容器化环境的全面安全保护和管理。这种组合可以帮助用户快速建立一个基于零信任原则的安全底座,确保应用程序和数据的安全性和保密性。
图5 云原生应用的实用零信任控制
图6 NeuVector全生命周期安全图
代码层:由于官方有关于Sonatype Nexus的集成描述,笔者猜测,NeuVector结合了Sonatype Nexus能够做到CI/CD阶段检测项目中使用的组件是否存在已知的安全漏洞供应链扫描并添加准入规则来保障项目组件的安全性。
镜像层面:NeuVector的自动响应规则结合JFrog Xray镜像扫描能力,NeuVector允许根据JFrog Xray的扫描结果配置自动响应规则。根据镜像中发现的安全漏洞或合规性问题,可以定义特定的规则和操作来保护容器环境。如图7所示,可以设置规则,如果镜像中存在高危漏洞,则自动拒绝该镜像的引用, 将被扫描过的镜像仓库定义为合法仓库,仅允许合法仓库被使用等。
图7 镜像规格准入控制
NeuVector表明其使用的是第7层网络检测技术而不是eBPF和Istio技术去做流量采集也不是。没有使用Istio的原因是,Istio无法对已经加密的流量做分析(如HTTPS协议的请求),这很容易获取不到明文或者给攻击者留下伪装的途径,而Istio Egress Gateway则需要额外添加网络策略确保所有出口流量都流经网关,这将增加配置的复杂性。关于为何没有使用eBPF,笔者没有在官方资料中找到明确的原因,只在网络研讨会议中看到他们认为在网络侧做流量分析能够获取的更加全面,笔者猜想还有另外一个原因是eBPF对系统版本是有强制要求的,这意味着旧版本的系统环境将无法使用这一技术,这将非常不友好。基于第7层深度数据包检测的技术其实也就是DPI(Deep Packet Inspection)可以识别多种应用层协议,关于加密协议的流量识别,在官方介绍里简要说明是通过对允许的NDS的跟踪,联系上下文信息间接解析流量内容。由此基于DPI技术NeuVector可以做到如图8所示的包含Istio等所有流量的解析和追踪。
图8 NeuVector对Istio流量的可视化
图9 策略规格
五、总结
第一,当企业决定将 NeuVector真正运用在实际环境中时候,如何判断哪些策略该被允许将是一个让人头疼的问题。尽管他们宣称环境拥有一定的一致性,因此可以导出规则到其他环境,但针对云场景下数以万计的微服务,谁来做合法性的判断,谁又能做这将是个未知数。虽然Tracy宣称他们没使用机器学习技术,但笔者感觉使用机器学习自动判断服务的哪些动作是合法的,从而自动给出策略建议也许是一个不错的方案。
第二,假如攻击者已经早于NeuVector对环境做了控制,例如攻击者已经掌握集群的部分CRD资源管理权限,又或者攻击者做到了内核级别的劫持,那NeuVector基于CRD发出的所有控制策略将形同虚设。基于此,笔者还是保留基于内核层做控制的建议。
由于篇幅有限,非常遗憾没有针对NeuVector的底层原理进行说明,如有兴趣的朋友可以关注官方渠道进行交流。
[2] SUSE.Zero Effort Zero Trust for Blocking Zero Days in Kubernetes
[3] https://neuvector.com/about/events/
[4] https://neuvector.com/wp-content/uploads/2020/08/NeuVectorPipeline.png
[5] https://neuvector.com/products/integrations/
[6] Neuvector. How to Enforce Egress Container Security Policies in Kubernetes, OpenShift, and Istio
[7] Neuvector. Use Cloud-Native Tools OPA and CRD to Protect Applications from Pipeline to Production
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。