使用F5 VELOS构建安全的多租户架构

简介

企业在满足日益增长的内容交付需求的同时,也在着力控制企业数据中心的成本。随着这些组织力求充分利用现有基础设施,确保数据安全与合规已成为首要任务。许多组织的工作负载分布在本地、托管和多云部署环境中,因此需要在所有部署环境中实施一致的数据安全策略。F5全新的现代化架构支持组织在私有云和公有云中以模块化方式部署F5软件,同时保留现有的硬件加速能力,从而加快数字化转型计划。F5基于微服务的基础设施支持应用交付和多租户功能,并通过全面的安全机制隔离租户。这些都是F5 Adaptive Apps愿景的基石。

数据安全问题影响着三分之一的服务提供商。随着数据泄露事件增多,以及因监管和合规问题而被处以的罚款增加,托管服务提供商希望向下游客户保证,其网络流量不会被托管在同一物理设备上的其他客户查看或篡改。

F5的现代化架构兼具首席信息官(CIO)所需的高性能特性,以及首席安全官和首席信息安全官(CSO/CISO)所要求的稳健高安全性。

组件

定义

CMP

F5® Clustered MultiprocessingTM(CMP)分布式架构,可扩展CPU、核心和刀片服务器

VELOS

新一代应用交付控制器(ADC)解决方案,基于云规模架构构建,支持在本地部署或托管场景中,通过机箱式系统运行流量管理应用。

设备

一种非模块化硬件平台,端口和CPU核心数量固定,也可在其上部署租户实例

F5OS

F5OS是随VELOS推出的新平台层软件。F5OS采用微服务架构,并向管理员隐藏其底层细节。平台层包括基本系统设置、机箱许可、网络以及机箱分区配置。

机箱分区

机箱分区是VELOS机箱内的一组刀片。这是VIPRION中不具备的新概念,可将机箱内的一组刀片完全分隔并隔离。租户在机箱分区内创建,也可实现隔离。机箱分区与TMOS管理分区没有任何关系。

租户

前几代BIG-IP平台(如VIPRION)通过F5® Virtual Clustered MultiprocessingTM(vCMP)技术支持虚拟化和多租户。VELOS也支持虚拟化和多租户,但不使用vCMP。VELOS采用更现代的微服务架构,并默认内置多租户功能。与vCMP类似,可以配置多个独立租户,每个租户均可运行不同的软件版本。

SuperVIP/裸机

SuperVIP是指VIPRION中的一种裸机配置,增加刀片即可提升计算容量。CMP技术用于将传入负载分配到所有可用处理器。VELOS默认支持多租户,可通过配置单个大型租户实现类似的用例;添加更多刀片时,该租户可像VIPRION一样动态扩展。

F5的现代架构

VIPRION等上一代系统通过vCMP技术提供虚拟化解决方案。vCMP包含两个用于支持多租户的组件:vCMP主机层和vCMP来宾层。vCMP主机功能本质上是一种定制的虚拟机监控程序,使F5平台能够运行BIG-IP虚拟实例,这些实例称为来宾。

从配置和部署的角度来看,VELOS提供了与vCMP类似的模型,但采用了不同的技术。VELOS使用“租户”或“多租户”来描述机箱内的虚拟化功能。VELOS中的F5OS平台层并非虚拟机监控程序,而是真正的微服务层,其底层采用Kubernetes框架进行管理。F5OS利用KubeVirt技术实现多租户,使BIG-IP实例能够以虚拟机(VM)的形式在微服务层上运行。这样,客户无需改变租户管理方式,即可将现有BIG-IP实例(即来宾实例)迁移到VELOS租户。

VELOS架构还支持下一代BIG-IP软件BIG-IP Next。BIG-IP实例不再作为虚拟机运行在容器化环境之上,BIG-IP Next则以一组容器的形式在原生容器环境中运行。VELOS机箱支持的租户可以是在F5OS上运行的BIG-IP with TMOS和容器化BIG-IP Next,从而在同一平台上实现无缝测试和版本迁移。

VELOS中的租户配置与预配vCMP客户机几乎完全相同。管理员为租户指定名称,选择要运行的软件版本,并分配vCPU和内存资源。与vCMP客户机一样,VELOS租户使用专用的CPU和内存资源。

机箱分区

