CN105337789A - 一种监控虚拟网络流量的方法和装置 - Google Patents

一种监控虚拟网络流量的方法和装置 Download PDF

Info

Publication number
CN105337789A
CN105337789A CN201410394892.8A CN201410394892A CN105337789A CN 105337789 A CN105337789 A CN 105337789A CN 201410394892 A CN201410394892 A CN 201410394892A CN 105337789 A CN105337789 A CN 105337789A
Authority
CN
China
Prior art keywords
packet
catching
monitoring
virtual machine
linuxbridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410394892.8A
Other languages
English (en)
Inventor
李陟
曲武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Venus Information Security Technology Co Ltd
Venus Info Tech Inc
Beijing Venus Information Technology Co Ltd
Original Assignee
Beijing Venus Information Security Technology Co Ltd
Beijing Venus Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Venus Information Security Technology Co Ltd, Beijing Venus Information Technology Co Ltd filed Critical Beijing Venus Information Security Technology Co Ltd
Priority to CN201410394892.8A priority Critical patent/CN105337789A/zh
Publication of CN105337789A publication Critical patent/CN105337789A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种监控虚拟网络流量的方法和装置,应用于KVM虚拟化环境中基于Linux?Bridge实现的虚拟网络,预先在虚拟网络的宿主系统上设置监控代理,并将宿主系统中的Linux?Bridge的工作模式设置为混杂模式;其中,监控代理用于捕获连接多台虚拟机的Linux?Bridge的二层数据包;该方法包括:监控代理捕获所有通过Linux?Bridge的二层数据包;监控代理判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。本发明通过监控代理在捕获到通过Linux?Bridge的二层数据包后,将需要进行安全监控的数据包发送给安全虚拟机进行安全检测,从而实现对虚拟网络流量进行监控。

Description

