一. 生态产业发展趋势Landscape

访问控制(Access Control,AC)规定了主体(即用户和流程)如何基于已定义的访问控制策略访问客体(对象),以保护目标系统中的敏感数据和关键计算对象,使其不被非授权地访问。网络访问控制(NAC,Network Access Control),常见的访问控制是在企业网络场景中,通过对接入用户及其访问行为进行安全控制,提供网络“端到端”的安全保证,而当前的网络访问控制是在更广义的场景,即更泛在的网络环境下的访问控制,本文的网络访问控制能力说明是面向云计算网络环境。

随着云计算、虚拟化技术的发展,越来越多的企业将数据与业务迁移到云计算环境。包含有敏感数据和业务的云计算工作负载,在云环境下网络边界变得模糊,传统防火墙等网络安全手段在云环境下显得捉襟见肘。集中化、自动化、弹性和自适应是云环境对访问控制能力提出的内生需求。此外,云服务模型(IaaS、PaaS和SaaS)不同,主体不同,或网络访问的对象和目标不同,对应的网络访问控制策略也有差异。

云服务商负责的访问控制机制和云租户负责的访问控制机制在云服务的IaaS、PaaS和SaaS层有不同的划分,如图1所示,网络访问控制机制主要由云服务提供商负责。网络访问控制机制涉及物理网络和虚拟网络的访问控制,而虚拟网络的访问控制机制又可进一步细分为对虚拟机和容器的访问控制。

图- 1 由云服务商和云租户负责的访问控制机制

二. 云化趋势下的网络访问控制能力特点

随着云计算的发展,传统的网络访问控制机制也在发生变化,从单体设备走向资源池化,从固定性能转为弹性扩展,从一次买断转为按需计费,不一而足,目前看云计算场景中的访问控制机制具备了多种云计算所特有的能力:

  • 泛在的网络访问

用户可以通过互联网访问云服务,这些访问行为具有泛在性。首先,访问机制都是基于标准的协议,因而,访问主体可为异构的终端(如移动电话、平板电脑、笔记本电脑、工作站)使用;其次,用户所在的区域经常会发生变化,访问位置无所不在。访问主体的不确定性、缺乏固定的边界,都就带来了有关网络访问的安全问题。在设计云中的访问控制机制时,要充分考虑到云计算业务的特点,不能设置简单的访问控制点,或只部署固定不变的访问控制规则。

  • 能力资源池化

访问控制的设计中,应充分考虑云计算的优势和特点,如在确保共享资源隔离的同时实现访问控制资源池化的方法。通过多租户模型,将云系统的计算资源(如存储、 内存、处理、网络带宽)池化,构建多个独立、隔离的访问控制点,以服务多个用户。

  • 能力可弹性伸缩

对于用户而言,云服务商提供的服务通常看起来是不受限制的,并且在任何时候都可以随意伸缩。在某些情况下,可以自动配置和释放云服务,以根据需求快速向外或向内扩展。所以访问控制机制应考虑到访问客体的弹性变化情况,包括在新虚拟机准备好后快速部署访问控制策略,或在虚拟机迁移时将访问控制策略同步迁移。

  • 可计量的服务

云系统通过服务类型(如用户在存储、计算、带宽、活动等方面的资源消耗)的抽象级别利用计量功能来自动控制和优化资源使用。为了维持资源的使用,云用户应该被授权审查而不是修改他们自己的计量数据,因为这可能会导致所需支付的云服务费用被伪造。因此,访问控制需要考虑计量数据的保护。

三. 云计算系统中的网络访问控制能力分类与介绍

云服务提供商通常会提供基础设施和网络层级的安全保障,但实际应用的安全还需要通过合适的访问控制策略来保障。以下是云环境下的网络访问控制能力的主要内容:

3.1 网络访问控制列表(Network Access Control List,NACL)

NACL 是一种用于过滤特定模式流量的网络级别访问控制机制,控制网络主体的访问范围和网络流向,从而提供基础的网络层级访问控制,因而也是基础的访问控制能力。NACL通常会定义源和目标网络地址、协议、端口和访问策略(通行、丢弃或跳转等)等规则,在收到数据包后根据规则优先级依次匹配规则,当匹配到某规则后执行相应的策略。在开源的云计算系统中,网络访问控制列表通常使用iptables、ebtables等机制实现,但用户需要考虑NACL列表大小可能会影响计算节点的性能,在大型云计算的环境中,应考虑更为高效的NACL底层实现机制。

3.2 网络安全组(Network Security Group)

网络安全组是IaaS提供的一种防火墙控制机制,用于限制虚拟网络中的入站和出站流量,如Openstack使用网络安全组实现进出虚拟机的东西向流量的阻断或放行。

网络安全组可以被认为是一类网络访问控制列表的模板,它定义了若干访问控制规则,可应用于同样类型的资源上。如可将一个“允许TCP 80/443并禁止其他流量”的安全组绑定于租户的多台Web服务虚拟机。

网络安全组需要为虚拟机提供网络层的访问控制能力,并且可以跟随虚拟机的迁移、伸缩而更新,提供虚拟机完整生命周期的一致性防护。此外,安全组中的规则变更,也应实时、动态应用于现有或后续新建的虚拟机实例上。