VELOS通过机箱分区功能提供额外的隔离层,管理员可对刀片进行分组,并将其相互隔离。每个刀片可单独构成一个隔离的机箱分区,也可与其他刀片组合成更大的机箱分区,最多可包含机箱内的全部刀片。机箱分区提供额外的隔离层,涵盖物理网络。在vCMP中,所有访客均可访问主机层的物理网络,但可通过VLAN成员资格限制访问。借助VELOS多租户和机箱分区,机箱分区内的租户只能访问其所在机箱分区内的物理网络,无法访问其他机箱分区内的网络。与vCMP一样,租户仍受VLAN限制,但机箱分区可在更低层进一步实现隔离。VELOS还通过分隔管理员访问来进一步隔离机箱分区,使每个机箱分区能够自行管理用户访问和身份验证。

机箱管理员角色

机箱管理员可以访问系统控制器的带外管理接口,还可以配置机箱分区,并分配访问这些分区的用户权限。

机箱分区管理员角色

机箱分区管理员负责为分区中的刀片配置带内网络基础设施,包括接口、链路聚合组和VLAN。他们还可以在分配给自己的机箱分区中部署和管理租户生命周期。机箱分区管理员无法访问系统中的其他机箱分区,因此不仅能在租户层实现安全隔离,还能在更底层的网络层实现安全隔离。

租户管理员角色

租户管理员负责配置租户内的服务。租户管理员可以使用BIG-IP租户提供的所有管理功能。这类似于对vCMP来宾的访问权限。该权限独立于底层平台的访问权限,并在TMOS实例(即租户)内进行控制。

“真正的微服务层,底层采用Kubernetes框架进行管理。”

借助现代架构实现安全防护和应用扩展

基于微服务的现代架构有助于希望推动数据中心数字化转型的组织。数字化转型和数据中心现代化旨在提升创新能力和快速响应能力。为满足不断增长的应用交付需求,越来越多的服务提供商和企业数据中心运营商采用本地部署、托管和多云模式来部署工作负载,因此,提高资源利用率和加强数据安全变得日益重要。F5基于微服务的架构可帮助企业提高资本支出(CapEx)的利用效率,同时确保符合数据安全标准。

部署周期较长、容量扩展受限和数据安全漏洞是企业面临的主要问题。企业持续投资于自动化和远程监控技术,以减少人为错误。

对于服务提供商而言,做好5G准备以及提升用户和网络性能是首要任务。此外,无论是当前还是在从3G或4G LTE迁移至5G边缘的过程中,都需要具备资源扩展能力,以应对不断增加的负载,同时确保应用和资源相互隔离。

F5开发了VELOS机箱系统,帮助企业提升应用性能、容错能力和API管理能力。

F5OS与VELOS平台可提高资源利用率和自动化能力,并提供纵深防御安全机制。为提高资源利用率,VELOS支持在单台设备上运行多个租户集群。新的机箱分区方法结合精细的资源分配,可简化运维模式。API优先架构可帮助客户自动部署BIG-IP系统,简化应用管理和自动化工作。VELOS支持多层应用安全机制,以限制漏洞利用的影响范围。VELOS还支持结合物理和软件纵深防御安全机制,以保护进程、保障访问控制安全并隔离网络。

托管服务提供商还发现,租户安全机制可让其下游客户独立管理各自服务的隔离分段。例如,一个下游客户可能会通过同一分区中运行的另一个租户实例,运行F5 Advanced Web Application FirewallTM(WAF)或BIG-IP® Advanced Firewall ManagerTM(AFM)来保护其应用,而另一个客户可能会运行F5 BIG-IP Access Policy Manager (APM),为其网络服务提供访问控制和身份验证。

“VELOS平台可提高资源利用率,提供自动化能力和纵深防御安全保障。”

VELOS系统安全

VELOS的各个方面都融入了安全设计。在VELOS的设计和开发过程中,F5产品开发与安全团队检查了所有攻击面并进行了威胁建模,这是F5历史上覆盖范围极广的一次安全评估。

平台安全

机箱分区是F5提供的多租户解决方案之一。通过机箱分区,客户可以在单个刀片级别创建分区,将多个刀片组合为一个统一管理的实体。每个机箱分区都有独立的管理堆栈和数据网络连接,从而隔离托管在不同分区上的租户。