一种监控虚拟网络流量的方法和装置
技术领域
本发明涉及虚拟化技术和信息安全技术领域,尤指一种监控内核虚拟机(KVM,Kernel-basedVirtualMachine)虚拟化环境中基于LinuxBridge(Linux系统的网桥)实现的虚拟网络流量的方法和装置。
背景技术
云计算是计算机和互联网的又一次新的革命,它将计算和存储转移到了云端,用户可以通过使用轻量级的便携式终端来进行复杂的计算和大容量的存储。从技术的角度来看,云计算不仅仅是一种新的概念,并行计算和虚拟化是实现云计算应用的主要技术手段。由于硬件技术的快速发展,使得一台普通的物理服务器的所具有性能远远超过普通的单一用户对硬件性能的需求。因此,通过虚拟化的手段,将一台物理服务器虚拟为多台虚拟机,提供虚拟化服务成为了构建公有云和企业私有云的技术基础。
虚拟化在带来技术变革的同时,也提出了新的虚拟网络安全监控问题。传统的网络安全监控通常采用在安全域的网络边界、以及需要监听的安全域内的网络链路上旁路式部署网络安全监控产品,如入侵检测系统(IDS,IntrusionDetectionSystems)、安全审计系统等。虚拟化技术对网络工程的最大影响是使得传统的物理网络边界不再清晰的存在,从而无法找到网络安全域的网络流的物理汇聚点,也就使得传统网络安全监控产品无法找到合适的部署位置来保护虚拟网络安全域的边界安全。由于虚拟交换机的存在,使得连接在同一台虚拟交换机上的两台虚拟机之间的流量在未划分虚拟局域网(vlan,VirtualLocalAreaNetwork)或者存在软路由的情况下,不会被转发到物理网络上,这样即使镜像虚拟化服务器的全部物理端口网络流量,也无法监听这部分仅存在于虚拟网络上的流量。
使用安全虚拟机监听或者导出被监听流量是一种可行的监控虚拟网络中全流量(包括不被转发到物理网络上的流量)的方法,如趋势科技、启明星辰等安全公司都发布有利用安全虚拟机实现入侵检测的产品和方案。在VMware平台上,虚拟交换机可以配置混杂端口组,把安全虚拟机接入到该混杂端口组,从而实现监听到在虚拟交换机上交换的所有网络数据包。在Xen或KVM平台上,若使用Openvswitch组件作为虚拟交换机,则也可以通过端口镜像的方式,实现类似混杂端口组的功能。但是,目前市场上存在大量直接使用LinuxBridge作为虚拟交换机模块的KVM虚拟化环境,LinuxBridge并不支持镜像其上的数据包到特定虚拟端口上,因此安全虚拟机将无法直接部署在这样的环境上,而现有技术并没有提供监控基于LinuxBridge实现的虚拟网络流量的方法。
发明内容
为了解决上述问题,本发明提出了一种监控虚拟网络流量的方法和装置,能够在KVM平台上,虚拟网络层使用LinuxBridge作为虚拟交换机模块时,在不修改LinuxBridg和安全虚拟机的内核代码的前提下对虚拟网络流量进行监控。
为了达到上述目的,本发明提出了一种监控虚拟网络流量的方法,应用于内核虚拟机KVM虚拟化环境中基于LinuxBridge实现的虚拟网络,预先在虚拟网络的宿主系统上设置监控代理,并将宿主系统中的LinuxBridge的工作模式设置为混杂模式;其中,监控代理用于捕获连接多台虚拟机的LinuxBridge的二层数据包;
该方法包括:
监控代理捕获所有通过LinuxBridge的二层数据包;
监控代理判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。
优选地,所述监控代理判断出需要对捕获的数据包进行安全监控包括:
所述监控代理获取所述捕获的数据包的源媒体访问控制MAC地址和目的MAC地址,根据获得的源MAC地址和目的MAC地址确定发送和接收捕获的数据包的虚拟机所在的业务域,根据所述业务域对应的安全策略判断出需要对所述获得的设备发送的数据包进行安全监控。
优选地,该方法还包括:
所述监控代理判断出不需要对所述捕获的数据包进行安全监控,丢弃所述捕获的数据包。
本发明还提出了一种监控虚拟网络流量的装置,至少包括:
混杂监听模块,用于捕获所有通过LinuxBridge的二层数据包;
监听策略模块,用于判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。
优选地,所述监听策略模块还用于:
判断出不需要对所述捕获的数据包进行安全监控,丢弃所述捕获的数据包。
与现有技术相比,本发明包括:监控代理捕获所有通过LinuxBridge的二层数据包;监控代理判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。通过本发明的方案,监控代理在捕获到通过LinuxBridge的二层数据包后,将需要进行安全监控的数据包发送给安全虚拟机进行安全检测,从而实现对虚拟网络流量进行监控。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明的监控虚拟网络流量的方法流程图;
图2为本发明的监控虚拟网络流量的装置的结构组成示意图;
图3为本发明实施例中KVM宿主机上所有相关组件和模块的部署方式的示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
参见图1,本发明提出了一种监控虚拟网络流量的方法,应用于KVM虚拟化环境中基于LinuxBridge实现的虚拟网络,预先在虚拟网络的宿主系统上设置监控代理,并将宿主系统中的LinuxBridge的工作模式设置为混杂模式。
其中,监控代理用于捕获连接多台虚拟机的LinuxBridge的二层数据包。
其中,可以采用现有的方法将LinuxBridge的工作模式设置为混杂模式。
将LinuxBridge的工作模式设置为混杂模式后,当数据包到达宿主系统的内核时,将数据包转发给LinuxBridge,由于LinuxBridge的工作模式为混杂模式,LinuxBridge在处理数据包时,会对数据包进行一次克隆,并把克隆的数据包中的设备改为LinuxBridge,然后将数据包发送给内核;内核接收到数据包后,将数据包发送到宿主机的协议栈中。
该方法包括:
步骤100、监控代理捕获所有通过LinuxBridge的二层数据包。
本步骤中,监控代理可以采用系统函数ioctl获得LinuxBridge的接口索引,根据获得的接口索引采用bind机制判断数据包是否来自于LinuxBridge;如果是,则以原始套接字的方式实现对所有通过LinuxBridge的二层数据包的捕获。
步骤101、监控代理判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。
本步骤中,监控代理判断出需要对捕获的数据包进行安全监控包括:
监控代理获取捕获的数据包的源媒体访问控制(MAC,MediaAccessControl)地址和目的MAC地址,根据获得的源MAC地址和目的MAC地址确定发送和接收捕获的数据包的虚拟机所在的业务域,根据确定的业务域对应的安全策略判断出需要对获得的设备发送的数据包进行安全监控。
其中,可以采用现有方法判断是否需要对获得的设备发送的数据包进行安全监控,并不用于限定本发明的保护范围,这里不再赘述。
例如,表1为安全域成员表,如表1所示,监控代理获取到捕获的数据包的源MAC地址和目的MAC地址后,在监控代理所在物理机上保存的MAC地址表中查找获得的源MAC地址和目的MAC地址,若查找到,则在表1中查找源MAC地址和目的MAC地址对应的业务域,如果查找到的源MAC地址对应的业务域和目的MAC地址对应的业务域相同,则捕获的数据包为域内流量;如果查找到的源MAC地址对应的业务域和目的MAC地址对应的业务域不相同,则捕获的数据包为域间流量。
字段名 说明
MAC地址 域成员虚拟机的MAC
IP地址 域成员虚拟机的IP
业务域ID 业务域的标识
表1
表2为域流量转发规则表,如表2所示,根据在表1中查找到的源MAC地址和目的MAC地址对应的业务域在表2中查找该业务域对应的域内流量开关或域边界开关是否为on,如果捕获的数据包为域内流量,且域内流量开关为on,或者捕获的数据包为域间流量,且源MAC地址对应的业务域和目的MAC地址对应的业务域的域边界流量开关均为on,则判断捕获的数据包是否属于白名单表,如表3所示,如果属于,则说明不需要进行安全检测,可将捕获的数据包丢弃;如果不属于,则说明需要进行安全检测,将其发送给安全虚拟机进行安全检测。
字段名 说明
业务域ID 业务域标识
域内流量开关 是否导出域内流量的标识
域边界流量开关 是否导出域边界流量的标识
白名单流表 不导出属于白名单流表上的网络流
表2
字段名 说明
流表规则ID 流表规则标识
源MAC 数据包中的源MAC
源IP 数据包中的源IP
目的MAC 数据包中的目的MAC
目的IP 数据包中的目的IP
端口 数据包中的端口
表3
本步骤中,监控代理判断出不需要对捕获的数据包进行安全监控,丢弃捕获的数据包。
本发明的方法中,由于安全虚拟机在安装部署时,若安全虚拟机为包含检测模块的虚拟入侵检测系统(IDS,IntrusionDetectionSystems),由于这种安全虚拟机具有检测引擎,在其内部完成检测,安全虚拟机在获得数据包后就能直接进行处理,因此只需要将这种安全虚拟机的抓包网口与不连接在任何LinuxBridge的TAP设备相连;若安全虚拟机为流量采集器虚拟机,由于流量采集器虚拟机没有检测模块,需要把获得的数据包导出到外接的硬件物理设备上进行检测,所以还需要一个连接在LinuxBridge上的虚拟网卡用于导出流量,因此,除了将其抓包网口与不连接在任何LinuxBridge的TAP设备相连外,还需要把其导流网口连接到与LinuxBridge连接的TAP设备上。
安全虚拟机在安装部署时,不需要修改安全虚拟机和LinuxBridge的任何代码,只需将监控代理与安全虚拟机上不连接在任何LinuxBridge的TAP设备相连,那么二层数据包在被监控代理捕获后,转发到安全虚拟机抓包网口连接的TAP设备上,安全虚拟机的抓包网口即能够捕获这个数据包,并进行分析或者导出处理。
参见图2,本发明还提出了一种监控虚拟网络流量的装置,至少包括:
混杂监听模块,用于捕获所有通过LinuxBridge的二层数据包;
监听策略模块,用于判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。
本发明的装置中,监听策略模块还用于:
判断出不需要对捕获的数据包进行安全监控,丢弃捕获的数据包。
实施例
图3为KVM宿主机上所有相关组件和模块的部署方式的示意图,如图3所示,监控代理运行在KVM宿主机的用户态,其采用原始套接字(RAWSocket)的方式来从LinuxBridge1上监听二层数据包。
在部署安全虚拟机时,为安全虚拟机创建LinuxBridge2、TAP2、TAP3和TAP4这几个虚拟网络设备,其中TAP2连接在业务网络所在的LinuxBridge1上,用于为安全虚拟机提供管理接口;TAP3连接的vNIC3是安全虚拟机的抓包口,与其他环境不同的是数据包是从监控代理直接写入到TAP3设备的缓冲区中的,但对于安全虚拟机来说,这个过程是完全透明的,并不需要做任何的修改;TAP4用于给部分需要把抓取的流量导出到外部设备做进一步分析的安全虚拟机,因为要导出流量,为了不影响业务网络环境的吞吐能力,因此创建一个LinuxBridge2并绑定一块专门的物理网卡,用作流量导出。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。

