安全检测服务动态接入虚拟网络的方法

2017-01-21 16:08尹振鹤
软件导刊 2016年12期
关键词:网络安全

摘 要:随着计算机网络的迅速发展,网络安全问题日益突出,而传统的安全检测工具无法在接入云计算虚拟网络的环境下为用户进行安全检测。研究了安全检测服务动态接入虚拟网络的方法,该方法可实现在原有虚拟网络环境下系统检测工具的虚拟化,并可并行地为多个不同区域的租户进行安全检测服务,从而降低资源消耗,有效提升安全检测效率。

关键词:网络安全;安全检测服务;动态接入;虚拟网络

DOIDOI:10.11907/rjdk.162152

中图分类号:TP393

文献标识码:A文章编号:1672-7800(2016)012-0141-03

0 引言

随着计算机技术的普及,作为现代计算机网络重要组成部分的虚拟网络(VPN)技术也得到了不断发展。同时,网络安全问题和隐患逐渐出现。为避免不必要的损失,计算机网络的安全保障问题显得相当重要。基于传统的安全检测工具无法在接入云计算虚拟网络环境下为用户进行安全检测的问题,本文对安全检测服务动态接入虚拟网络的方法进行研究。首先,搭建安全检测服务资源池,利用安全检测服务多进程化和网络功能虚拟化(NFV)技术实现安全检测服务器并行多个服务进程;其次,借助软件定义网络(SDN)技术使安全检测服务器动态接入虚拟网络,实现了安全检测服务动态、按需接入用户网络并提供安全服务。该方法可以有效提升安全检测效率,同时实现为多用户并行地提供安全服务。

1 安全系统设计

1.1 总体布局

云计算网络环境的最大特点是虚拟多域,要实现在动态网络环境下并行地为多个隔离网络域的用户提供安全检测服务,可以从两方面入手:①搭建动态任务进程,对不同的虚拟网络资源进行监测,如虚拟端口、虚拟交换机与虚拟链路等;②通过附加通信策略的方式,保障虚拟网络检测服务和目标区域的网络连通及不同隔离区域的网络隔离[1]。因此,利用SDN动态编程,借助资源管理控制器动态调度虚拟网络资源,搭建满足用户要求可连接目标子网的虚拟路径,并建立安全检查任务,从而实现基于SDN的安全检测服务动态接入虚拟网络。基于虚拟网络资源,借助SDN扩展控制器创建安全检测任务以及目标子网通信策略,同时传递到对应的策略加载点,使检测任务正确接入目标子网。系统架构如图1所示。

云计算虚拟网络安全检测系统由控制单元、安全服务代理、任务运行空间、虚拟网络接入组件4部分构成,采用单安全服务引擎、多进程任务的服务方式在多域网络环境下进行安全服务,各部分的具体功能为:①控制单元:包括SDN控制器和资源管理控制器,可管理、调度安全任务,建立并管理虚拟网络资源以及传递策略;②安全服务代理:合理调配任务运行空间及虚拟网络接入组件;③任务运行空间:即安全检测任务资源池,具备独立网络资源(包含路由信息、地址解析协议等)、安全检测任务和网络运行环境,可以并行支持多个用户的虚拟机服务;④虚拟网络接入组件:主要任务是确保安全检测任务顺利接入目标虚拟机网络,并保障不同区域的网络隔离。

1.2 任务进程

用户发出请求,控制单元收到请求后,调配资源管理控制器和SDN控制器;资源管理控制器借助OVSDB和自定义协议(SDP)向安全服务代理传递创建安全检测资源和虚拟网络资源的需求;安全服务代理接收到任务需求后,搭建不同的虚拟网络组件,实现目标网络或主机的安全服务[2]。SDN控制器借助OpenFlow和SDP协议向任务运行空间和虚拟交换机传递通信策略。

1.3 过程初始化