F5OS平台层利用安全上下文约束(SCC)配置文件和安全计算(seccomp)模式,在机箱分区内运行的应用与底层硬件之间实现隔离。此外,默认的安全增强型Linux(SELinux)设置会限制租户服务访问主机资源。身份验证和用户管理通过创建相互独立的机箱管理员、分区管理员和租户管理员角色,限制对应用的访问。基于只读文件系统构建的主机层可进一步防止任何租户突破隔离。

可信平台模块

可信平台模块(TPM)(ISO/IEC 11889)是一项关于安全加密处理器的国际标准。安全加密处理器是一种专用微控制器,旨在通过集成的加密密钥保护硬件。F5使用TPM 2.0芯片组、Linux可信启动(tboot)和Intel TXT技术实现TPM监管链和证明。每次系统启动时,TPM芯片都会执行特定度量。这些度量包括对大部分BIOS代码、BIOS设置、TPM设置、tboot、Linux初始RAM磁盘(initrd)和Linux内核进行哈希计算(VELOS初始版本仅验证BIOS),使被度量模块的替代版本难以生成,并确保相应哈希值产生相同的度量结果。可以使用这些度量结果与已知良好值进行比对验证。

两个系统控制器以及所有刀片(BX110)均配备TPM 2.0芯片组。在VELOS初始版本中,系统会在启动时自动执行本地证明,并可在命令行界面(CLI)中显示结果。未来,F5将增加远程证明以及针对Linux内核和initrd的证明。

设备模式

管理员可以启用设备模式,进一步锁定VELOS系统。设备模式是一种专为满足联邦机构和金融行业安全要求而设计的安全模型。设备模式会移除对底层系统shell的访问权限,从而大幅增加脚本执行的难度。此外,还会移除对底层系统root账户的访问权限,强制所有用户通过身份验证系统进行访问。在VELOS中,可以为F5OS平台层以及每个已配置的租户启用设备模式。管理员可以在系统控制器级别、各机箱分区以及各租户中启用设备模式。与某些VIPRION环境不同,此模式由各级别的配置选项控制,而非通过许可证控制。

回顾一下,主要的平台安全功能包括:

  • 使用机箱分区在机箱内部实现分离与隔离
  • 机箱分区隔离,将访问权限限制为特定用户组
  • 通过可信平台模块(TPM)实现硬件安全
  • 设备模式,可防止脚本执行和root权限利用
  • 签名验证,仅允许使用经F5签名的软件映像

这些功能可保护平台层免受外部威胁向量的影响。租户本身也有各自的安全子系统。

多租户环境中的安全性

使用多租户功能时,租户之间的隔离成为首要关注事项。无论是服务提供商还是企业客户,只要在同一设备上托管多个租户,都需要隔离不同租户拥有的资源。F5通过提供多层安全配置,确保租户之间的安全。

只能部署F5可信租户服务,例如BIG-IP Local Traffic ManagerTM (LTM)、BIG-IP DNS (GTM)和BIG-IP Advanced WAF,从而尽可能缩小威胁面。签名验证有助于授权下载和安装F5服务镜像。如果签名验证失败,软件安装将终止,从而消除恶意活动试图错误配置资源的风险。

通过SCC配置文件和seccomp模式等多种安全机制,实现租户与进程、网络和文件系统等主机层资源之间的隔离。每个租户都有唯一的租户ID,用于流量隔离。租户寻址、IP表配置和广播域隔离共同实施租户隔离。

每个租户都提供基于角色的访问控制(RBAC)系统,用于控制用户对密钥、应用、安全策略、审计日志、防火墙规则等资源的访问。因此,可将特定租户分配给不同的下游客户或业务部门,并确保其凭据相互隔离。以这种方式部署租户时,即使用户账户遭到入侵,影响也仅限于单个特定租户。每个租户都在容器化环境之上运行一个TMOS操作系统实例,因此在安全性方面优于vCMP guest。要点包括:

  • 签名验证仅允许使用由F5签名的软件映像
  • MACVLAN接口封装刀片间的租户流量,限制同一刀片上不同租户之间的流量可见性
  • 平台层通过隔离租户,为分区管理员和租户管理员提供相互独立的访问权限
  • Seccomp容器安全
  • 对所有应用服务强制实施SELinux策略

这些安全控制措施相互配合,为租户提供多层安全防护。

网络安全与隔离

平台层隔离