Claims (5)

1.一种监控虚拟网络流量的方法,其特征在于,应用于内核虚拟机KVM虚拟化环境中基于LinuxBridge实现的虚拟网络,预先在虚拟网络的宿主系统上设置监控代理,并将宿主系统中的LinuxBridge的工作模式设置为混杂模式;其中,监控代理用于捕获连接多台虚拟机的LinuxBridge的二层数据包;
该方法包括:
监控代理捕获所有通过LinuxBridge的二层数据包;
监控代理判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述监控代理判断出需要对捕获的数据包进行安全监控包括:
所述监控代理获取所述捕获的数据包的源媒体访问控制MAC地址和目的MAC地址,根据获得的源MAC地址和目的MAC地址确定发送和接收捕获的数据包的虚拟机所在的业务域,根据所述业务域对应的安全策略判断出需要对所述获得的设备发送的数据包进行安全监控。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
所述监控代理判断出不需要对所述捕获的数据包进行安全监控,丢弃所述捕获的数据包。
4.一种监控虚拟网络流量的装置,其特征在于,至少包括:
混杂监听模块,用于捕获所有通过LinuxBridge的二层数据包;
监听策略模块,用于判断出需要对捕获的数据包进行安全监控,将捕获的数据包发送给安全虚拟机。
5.根据权利要求4所述的装置,其特征在于,所述监听策略模块还用于:
判断出不需要对所述捕获的数据包进行安全监控,丢弃所述捕获的数据包。
CN201410394892.8A 2014-08-12 2014-08-12 一种监控虚拟网络流量的方法和装置 Pending CN105337789A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410394892.8A CN105337789A (zh) 2014-08-12 2014-08-12 一种监控虚拟网络流量的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410394892.8A CN105337789A (zh) 2014-08-12 2014-08-12 一种监控虚拟网络流量的方法和装置