当系统接收到用户的检测请求后,会发起一系列安全检测服务初始化,完成检测任务到目标虚拟网络的连通。初始化进程主要包括创建并配置虚拟网络资源、安全检测资源,并进行通信策略的传递。为满足不同用户重复IP虚拟机的检测需求,需进行目标IP地址虚拟化,即将目标虚拟机IP地址映射为虚拟IP地址,通过控制虚拟系统IP地址来确保任务IP地址不重复,借助虚拟IP地址资源池执行检测任务[3]。初始化进程分为6步:①服务代理接收并解析安全检测命令,得到相关目标虚拟网络和虚拟机信息;②在任务运行空间进行任务比对,若相关空间不存在,则需创建该任务空间;③搭建虚拟端口和虚拟链路,虚拟链路连接任务运行空间和软件交换机;④SDN控制器将通信策略传递给软件交换机;⑤任务代理在虚拟IP资源池分配虚拟端口的IP资源,搭建目标虚拟网络接口;⑥在任务运行空间建立检测任务,对虚拟机IP进行地址虚拟化,从虚拟IP资源池获得目标IP,借助本地路由连接到相应的虚拟网络接口。

2 安全检测服务

2.1 通信策略

为了保障安全检测任务与目标子网的联通及不同区域检测任务的隔离,该系统定义了ARP缓存策略、路由策略和软件交换机转发策略(流表)等安全任务接入和隔离策略。通过策略传递使安全检测任务动态接入目标子网,实现并行安全检测。

定义1:本地ARP缓存AC(ARP ache)={virt_IP,virt_mac,veth}。其中virt_IP指虚拟目标IP, virt_mac指虚拟目标mac,veth指出口虚拟以太网端口(VETH)设备。

定义2:本地路由RP(Route Policy)={virt_IP,mask,veth}。其中virt_IP指虚拟目标IP,mask指子网掩码,veth指接入目标网络的VETH设备。

定义3:数据包传送至目标网络流表SFE(Send Flow Entry)={match:dl_src=veth_mac,action:set_tag(tag),modnw_dst(vm_ip), mod_dl_dst(vm_mac)}。其中dl_src=veth_mac指匹配源为VETH设备的数据帧,set_tag(tag) 指执行数据包标识tag,mod_nw_dst(vm_ip) 指将虚拟目标IP映射为虚拟机IP, mod_dl_dst(vm_mac) 指将虚拟目标MAC映射为虚拟机MAC。

定义4:返回数据包送至安全任务流表RcFE(Receive Flow Entry)={match:nw_dst=veth_ip,action:remove_tag(tag),mod_nw_ src(virt_ip),mod_dl_src(virt_mac)}。其中nw_dst=veth_ip指VETH设备IP的数据包,remove_tag(tag) 指执行去掉数据包标识,mod_nw_src(virt_ip) 指源IP映射为虚拟IP,mod_dl_src(virt_mac) 指源MAC映射为虚拟MAC。

定义5:虚拟机流量重定向RdFE (Redirect Flow Entry )={match:nw_dst=veth_ip,action:mod_dl_dst(veth_mac)}。其中nw_dst=veth_ip指VETH设备IP的数据包,mod_dl_dst(veth_mac) 指目标MAC映射为VETH设备。

2.2 位置

位置与策略加载点相关,决定了安全检测接入系统的方式。由图1的系统架构可知,策略加载位置由安全检测任务运行空间、虚拟网络接入组件及虚拟网络设备构成[4]。

2.3 检测流程

整个安全服务检测流程从数据流角度而言,即检测任务发起数据包,经由检测设备、匹配策略到目标虚拟机收到数据包终止[5]。例如,租户虚拟机(VMA)的安全检测数据流如下:

(1)安全服务进程发送数据包流程:结合本地虚拟网络接口地址和目标虚拟机虚拟地址,安全任务进程将任务通信流进行封装,封装通信数据包地址信息是SRC:=(vport. mac,vport. ip),DST=(vir. mac,vir. ip) ,TAU= null。其中vport.ip和vir.ip可以预选虚拟地址资源池,该地址禁止租户子网配置使用;虚拟交换机接收到数据包时,结合之前的租户虚拟机VLAN TAU ID信息对安全任务数据包进行标记,并使目的地址映射返回真正的目标虚拟机地址,同时将信息传递至底层网络链路,数据包地址信息是SRC=(vport. mac, vport. ip), DST =(vm. mac,vm. ip),TAU=ID;目的地址到达接入层虚拟交换机时,对相同的安全服务数据包采用VLAN TAU标记,之后对数据流进行去TAU处理,并传送至目标虚拟机,数据包地址信息是SRC= (vport.mac,vporr.ip),DST=(vm. mac,vm. ip),TAG=null。

