新一代弹性虚拟化安全架构

标签:
虚拟机虚拟化弹性架构it |
分类: 安全 |
在云计算数据中心的建设过程中,单个租户的业务需求会不断的变化,其对于存储、计算、网络等资源的占用可能需要进行实时的调整,以提升基础设施的利用效率。同时,随着租户规模的增加,多租户在最大化共享云计算基础资源的时候,如何保证多租户之间数据的安全隔离,成为了云计算用户关注的焦点。正是在这种环境下,虚拟化技术应运而生。在存储、计算、网络虚拟化逐步规模应用的阶段,安全产品作为网络侧的不可或缺的业务,能否匹配数据中心虚拟化技术要求,满足安全资源按需部署、快速交付、综合防护的关键需求,其虚拟化架构至关重要。
文/李明玉
一、 弹性虚拟化安全架构介绍
1. 当前安全虚拟化技术情况
基于虚拟路由的安全虚拟化方案
传统的防火墙产品在解决虚拟化问题时通常采用该方案。
在数据平面,围绕转发表,通过VRF或类似技术将转发相关的表项(如路由表、ARP表)分割成多个逻辑的表,实现报文转发的隔离;
在管理平面,为不同VFW(虚拟防火墙)相关联的管理员,实现管理的隔离;
在控制平面,需要针对每种业务逐一考虑虚拟化的改造,使其支持虚拟化。
这种虚拟化方案,本质上是一种多实例技术,是在已有非虚拟化的系统架构上,对一些主要安全业务进行多实例的改造,只能对个别安全业务实现部分虚拟化,对其他的安全业务难以进行多实例改造,系统可扩展性差。同时,由于方案缺乏统一的虚拟化架构支撑,虚拟化的控制粒度很难精确控制,如无法精确了解每个VFW的CPU、内存占用情况。
基于虚拟机的安全虚拟化方案
在业务向云计算迁移的过程中,数据和业务的安全性至关重要,基于虚拟路由的虚拟化问题也越来越突出,从而出现了包括基于虚拟机的虚拟化在内的安全虚拟化方案。
在该方案中, CPU、内存和I/O资源由底层的Hypervisor或Emulator实现模拟,VFW作为一个GuestOS运行在虚拟化的硬件环境中,因此,基于虚拟机的虚拟化从安全业务的角度来说,是一种完全的虚拟化方案,更容易部署和迁移,也避免了虚拟化后导致的部分功能缺失的问题。但是,基于VM的虚拟化通过Hypervisor或Emulator作为中间层,给上层构造了一个完全独立的虚拟硬件空间,每个GuestOS需要独立构造完成的操作系统和业务环境,由此也带来了一些问题。比如,单台物理设备/服务器上运行的VFW数量很少,报文转发时延加大等。使得这种方案更适合部署在VFW数量要求不多、业务性能不高的场景。
2. 弹性虚拟化安全架构
考虑到当前的虚拟化技术方案的技术存在的各种问题,结合嵌入式安全产品的实际情况,H3C提出了弹性虚拟化安全架构。这种安全架构本质上是一种基于容器的、分布式架构的1:N的虚拟化技术,通过弹性虚拟化技术,可以把一台物理防火墙虚拟成多台虚拟防火墙,多台虚拟防火墙共享物理防火墙的接口、CPU、内存、存储、硬件引擎等资源。多台虚拟防火墙相互独立,每个虚拟防火墙实例对外呈现为一个完整的防火墙系统,即独立的管理员、独立的日志系统、独立的安全策略、独立的组网策略等(如图1所示)。
http://www.h3c.com.cn/res/201305/20/20130520_1596726_image001_785026_30008_0.jpg
图1 1:N的虚拟化示意图
弹性虚拟化安全架构包括以下关键技术:
- MDC-Like安全虚拟化;
- Scale-out分布式架构;
- 安全虚拟化的IRF;
- 接口资源虚拟化;
- 分级多角色虚拟化管理。
二、 弹性虚拟化安全架构的实现
1. 系统架构可扩展
弹性虚拟化安全架构在设计上具有硬件无关性,因此有良好的可扩展性,可以灵活的支持多种不同的产品形态,覆盖不同场景下的用户需求。典型的产品形态包括以下三种。
全分布式防火墙:在这种形态中,系统由多个I/O单元、多个交换单元、多个控制引擎和多个安全处理引擎组成,各个处理引擎之间是主备/负载分担的关系。分布式防火墙可以通过增加引擎提升系统处理能力,比如,通过增加交换单元扩展系统实际交换容量,通过增加安全处理引擎扩展防火墙的吞吐量、并发连接、虚拟防火墙数量等。这种形态的产品通常适用于对安全业务性能要求较高的场景。
交换机/路由器安全业务板卡:在这种形态中,每块安全业务板卡上提供一个或多个安全处理引擎,可以由交换机/路由器的主控板统一管理各个安全引擎上的虚拟防火墙实例和安全业务。这种形态,可以利用以后的交换机/路由器空余槽位,在基础网络设备中灵活的扩展安全特性。
集中式防火墙:这种形态是分布式系统的一种简化形式,只包含一个安全处理引擎,适用于对系统性能、扩展性要求不高的场景。
2. MDC-Like安全虚拟化
MDC-Like安全虚拟化基于H3C MDC虚拟化技术,采用基于容器的虚拟化方案。基于容器的虚拟化方案是一种轻量级的虚拟化技术,在一个安全引擎内,通过唯一的OS内核对系统硬件资源进行管理,每个虚拟防火墙作为一个容器实例运行在同一个内核之上(如图2所示)。
http://www.h3c.com.cn/res/201305/20/20130520_1596727_image002_785026_30008_0.jpg
图2 MDC-Like安全虚拟化示意图
通过统一的OS内核,可以细粒度的控制每个虚拟防火墙容器对CPU、内存、存储等硬件资源的利用率,也可以管理每个VFW使用的物理接口、VLAN等资源,有完善的虚拟化资源管理能力。通过统一的调度接口,每个容器的所能使用的资源支持动态的调整,比如,可以根据业务情况,在不中断VFW业务的情况下,在线动态增加某个VFW的内存资源。
虚拟防火墙容器有自己独立的进程上下文运行空间,容器与容器之间的运行空间完全隔离,天然具备了虚拟化特性。容器中,运行的防火墙业务系统(包括管理平面、控制平面、数据平面)具备独立完整的业务功能。因此,从功能的角度看,虚拟化后的系统和非虚拟化的系统功能一致。
每个虚拟防火墙并不需要运行完整的操作系统,减少了由于完全虚拟化带来的内存开销。从性能的角度,每个VFW可以直接通过内核和物理硬件交互,避免了和虚拟设备交互代理的性能损耗。
3. Scale-out分布式架构
传统的虚拟防火墙技术受限于物理设备自身的CPU处理能力、内存容量、端口数量等多方面因素,部署中缺乏扩展性,很难满足业务发展的需求。基于Scale-out(横向扩展)方式的分布式架构,进一步提升了系统的虚拟化容量。所谓Scale-out,简单说是指通过增加系统处理引擎的数量提升系统性能。在全分布式的产品形态中,系统的安全引擎可以按需配置,从而支持虚拟防火墙的横向扩展,一台物理防火墙系统可以通过增加安全板卡,实现虚拟防火墙数量的线性提升。因此,虚拟化容量可以实现按需定制,并且不再受单个物理安全处理引擎的处理能力限制。
http://www.h3c.com.cn/res/201305/20/20130520_1596728_image003_785026_30008_0.jpg
图3 Scale-out分布式架构示意图
虚拟防火墙实例的部署过程与物理服务器上部署虚拟机类似:系统缺省防火墙管理员首先根据业务需要创建虚拟防火墙实例,并为该实例指定特定的安全引擎作为实际运行环境,并指定该虚拟防火墙实例所能够占用的CPU、内存等资源。
在这种分布式架构下,每个虚拟防火墙的实例所对应的容器运行在各自的安全处理引擎中,系统的主控引擎仅作为为统一的管理节点,对外提供管理接口(CLI、SNMP、NETCONF等),不需要参与实际的安全业务虚拟化处理,因此不会成为Scale-out的瓶颈。从而,一方面保证了系统具有足够的横向扩展能力,不受主控节点资源限制,另一方面,也避免了横向扩展给系统管理带来的负面问题,保持了和集中式系统类似的易管理性。
4. 安全虚拟化架构和IRF的集成
在支持分布式架构的基础上,与IRF技术无缝集成,从而实现在N:1虚拟化集群中的1:N虚拟化。在单台物理防火墙满配置所支持的虚拟防火墙数量不能满足需要时,通过IRF可以进一步扩展系统支持的虚拟防火墙实例容量。
http://www.h3c.com.cn/res/201305/20/20130520_1596729_image004_785026_30008_0.jpg
图4 安全虚拟化架构的和IRF集成示意图
多台分布式的防火墙单元通过IRF组成防火墙集群,由IRF的全局主控单元进行统一管理,全局主控单元可以统一管理IRF集群内的所有防火墙插卡的CPU、内存、接口等硬件资源、并分别响应的虚拟防火墙实例。
5. 接口资源虚拟化设计
防火墙通常部署在网络出口的位置,需要多个虚拟防火墙共用一条出口物理链路。在通常的防火墙虚拟化技术中,为了实现这个需求,往往需要把物理接口通过VLAN划分成多个子接口,在每个子接口上规划不同的网段。这就导致网络规划非常复杂。同时,在新增虚拟防火墙时,不得不配合调整上下游网络设备的配置,造成安全虚拟化业务部署难度加大。
http://www.h3c.com.cn/res/201305/20/20130520_1596730_image005_785026_30008_0.png
图5 接口资源虚拟化对比示意图
接口的虚拟化是指物理防火墙中的一个物理口(GE、10GE接口)或者逻辑口(聚合口、子接口)允许被多个虚拟防火墙使用。物理设备的一个接口同时分配给多个虚拟防火墙,该接口形式上被这些虚拟防火墙共享使用。这种方式中,被共享的接口在每个虚拟防火墙中,分别形成一个独立的逻辑接口实例,可以由虚拟防火墙级管理员各自配置接口的IP地址、路由协议、安全业务等。因此,这种接口虚拟化也称作接口的共享分配,支持虚拟化的接口类型包括三层物理口、二层物理口、聚合口、子接口、VLAN逻辑口等。
实际应用中,接口共享分配的虚拟化方式常用在多个虚拟防火墙实例共享一个Internet出口的场景,类似于图中的ge1/0/0.1接口:物理上,防火墙设备的一个接口和外网Internet出口路由器相连,采用接口共享分配的方式,为每个虚拟防火墙实例分别分配公网接口,使其具备独立的Internet接入能力。此外,通过接口共享,可以解决同一台物理设备内的多个虚拟防火墙之间的互访的组网场景。
系统级管理员根据虚拟防火墙业务的需要,采用接口虚拟化技术为虚拟防火墙分配所需的接口,从而组成了一台完整的虚拟防火墙设备。接口虚拟化可以很好的解决多个虚拟防火墙共享物理链路的组网需求,大大简化了部署难度。
6. 分级多角色虚拟化管理
物理防火墙虚拟化后分为一个缺省防火墙和多个虚拟防火墙,缺省防火墙无需创建,默认拥有物理防火墙的全部资源,包括CPU、内存、物理接口等。虚拟防火墙实例则可以根据业务需要可以动态创建、删除和迁移。
针对缺省防火墙和虚拟防火墙实例的管理需要,弹性虚拟化安全架构设计了基于分级的多角色虚拟化管理方法,每个管理设备的用户都会被分配特定的级别和角色,从而确定了该用户能够执行的操作权限。所谓分级别是指权限管理分为系统级和虚拟防火墙级。所谓多角色是指,通过基于角色的访问控制(Role-Based Access Control, RBAC)特性,可以定义管理员、操作员、审计员等不同角色,从而限定用户的管理能力范围。
概况来说,用户的级别限定了用户所能管理的资源、策略的范围,保证了不同虚拟防火墙实例之间的管理相互隔离;用户的角色限定了在自己的级别范围内能够执行的操作,可以满足虚拟防火墙内部实现了灵活、分权的管理策略。
用户级别 |
管理范围 |
系统级用户 |
可以管理整个系统的范围的资源 可以管理缺省防火墙的策略 可以定义缺省防火墙的角色、认证策略、用户 可以管理缺省防火墙的配置文件(导入/导出) 可以创建/删除虚拟防火墙,并为虚拟防火墙实例分配资源 |
虚拟防火墙级用户 |
可以管理本虚拟防火墙的策略 可以管理被虚拟防火墙的配置文件(导入/导出) 可以定义本虚拟防火墙的角色、认证策略、用户 |
表2 虚拟防火墙分级管理
分级别多角色的虚拟化管理支持虚拟防火墙独立管理自己的AAA策略,由本虚拟防火墙管理员自行配置认证机制、认证服务器等,而不需要系统级管理员干预。在多租户的数据中心中,不同的租户的用户管理策略可能有活动目录(Active Directory)、RADIUS、LDAP等各种不同的机制。因此,分级别多角色的虚拟化管理可以更好的支持这种场景下的虚拟化部署。
除此之外,虚拟化管理也支持配置文件的虚拟化:虚拟防火墙的各种网络配置、安全策略以及用户信息独立保存在配置文件中。虚拟防火墙级管理员级的管理员有权限管理本虚拟防火墙的配置文件,包括配置文件的导入导出等。通过配置文件的虚拟化,管理员可以很容易的实现虚拟防火墙级别的灵活迁移和快速部署。
三、 结束语
在以云计算、弹性计算为典型应用的虚拟化数据中心中,围绕着计算资源虚拟化,已随着虚拟化技术在云计算数据中心的部署逐步深入,安全资源的虚拟化对于运营商建设网络安全端到端虚拟化有着非常重要的作用。无论是单租户内部的虚拟化实例的资源限制和保障、或者是多租户之间的数据安全隔离和管理完全独立,及安全资源池性能的随需扩展等需求,相比较传统的安全虚拟化技术,新一代弹性虚拟化架构在实现方式上有了质的提升,通过合理部署该技术架构,将在简化网络运维,提升安全资源管理方面有积极的作用。