Publications (1)

Publication Number Publication Date
CN105337789A true CN105337789A (zh) 2016-02-17

Family

ID=55288101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410394892.8A Pending CN105337789A (zh) 2014-08-12 2014-08-12 一种监控虚拟网络流量的方法和装置

Country Status (1)

Country Link
CN (1) CN105337789A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254181A (zh) * 2016-08-16 2016-12-21 浪潮(北京)电子信息产业有限公司 虚拟交换机流量监控的方法、系统及虚拟交换机
CN106844144A (zh) * 2016-12-29 2017-06-13 广州凯耀资产管理有限公司 一种虚拟机安全监控方法
CN108123877A (zh) * 2016-11-28 2018-06-05 网宿科技股份有限公司 实现非本地网络流量获取的方法、系统及装置
CN109040125A (zh) * 2018-09-18 2018-12-18 郑州云海信息技术有限公司 虚拟机中报文过滤方法和装置
CN109413001A (zh) * 2017-08-15 2019-03-01 东软集团股份有限公司 对云计算系统内的交互数据进行安全保护的方法及装置
CN110708209A (zh) * 2019-08-28 2020-01-17 无锡华云数据技术服务有限公司 虚拟机流量采集方法、装置、电子设备及存储介质
CN111405590A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 一种虚拟化网元数据流量导出方法、装置和存储介质
CN112839052A (zh) * 2021-01-25 2021-05-25 北京六方云信息技术有限公司 虚拟网络的安全防护系统、方法、服务器及可读存储介质
CN112905303A (zh) * 2021-03-05 2021-06-04 深圳市网心科技有限公司 一种基于有线网卡的无感知网络桥接方法及其装置
CN114553798A (zh) * 2022-01-14 2022-05-27 奇安信科技集团股份有限公司 流量镜像方法、装置、电子设备、介质及产品
CN115118632A (zh) * 2022-06-21 2022-09-27 中电信数智科技有限公司 一种基于云网融合的主机丢包自动检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354530A (zh) * 2013-07-18 2013-10-16 北京启明星辰信息技术股份有限公司 虚拟化网络边界数据流汇聚方法及装置
CN103973578A (zh) * 2013-01-31 2014-08-06 杭州华三通信技术有限公司 一种虚拟机流量重定向的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973578A (zh) * 2013-01-31 2014-08-06 杭州华三通信技术有限公司 一种虚拟机流量重定向的方法及装置
CN103354530A (zh) * 2013-07-18 2013-10-16 北京启明星辰信息技术股份有限公司 虚拟化网络边界数据流汇聚方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254181A (zh) * 2016-08-16 2016-12-21 浪潮(北京)电子信息产业有限公司 虚拟交换机流量监控的方法、系统及虚拟交换机
CN108123877A (zh) * 2016-11-28 2018-06-05 网宿科技股份有限公司 实现非本地网络流量获取的方法、系统及装置
CN106844144A (zh) * 2016-12-29 2017-06-13 广州凯耀资产管理有限公司 一种虚拟机安全监控方法
CN109413001B (zh) * 2017-08-15 2021-06-22 东软集团股份有限公司 对云计算系统内的交互数据进行安全保护的方法及装置
CN109413001A (zh) * 2017-08-15 2019-03-01 东软集团股份有限公司 对云计算系统内的交互数据进行安全保护的方法及装置
CN109040125A (zh) * 2018-09-18 2018-12-18 郑州云海信息技术有限公司 虚拟机中报文过滤方法和装置
CN111405590A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 一种虚拟化网元数据流量导出方法、装置和存储介质
CN110708209A (zh) * 2019-08-28 2020-01-17 无锡华云数据技术服务有限公司 虚拟机流量采集方法、装置、电子设备及存储介质
CN112839052A (zh) * 2021-01-25 2021-05-25 北京六方云信息技术有限公司 虚拟网络的安全防护系统、方法、服务器及可读存储介质
CN112839052B (zh) * 2021-01-25 2023-02-03 北京六方云信息技术有限公司 虚拟网络的安全防护系统、方法、服务器及可读存储介质
CN112905303A (zh) * 2021-03-05 2021-06-04 深圳市网心科技有限公司 一种基于有线网卡的无感知网络桥接方法及其装置
CN112905303B (zh) * 2021-03-05 2024-04-09 深圳市网心科技有限公司 一种基于有线网卡的无感知网络桥接方法及其装置
CN114553798A (zh) * 2022-01-14 2022-05-27 奇安信科技集团股份有限公司 流量镜像方法、装置、电子设备、介质及产品
CN115118632A (zh) * 2022-06-21 2022-09-27 中电信数智科技有限公司 一种基于云网融合的主机丢包自动检测方法
CN115118632B (zh) * 2022-06-21 2024-02-06 中电信数智科技有限公司 一种基于云网融合的主机丢包自动检测方法

