《一种在桌面虚拟化中防护洪水攻击的方法.pdf》由会员分享,可在线阅读,更多相关《一种在桌面虚拟化中防护洪水攻击的方法.pdf(13页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104363230 A(43)申请公布日 2015.02.18CN104363230A(21)申请号 201410650288.7(22)申请日 2014.11.14H04L 29/06(2006.01)(71)申请人山东乾云启创信息科技有限公司地址 250101 山东省济南市高新区(历下区)银荷大厦C座401(72)发明人卞功杰 韩春超 刘毅枫 王进石磊(74)专利代理机构济南圣达知识产权代理有限公司 37221代理人张勇(54) 发明名称一种在桌面虚拟化中防护洪水攻击的方法(57) 摘要本发明公开了一种在桌面虚拟化中防护洪水攻击的方法,包括:系统配置集群安全策略以。
2、及防护或者阻止发起洪水攻击的策略;当网络数据包进入服务器的时候,系统防火墙对网络数据包进行解析并判断所述数据包是input还是forward;经过以太网防火墙Ebtables再次进行过滤;如果所述网络数据包的接收端是虚拟机,则数据包经过虚拟机的netlter进行过滤后进入虚拟机,如果数据包的接收端是本地系统,则进入本地程序进行处理或使用。本发明有益效果:通过对桌面虚拟化平台以及虚拟机的设置可以有效的防止TCP,UDP,ICPM的洪水攻击多台虚拟机可以共用一个过滤规则,如果过滤规则改变,可以实现所有虚拟机的统一修改。(51)Int.Cl.权利要求书2页 说明书6页 附图4页(19)中华人民共和国。
3、国家知识产权局(12)发明专利申请权利要求书2页 说明书6页 附图4页(10)申请公布号 CN 104363230 ACN 104363230 A1/2页21.一种在桌面虚拟化中防护洪水攻击的方法,其特征是,包括以下步骤:(1)系统配置集群安全策略以及防护或者阻止发起洪水攻击的策略;(2)当网络数据包进入服务器的时候,系统防火墙iptabls首先对网络数据包由TCP/IP协议进行解析并判断所述数据包是input还是forward,根据判断结果对数据包进行不同的处理;(3)网络数据包经过系统防火墙iptabls处理后,进入数据链路层,经过以太网防火墙Ebtables再次进行过滤;(4)如果所述网。
4、络数据包的接收端是虚拟机,则数据包经过虚拟机的netlter进行过滤后进入虚拟机,如果数据包的接收端是本地系统,则进入本地程序进行处理或使用。2.如权利要求1所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述步骤(1)中,配置防护或者阻止发起洪水攻击的策略的具体方法为:选择是否配置防护或者阻止发起洪水攻击,如果配置防护洪水攻击,则配置每秒接受TCP,UDP ICMP包的数量,否则,结束防护配置;如果配置阻止发起洪水攻击,则配置每秒发送TCP,UDP ICMP包的数量,否则,结束阻止配置。3.如权利要求1所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述步骤(2)中,如果网络数据。
5、包是input,将被送到iptables的input链进行过滤处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包将会被丢弃。4.如权利要求1所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述步骤(2)中,如果网络数据包是forward,将被送到iptables的Forward链进行过滤处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包将会被丢弃。5.如权利要求1所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述网络数据包的传送协议为:TCP、UDP或者ICPM。6.如权利要求1所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述步骤。
6、(4)中,数据包经过虚拟机的netlter进行过滤的具体方法为:1)创建netleter文件,所述文件中记录了防护洪水攻击的过滤规则;2)在虚拟机创建的过程中,在描述虚拟机信息的xml文件中指定为防护洪水攻击而使用netleter文件;3)由虚拟工具函数库libvirt对xml进行解析,并设定流经虚拟机的网络数据包需要经过的netlter过滤规则,所述过滤规则规定了每秒中由虚拟机接受和发送TCP,UDP,ICMP包的数量值,并规定了如果超出了这个数量值所进行的操作,接受或直接抛弃;4)网络数据包在进入虚拟机之前,根据上述libvirt解析的防火墙文件生成的规则,通过iptables对数据包进行。
7、过滤,判断所述网络数据包是被允许进入虚拟机还是作为洪水攻击被丢弃。7.如权利要求1所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述步骤(4)中,由虚拟机发出的数据包也会经过netlter过滤规则进行过滤,判断所述数据包是被传输出去还是作为洪水攻击被丢弃。8.如权利要求6所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述步权 利 要 求 书CN 104363230 A2/2页3骤4)中判断所述网络数据包是被允许进入虚拟机还是作为洪水攻击被丢弃的方法为:如果每秒钟接受TCP,UDP ICMP包的数量小于步骤3)中规定的由虚拟机接受TCP,UDP,ICMP包的数量值,则允许该网络数。
8、据包进入虚拟机;如果每秒钟接受TCP,UDP ICMP包的数量大于步骤3)中规定的由虚拟机接受TCP,UDP,ICMP包的数量值,则判断为洪水攻击,丢弃该网络数据包。9.如权利要求7所述的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述判断所述数据包是被传输出去还是作为洪水攻击被丢弃的方法为:如果虚拟机每秒钟发送TCP,UDP ICMP包的数量小于步骤3)中规定的由虚拟机发送TCP,UDP,ICMP包的数量值,则允许该数据包传输出去;如果虚拟机每秒钟发送TCP,UDP ICMP包的数量大于由虚拟机发送TCP,UDP,ICMP包的数量值,则判断为洪水攻击,丢弃该数据包。10.如权利要求1所述。
9、的一种在桌面虚拟化中防护洪水攻击的方法,其特征是,所述步骤(4)中,多台虚拟机可以共用一个过滤规则,如果修改netlter文件的规则或者改变虚拟机指定的netlter文件,则虚拟机的防护或者阻止发起洪水攻击的规则也会统一改变。权 利 要 求 书CN 104363230 A1/6页4一种在桌面虚拟化中防护洪水攻击的方法技术领域0001 本发明涉及应用虚拟化技术领域,具体涉及一种在桌面虚拟化中防护洪水攻击的方法。背景技术0002 KVM(Kernel-based Virtual Machine)是linux下x86平台上全功能桌面虚拟化解决方案,kvm最大的好处在于它是与linux内核集合的,所以。
10、有着开放代码,速度快的优点,但是kvm虚拟机的运行过程中却没有统一的网络攻击与防护的解决方法,目前对于基于kvm桌面虚拟化中有以下不足之处:0003 1.基于kvm的桌面虚拟化平台针缺少防护洪水攻击的方法0004 防火墙是一项信息安全的防护系统,依照特定的规则,允许或是阻止传输数据的通过,但是在基于kvm的桌面虚拟化平台中针对平台中的虚拟机,并没有一套完整的解决虚拟机防护洪水攻击的方法0005 2.传统的桌面防火墙不可用0006 我们从互联网上搜索到的防火墙不一定可用,即洪水攻击防护的有效性。所有搜索到的防护洪水攻击的解决方案需要在虚拟机内部进行设置代理,不能从根本上解决整个平台对洪水攻击的防。
11、护。0007 3.缺少基于桌面虚拟化中对防护洪水攻击的管理0008 这里的管理包括虚拟化平台中管理人员对防护洪水攻击设置的管理。桌面虚拟化中提供的针对数据中心,针对集群,以及针对虚拟机缺少对防护洪水攻击的管理。只能通过修改平台中服务器系统中的防火墙规则进行强制性的修改操作,而不能做到统一的管理。0009 4.防护洪水攻击的配置不透明0010 一般的防护洪水攻击的方法需要在客户机上安装相应的软件进行洪水攻击的防护,这样对管理员和用户都带来了麻烦,需要花费大量精力在如何安装和配置软件上,并且极易导致用户的误操作和错误配置使整个系统崩溃,从而带来不必要的麻烦,所以防护洪水攻击的具体实现方法和过程,用。
12、户是不需要知道的。发明内容0011 本发明的目的就是为了解决上述问题,提出了一种在桌面虚拟化中防护洪水攻击的方法,该方法通过在虚拟机创建的过程中为虚拟机指定TCP,UDP,ICMP防火墙规则,通过桥防火墙的包过滤规则,对攻击方发送的大量伪造的TCP连接请求,UDP数据包和大量目的地址无法连接的ICMP数据包进行过滤,来达到防护洪水攻击的效果。0012 为了实现上述目的,本发明采用如下技术方案:0013 一种在桌面虚拟化中防护洪水攻击的方法,包括以下步骤:0014 (1)系统配置集群安全策略以及防护或者阻止发起洪水攻击的策略;0015 (2)当网络数据包进入服务器的时候,系统防火墙iptabls。
13、首先对网络数据包由说 明 书CN 104363230 A2/6页5TCP/IP协议进行解析并判断所述数据包是input还是forward,根据判断结果对数据包进行不同的处理;0016 (3)网络数据包经过系统防火墙iptabls处理后,进入数据链路层,经过以太网防火墙Ebtables再次进行过滤;0017 (4)如果所述网络数据包的接收端是虚拟机,则数据包经过虚拟机的netlter进行过滤后进入虚拟机,如果数据包的接收端是本地系统,则进入本地程序进行处理或使用。0018 所述步骤(1)中,配置防护或者阻止发起洪水攻击的策略的具体方法为:0019 选择是否配置防护或者阻止发起洪水攻击,0020 。
14、如果配置防护洪水攻击,则配置每秒接受TCP,UDP ICMP包的数量,否则,结束防护配置;0021 如果配置阻止发起洪水攻击,则配置每秒发送TCP,UDP ICMP包的数量,否则,结束阻止配置。0022 所述步骤(2)中,如果网络数据包是input,将被送到iptables的input链进行过滤处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包将会被丢弃。0023 所述步骤(2)中,如果网络数据包是forward,将被送到iptables的Forward链进行过滤处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包将会被丢弃。0024 所述网络数据包的传送。
15、协议为:TCP、UDP或者ICPM。0025 所述步骤(4)中,数据包经过虚拟机的netlter进行过滤的具体方法为:0026 1)创建netleter文件,所述文件中记录了防护洪水攻击的过滤规则;0027 2)在虚拟机创建的过程中,在描述虚拟机信息的xml文件中指定为防护洪水攻击而使用netleter文件;0028 3)由虚拟工具函数库libvirt对xml进行解析,并设定流经虚拟机的网络数据包需要经过的netlter过滤规则,所述过滤规则规定了每秒中由虚拟机接受和发送TCP,UDP,ICMP包的数量值,并规定了如果超出了这个数量值所进行的操作,接受或直接抛弃;0029 4)网络数据包在进入。
16、虚拟机之前,根据上述libvirt解析的防火墙文件生成的规则,通过iptables对数据包进行过滤,判断所述网络数据包是被允许进入虚拟机还是作为洪水攻击被丢弃。0030 所述步骤(4)中,由虚拟机发出的数据包也会经过netlter过滤规则进行过滤,判断所述数据包是被传输出去还是作为洪水攻击被丢弃。0031 所述步骤4)中判断所述网络数据包是被允许进入虚拟机还是作为洪水攻击被丢弃的方法为:0032 如果每秒钟接受TCP,UDP ICMP包的数量小于步骤3)中规定的由虚拟机接受TCP,UDP,ICMP包的数量值,则允许该网络数据包进入虚拟机;0033 如果每秒钟接受TCP,UDP ICMP包的数量。
17、大于步骤3)中规定的由虚拟机接受TCP,UDP,ICMP包的数量值,则判断为洪水攻击,丢弃该网络数据包。0034 所述判断所述数据包是被传输出去还是作为洪水攻击被丢弃的方法为:0035 如果虚拟机每秒钟发送TCP,UDP ICMP包的数量小于步骤3)中规定的由虚拟机发送TCP,UDP,ICMP包的数量值,则允许该数据包传输出去;说 明 书CN 104363230 A3/6页60036 如果虚拟机每秒钟发送TCP,UDP ICMP包的数量大于由虚拟机发送TCP,UDP,ICMP包的数量值,则判断为洪水攻击,丢弃该数据包。0037 所述步骤(4)中,多台虚拟机可以共用一个过滤规则,如果修改netl。
18、ter文件的规则或者改变虚拟机指定的netlter文件,则虚拟机的防护或者阻止发起洪水攻击的规则也会统一改变。0038 本发明的有益效果是:0039 1.桌面虚拟化平台可以防护洪水攻击0040 通过对桌面虚拟化平台的设置可以有效的防止TCP,UDP,ICPM的洪水攻击。0041 2.桌面虚拟化平台中的虚拟机可以防护洪水攻击0042 通过在虚拟机创建的时候来对设置虚拟机的启动参数可以有效的防止对网络中的洪水攻击。多台虚拟机可以共用一个过滤规则,如果过滤规则改变,可以实现所有虚拟机的统一修改。0043 3.管理员可以方便灵活的在桌面虚拟化中设置防护洪水攻击的配置0044 通过GUI可视化界面,管理。
19、员可以轻松快速的对管理平台中及平台中的虚拟机进行网络防护规则的添加、删除和修改工作,大大的提供了易用性,可靠性,和安全性。0045 4.对用户的透明性0046 虚拟平台中的虚拟机,用户不需要在虚拟机中安装相应的防护软件或者代理软件来防护网络中的洪水攻击,并且是在主机在创建或启动虚拟机的时候就已经指定了网络过滤的规则,虚拟机是不能规避这种规则的,从某种程度生讲这种这对用户是透明的,强制性的。但是对于管理员来说,管理员可以在虚拟机运行的过程中对规则做出修改。0047 5.系统资源的有效利用0048 不在虚拟机中安装防护软件和代理软件而是在虚拟机中创建和启动的过程中添加防护洪水攻击的有关参数来完成,。
20、通过直接使用虚拟机平台中主机的资源和相应的防火墙技术进行防护,大大的提高了资源的使用效率。附图说 明0049 图1为本发明虚拟平台中包过滤结构图;0050 图2为本发明管理员配置防护洪水攻击流程图;0051 图3为本发明虚拟机防护洪水攻击流程图;0052 图4为本发明虚拟平台主机防护洪水攻击流程图。具体实施方式 :0053 下面结合附图与实施例对本发明做进一步说明:0054 本发明主要是为桌面虚拟化提供一个防护洪水攻击的方法,其主要解决的问题如下:0055 1.为虚拟平台中的虚拟机提供防护TCP,UDP,ICMP洪水攻击的方法0056 此方法主要是为桌面虚拟化平台的虚拟机提供一个有效的防护TC。
21、P洪水攻击的方法,通过在虚拟机创建的过程中为虚拟机指定TCP,UDP,ICMP防火墙规则,通过桥防火墙的包过滤规则,对攻击方发送的大量伪造的TCP连接请求,UDP数据包和大量目的地址无法说 明 书CN 104363230 A4/6页7连接的ICMP数据包进行过滤,来达到防护洪水攻击的效果。0057 2.为虚拟平台提供TCP,UDP,ICMP的洪水攻击的方法0058 此方法为基于kvm的桌面虚拟化平台提供一个放有效的防护TCP、UDP和ICMP洪水攻击的方法,通过linux的iptabls防火墙,对不符合规则的数据包进行过滤处理。0059 3.在虚拟机创建的过程中设置防火墙规则0060 此方法主。
22、要是通过在通过虚拟创建的过程中,会根据管理员对防火墙规则的设置来统一的对虚拟机设置防火墙规则,而不需要在每台虚拟机中设置代理。0061 4.对防护洪水攻击的透明化0062 此方法主要提供在虚拟机创建和启动的时候就已经设置相应的防火墙规则,用户不需要在虚拟机内部设置额外的软件和代理来防范洪水攻击。0063 本发明方法如图1所示,包括以下步骤:0064 (1)系统配置集群安全策略以及防护或者阻止发起洪水攻击的策略;0065 如图2所示,管理员通过设置TCP,UDP,ICMP每秒接受和发送的数据包的数量来让防火墙iptables和netlter判断数据包流是否属于洪水攻击,步骤为:0066 a.系统。
23、管理员登录系统并开启设置集群安全策略;0067 b.管理员选择是否配置防护或者阻止发起洪水攻击;0068 c.如果配置防护或者是阻止发起洪水攻击,则需要配置每秒接受TCP,UDP ICMP包的数量;否则,结束相应的配置。0069 (2)当网络数据包进入服务器的时候,系统防火墙iptabls首先对网络数据包由TCP/IP协议进行解析并判断所述数据包是input还是forward,根据判断结果对数据包进行不同的处理;0070 如果网络数据包是input,将被送到iptables的input链进行过滤处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包将会被丢弃;iptables中。
24、的hitcount规定了一个端口上单位时间内接收或发送的数据包的最大值,通过设置hitcount来限制通过制定端口数据包的数量。0071 如果网络数据包是forward,将被送到iptables的Forward链进行过滤处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包就会被丢弃。0072 (3)经iptables过滤后的网络数据包由TCP/IP协议进行解析,进入数据链路层,在数据链路层中,由内核中的Ebtable(以太网桥防火墙)再次进行过滤,起到防护洪水攻击的作用。0073 (4)如果所述网络数据包的接收端是虚拟机,则数据包经过虚拟机的netlter进行过滤后进入虚拟机。
25、,如果数据包的接收端是本地系统,则进入本地程序进行处理或使用。0074 如图3所示,数据包经过虚拟机的netlter进行过滤的方法为:0075 a.创建netleter文件,文件中记录了防护洪水攻击的过滤规则。0076 b.在虚拟机创建的过程中,在描述虚拟机信息的xml文件中指定为防护洪水攻击而使用netleter文件。0077 c.由虚拟工具函数库libvirt对xml进行解析,并设定流经虚拟机的网络数据包需要经过的netlter过滤规则。过滤规则规定了每秒中由虚拟机接受和发送TCP,UDP,ICMP包的数量值,并规定了如果超出了这个数量值所进行的操作,接受或直接抛弃;说 明 书CN 104。
26、363230 A5/6页80078 d.虚拟机中发出的数据包也会经过Netlter过滤规则进行过滤,来阻止发起洪水攻击0079 e.如果修改netlter的规则或者改变虚拟机指定的netlter,虚拟机的规则也会改变。0080 具体实现过程中,0081 1)系统首先会由libvirt解析配置在虚拟机上的防火墙配置文件,并在虚拟机启动的时候构建防火墙规则。这些在/etc/libvirt/nwlter目录下,安全规则包括recenttcpi.xml recenttcpo.xml recenttcp.xml recentudpi.xml recentudpo.xml recentudp.xml re。
27、centicmpi.xml recenticmpo.xml recenticmp.xml recent.xml0082 2)网络中的数据包在进入虚拟机之前,会通过iptables根据上述libvirt解析的防火墙文件生成的规则对数据包进行过滤。0083 3)经由linux内核Netlter然后判断每秒钟包的hitcount数值与管理员设置的数值的大小,来选择是转发给虚拟机还是判定为洪水攻击丢弃。0084 4)由虚拟机发出的数据包也会经过相同的防火墙过滤,来选择数据包是被传输出去还是被判定为洪水攻击被丢弃。0085 防火墙文件由libvirt解析说明:0086 例如rencent.xml的内容为。
28、;0087 0088 0089 0090 0091 0092 Action是动作,reject是拒绝0093 Direction,in表示数据是发往虚拟机的,Out是虚拟机发出的0094 Hitcount表示每秒接受syn的数量。我们通过设置这个数值来限制每秒syn的数量来实现防止攻击0095 Flags是tcp协议的字段,syn是引起ddos攻击的起始点0096 最终libvirt会将这些xml文件构建出防火墙规则如:0097 iptables-I FORWARD-p tcp-syn-m physdev-physdev-is-bridged-physdev-out vnet0-m recen。
29、t-name synlimit-set-j ACCEPT0098 图4为虚拟平台主机防护洪水攻击流程图,为虚拟平台对洪水攻击和阻止发起洪水攻击的具体实现。0099 虚拟主机的防护洪水攻击的方法主要使用iptables防火墙通过设置防火墙规则来完成对TCP、UDP ICP的防护。如果管理员设置了防护和阻止洪水攻击的安全策略,则会生成相应的IPtables的防火墙规则,防护洪水攻击的步骤为:0100 1.来自网络中的TCP,UDP,ICMP数据包首先会经由管理员设置的防火墙规则,由iptables进行过滤0101 2.经iptabls过滤后如果发现网络数据包的hitcount值大于管理员设定值,则。
30、将说 明 书CN 104363230 A6/6页9包丢弃,否则的话就会接受数据包0102 3.主机发送的数据包同上步骤也会经历相同的iptables防火墙规则,来判断发出的数据包是丢弃还是发送出去0103 Iptables防火墙的设置方式如下:0104 例如:0105 -A INPUT-p icmp-m state-state NEW,ESTABLISHED,RELATED-m recent-rcheck-seconds 1-hitcount 20-name icmpflood-j REJECT0106 -A INPUT-p icmp-m state-state NEW,ESTABLISHED,RELATED-m recent-set-name icmpflood0107 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。说 明 书CN 104363230 A1/4页10图1说 明 书 附 图CN 104363230 A10。