(2)安全服务进程接收数据包流程:因设置的任务进程和虚拟机处于不同网络中,需采用网关地址回复数据包,结合本地地址及储存的安全服务进程地址,虚拟机对回复信息进行封装,数据包回复信息是SRC=(vm. mac,vm. ip),DST=(gw. mac,vport.ip),TAG=null;当虚拟交换机接收到数据包时,采用RdFE规则对安全任务进程地址数据包进行二层标记,同时改写目的MAC地址,并采用重定向方式传递至安全服务进程的vport虚拟网络接口,数据包信息是SRC=(vm. mac,vm. ip),DST=(vport. mac,vport. ip),TAU=ID;当安全服务进程连接的虚拟交换机接收到数据包时,采用RIFE规则把目标IP地址的源IP和源MAC映射成虚拟IP和MAC地址,之后进行去TAU信息处理,通信流回复完毕,数据包信息是SRC=(vm. mac, vm. ip), DST=(vport.mac,vport. ip),TAU=null。

其中,VMA的真正地址是(vm.mac, vm. ip ),对应的任务运行空间虚拟地址为(vir. mac, vir. ip);借助VETH设备搭建的接入任务运行空间的虚拟接口是vport,详细地址为(vport. mac, vport. ip);虚拟网络网关地址为(gw. Mac.)。

3 测验结果及分析

3.1 基本环境

本实验使用了2. 6 UHz CPU、8 UB内存、千兆以太网卡的物理服务器4台,普通千兆以太网交换机及Ubuntu 14. 04版本的操作系统。

3.2 测试内容

(1)有效性测试:为了使实验结果更具代表性,选用两个租户T1、T2,搭建虚拟子网及配置虚拟机VM1、VM2。初始化配置如表1所示,其中IP→VIP和MAC→VMAC分别代表真实到虚拟的映射。

实验结果显示,结果与预期数据包发送、接收过程一致,说明本方法有效。因地址虚拟化过程中相同IP映射的虚拟IP地址不同,所以运行安全任务时不会出现干扰问题,同时采用VI、AN通信流标记方法确保租户任务的隔离性。

(2)性能测试:本实验从资源性能消耗及扫描通信延时方面对系统性能进行测试,采用对比分析,将该方法和从虚拟机粒度方面进行安全扫描的方法进行对比。测试性能相同时,增加漏洞扫描租户数量,本方法和已有安全虚拟机方法测试的资源消耗情况如表2所示。

实验结果显示,采用安全虚拟机粒度进行漏洞检测服务时,选用增加虚拟机数量为多个用户服务,将导致资源消耗急剧增加。本方法因选用单引擎、多任务进程方式为用户服务,当用户增多时只需增加更多扫描任务进程即可,而且其资源消耗有限。与安全虚拟机方法相比,资源消耗可节省一半以上。

参考文献:

[1] 刘培.浅谈计算机网络安全中虚拟网络技术的作用[J].通讯世界,2015(11):313.

[2] 朱强,王慧强,马春光.虚拟网络可生存的启发式可靠映射算法[J].通信学报,2015(7):77-79.

[3] 李连峰.试论虚拟网络技术在计算机网络安全中的应用[J].电子技术与软件工程,2015(20):217.

[4] 尹振鹤.探究智慧城市建设中的网络安全建设——以徐州为例[J].电脑知识与技术,2015(27):37-39.

[5] 邹钰.基于网格的数据传输与复制技术研究[J].电脑知识与技术,2015(27):45-46.

(责任编辑:黄 健)

猜你喜欢
网络安全
网络安全知多少?
新形势下的特种设备网络安全防护探讨
新量子通信线路保障网络安全
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
网络安全与执法专业人才培养探索与思考
设立网络安全专项基金 促进人才培养
网络安全监测数据分析——2015年12月
网络安全监测数据分析——2015年11月