Similar Documents

Publication Publication Date Title
CN105337789A (zh) 一种监控虚拟网络流量的方法和装置
JP6335363B2 (ja) 仮想クラウドインフラストラクチャへの仮想セキュリティ装置アーキテクチャの提供
US11902120B2 (en) Synthetic data for determining health of a network security system
EP2845350B1 (en) Method and apparatus for providing tenant information for network flows
US9733973B2 (en) Automatically determining sensor location in a virtualized computing environment
CN104301321B (zh) 一种实现分布式网络安全防护的方法及系统
CN103688505B (zh) 虚拟化环境中的网络过滤
CN103368768B (zh) 混合云环境中自动缩放网络覆盖的方法、装置及设备
CN103354530A (zh) 虚拟化网络边界数据流汇聚方法及装置
CN104780088A (zh) 一种业务报文的传输方法和设备
CN104580120A (zh) 一种可按需服务的虚拟化网络入侵检测方法和装置
US11356362B2 (en) Adaptive packet flow monitoring in software-defined networking environments
CN106385365B (zh) 基于开放流Openflow表实现云平台安全的方法和装置
CN104618246A (zh) 一种面向xen虚拟化环境的网络拓扑发现方法
CN104683165A (zh) 一种Xen虚拟化环境下虚拟机网络数据的监控方法
CN105827629A (zh) 云计算环境下软件定义安全导流装置及其实现方法
CN108234223A (zh) 一种数据中心综合管理系统的安全服务设计方法
Yang et al. Implementation of network traffic monitor system with SDN
JP6036506B2 (ja) 障害影響範囲を特定するためのプログラム及び情報処理装置
CN107249038A (zh) 业务数据转发方法及系统
CN113630301A (zh) 基于智能决策的数据传输方法、装置、设备及存储介质
CN107210969A (zh) 一种基于软件定义网络的数据处理方法及相关设备
Mohammad et al. A performance study of vm live migration over the wan
US20210029004A1 (en) Packet event tracking
CN107205007A (zh) 一种云环境下Web防火墙透明模式数据流传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160217