新的F5OS平台层与带内流量网络和VLAN完全隔离。此隔离设计确保只能通过带外管理网络访问该平台层。事实上,系统控制器和机箱分区均未分配带内IP地址;只有租户拥有带内管理IP地址和访问权限。

这样,客户便可运行安全且严格锁定的带外管理网络,对访问实施严格限制。下图显示,带外管理访问通过系统控制器进入机箱,系统控制器为机箱分区和租户提供连接。随后,该带外网络在机箱内部扩展,用于管理。请注意,所有带内地址均配置在租户本身,而非F5OS平台层。

机箱分区隔离

每个机箱分区都是一个独立实体,拥有各自的一组本地或远程用户及身份验证机制。每个分区均通过专用的带外IP地址进行管理,并提供独立的CLI、GUI和API访问方式。可将机箱分区专门分配给特定组,该组成员只能访问其所属分区,无法访问系统中的其他机箱分区。这种隔离级别是VIPRION所不具备的。以下是一些示例。可以在不同机箱分区之间设置服务链,但由于这些分区在机箱内高度隔离,因此需要通过外部连接将其互联。

除了管理访问完全隔离且各自独立外,带内网络也在机箱分区内配置,并完全限定在该分区中。每个机箱分区都有自己的一组网络组件,例如PortGroup、VLAN、链路聚合组(LAG)和接口。这意味着无法从一个机箱分区访问或查看另一个机箱分区内的网络。

网络级隔离也通过位于双系统控制器中的集中式交换矩阵实施。在VELOS系统中,每个刀片均通过多条链路连接到集中式交换矩阵,以实现冗余并增加带宽。每个BX110刀片均配有2条100 Gb背板连接(分别连接到一个系统控制器),并将其绑定为一个链路聚合组(LAG)。这种星形布线拓扑可在所有刀片之间提供快速、可靠的背板连接,同时实现网络层的完全隔离。

创建机箱分区时,管理员会为其分配一个或多个刀片服务器,这些刀片服务器随后将与机箱中的所有其他刀片服务器隔离。系统会自动为集中式交换矩阵配置基于端口的VLAN和VLAN标记,以强制隔离各机箱分区。下图直观展示了这种隔离的实施方式。

Network security与隔离

为说明机箱分区之间的隔离程度,下图展示了两台VELOS机箱,每台机箱均包含多个机箱分区。由于带内网络资源不共享,每个机箱分区都必须具备各自的带内网络连接,以及两台机箱之间用于高可用性互连的网络连接。不同机箱分区之间无法访问接口、VLAN或LAG。

“F5检查了所有攻击面并对其进行了威胁建模,这是F5有史以来覆盖范围最广的安全评估。”

结论

随着组织采用基于微服务的应用部署策略,以提高资源利用率并实现端到端自动化和编排,需要评估这些策略如何与多租户要求相结合,以及如何全面保障安全。F5的现代架构提供差异化的高性能微服务解决方案,可同时满足安全和多租户需求。

------------------

安全组

VELOS安全功能

平台层安全

  • 使用机箱分区在机箱内实现分离与隔离
  • 通过可信平台模块(TPM)实现硬件安全
  • 设备模式可阻止脚本执行和root权限利用
  • 默认SELinux模式会限制租户服务访问主机资源
  • 主机层以虚拟机形式在容器内运行,限制租户突破隔离进入主机层

租户安全

  • 签名验证,仅允许使用由F5签名的软件映像
  • MACVLAN接口封装刀片间的租户流量,限制同一刀片上不同租户之间的流量可见性
  • 平台层通过隔离租户,为分区管理员和租户管理员提供相互独立的访问权限
  • Seccomp容器安全
  • 对所有应用服务强制实施SELinux策略

Network security与隔离

  • 平台层与带内流量隔离,只能通过带外管理网络访问
  • 机箱分区采用基于用户的身份验证系统,并通过专用带外IP地址进行管理
  • 机箱分区相互隔离,每个分区均通过自己的网络连接接入带内网络

------------------

F5深知安全性对于基于微服务的环境至关重要。F5对平台和网络连接进行了广泛的威胁模型评估,并据此构建了采用纵深防御策略和主动安全态势的安全模型。VELOS结合平台层隔离、机箱分区和集中式交换矩阵方法,为多租户环境中的应用提供隔离。

发布于2024年4月25日