3.3 虚拟私有云(VPC)

专用虚拟局域网(VLAN)技术可保护网络流量和云环境不受未经授权的用户访问。VLAN对数据中心的网络流量使用IEEE 802.1Q VLAN 标记,可确保标记有服务器唯一VLAN 标识符的流量仅路由到该服务器或从该服务器路由。

命名空间(namespace)是Linux内核提供的一种资源隔离机制,可实现将网络路由表、网络设备间共享或隔离。

事实上,通过VLAN实现虚拟网络流量的隔离,从而实现不同租户网络流量的隔离;通过命名空间将不同租户网络资源隔离,基本上成为了云计算环境中网络隔离技术的基石。

公有云提供资源是共享的,而云计算又天然地要求不同租户网络是隔离的,虚拟私有云(Virtual Private Cloud,VPC)则提供了控制租户不能访问其他租户网络资源的能力。VPC是一种面向IaaS租户的虚拟网络环境,提供了安全的、可定制化的网络拓扑结构,使得用户可以创建自己的网络架构,包括子网、路由表和网关等。VPC在底层使用了如VLAN、命名空间等机制,以保证不同租户的虚拟网络的资源和流量是隔离。即便不同租户的虚拟网络是重叠(overlapping)的,彼此也不能互相访问对方的网络资源,保证了各自网络的安全。

3.4 微服务系统的网络策略(MSA Network Policy)

在微服务架构中,每个服务通常运行在独立的容器中,微服务之间通过网关或服务网格进行网络通信。编排系统会设计网络策略来管理微服务的通信范围和微服务之间流量。如Kubernetes通过应用Network Policy进行POD(微服务的实例)之间的访问控制,限制POD的出入流量,提供面向微服务的网络层访问控制能力。

四. 网络访问控制能力的预测

云环境下的网络访问控制能力有如下发展趋势:

1) 多云网络安全一体化:随着企业对多云环境的采用增加,安全团队需要更好的一体化解决方案来保证多云网络的安全。企业将需要集中管理多云网络的访问控制、身份验证和授权、网络隔离等安全策略。特别是融合了企业网络、云计算网络和物联网网络等异构的网络后,网络访问控制能力需要做到控制平面统一,数据平面一致。避免攻击者通过某网络的漏洞穿透到云计算网络中,反之亦然。

在公有云场景下,会出现针对单云、多云或混合云的访问控制策略检查的安全服务,以发现错误配置导致的未授权访问攻击面,此类服务通常会被认为是一类云安全态势管理(Cloud Security Posture Management,CSPM)的能力。

2) 自适应网络访问控制:自适应网络访问控制是一种新的安全控制策略,可以根据网络流量和用户行为实时调整访问控制策略,以提高网络的安全性和效率。例如,自适应访问控制可以通过机器学习算法来分析用户的行为和访问模式,以决定是否授予访问权限。

3) 面向微服务和服务网格的网络访问控制:随着微服务的广泛应用,网络安全对于微服务的成功实现至关重要。微服务网络安全需要解决服务身份验证和授权、服务发现和注册、网络隔离等安全问题,以确保服务之间的安全通信。微服务网络通常有南北向的微服务网关和东西向的服务网格组成,因而应根据业务需求定义微服务间的隔离和访问策略,进而在微服务网关或服务网格中微服务边界部署的访问控制机制,并应用访问控制策略。边车(Sidecar)代理、eBPF或引流均为实现微服务访问控制的新兴关键技术。

4) 面向无服务器(Serverless)的网络访问控制:无服务器计算是一种新的云计算模式,它可以将代码和函数运行在云端,无需用户自己管理和维护服务器。无服务器计算需要解决代码和数据的安全问题,包括代码审计、数据隔离和访问控制等。由于在用户视角,无服务器工作在应用层,因而其网络访问控制的策略通常是针对请求的URL、参数等应用层字段的。

5) 安全自动化和自动化响应:安全自动化和自动化响应可以帮助企业更快速地检测和应对网络安全事件,以降低安全风险。企业可以通过自动化工具来实现自动化的访问控制、安全监控和事件响应,以提高网络安全的效率和准确性。

五. 总结

在云环境中需根据云服务交付模型(IaaS,PaaS和SaaS)中相关要素考虑网络访问控制技术所应具备的能力。云化趋势下的访问控制技术具备云计算的基本特征,例如泛在的网络访问、能力资源池化、能力可弹性伸缩,以及可计量的服务等。针对IaaS、PaaS和SaaS的不同特点,存在不同的访问控制技术和关注点。随着网络的定义不断延展和云计算业务的不断演进,云计算网络访问控制能力也在不断发展,演化出当前还有许多问题仍然悬而未决。随着云原生化、多云不断发展,云环境下的网络访问控制技术仍将进一步发展。

参考文献

[1] General Access Control Guidance for Cloud Systems (nist.gov)

内容编辑:系统架构部 彭晓军

责任编辑:创新研究院 陈佛忠

本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。

声明:本文来自绿盟科技研究通讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。