法律状态公告日
法律状态信息
法律状态
2023-08-15
专利权质押合同登记的注销 IPC(主分类):H04L29/06 授权公告日:20180112 申请日:20141114 专利号:ZL2014106502887 登记号:Y2022980003212 出质人:山东乾云启创信息科技股份有限公司 质权人:莱商银行股份有限公司济南自贸区支行 解除日:20230731
专利权质押合同登记的生效、变更及注销
2022-04-12
专利权质押合同登记的生效 IPC(主分类):H04L29/06 专利号:ZL2014106502887 登记号:Y2022980003212 登记生效日:20220328 出质人:山东乾云启创信息科技股份有限公司 质权人:莱商银行股份有限公司济南自贸区支行 发明名称:一种在桌面虚拟化中防护洪水攻击的方法 申请日:20141114 授权公告日:20180112
专利权质押合同登记的生效、变更及注销
2018-01-12
授权
授权
2016-01-27
著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20141114
著录事项变更
2015-09-09
著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20141114
著录事项变更
2015-03-25
实质审查的生效 IPC(主分类):H04L29/06 申请日:20141114
实质审查的生效
2015-02-18
公开
公开
查看全部
技术领域
本发明涉及应用虚拟化技术领域,具体涉及一种在桌面虚拟化中防护洪水攻击的方法。
背景技术
KVM(Kernel-based Virtual Machine)是linux下x86平台上全功能桌面虚拟化解决方案, kvm最大的好处在于它是与linux内核集合的,所以有着开放代码,速度快的优点,但是kvm 虚拟机的运行过程中却没有统一的网络攻击与防护的解决方法,目前对于基于kvm桌面虚拟 化中有以下不足之处:
1.基于kvm的桌面虚拟化平台针缺少防护洪水攻击的方法
防火墙是一项信息安全的防护系统,依照特定的规则,允许或是阻止传输数据的通过, 但是在基于kvm的桌面虚拟化平台中针对平台中的虚拟机,并没有一套完整的解决虚拟机防 护洪水攻击的方法
2.传统的桌面防火墙不可用
我们从互联网上搜索到的防火墙不一定可用,即洪水攻击防护的有效性。所有搜索到的 防护洪水攻击的解决方案需要在虚拟机内部进行设置代理,不能从根本上解决整个平台对洪 水攻击的防护。
3.缺少基于桌面虚拟化中对防护洪水攻击的管理
这里的管理包括虚拟化平台中管理人员对防护洪水攻击设置的管理。桌面虚拟化中提供 的针对数据中心,针对集群,以及针对虚拟机缺少对防护洪水攻击的管理。只能通过修改平 台中服务器系统中的防火墙规则进行强制性的修改操作,而不能做到统一的管理。
4.防护洪水攻击的配置不透明
一般的防护洪水攻击的方法需要在客户机上安装相应的软件进行洪水攻击的防护,这样 对管理员和用户都带来了麻烦,需要花费大量精力在如何安装和配置软件上,并且极易导致 用户的误操作和错误配置使整个系统崩溃,从而带来不必要的麻烦,所以防护洪水攻击的具 体实现方法和过程,用户是不需要知道的。
发明内容
本发明的目的就是为了解决上述问题,提出了一种在桌面虚拟化中防护洪水攻击的方法, 该方法通过在虚拟机创建的过程中为虚拟机指定TCP,UDP,ICMP防火墙规则,通过桥防火 墙的包过滤规则,对攻击方发送的大量伪造的TCP连接请求,UDP数据包和大量目的地址无 法连接的ICMP数据包进行过滤,来达到防护洪水攻击的效果。
为了实现上述目的,本发明采用如下技术方案:
一种在桌面虚拟化中防护洪水攻击的方法,包括以下步骤:
(1)系统配置集群安全策略以及防护或者阻止发起洪水攻击的策略;
(2)当网络数据包进入服务器的时候,系统防火墙iptabls首先对网络数据包由TCP/IP 协议进行解析并判断所述数据包是input还是forward,根据判断结果对数据包进行不同的 处理;
(3)网络数据包经过系统防火墙iptabls处理后,进入数据链路层,经过以太网防火墙 Ebtables再次进行过滤;
(4)如果所述网络数据包的接收端是虚拟机,则数据包经过虚拟机的netfilter进行过 滤后进入虚拟机,如果数据包的接收端是本地系统,则进入本地程序进行处理或使用。
所述步骤(1)中,配置防护或者阻止发起洪水攻击的策略的具体方法为:
选择是否配置防护或者阻止发起洪水攻击,
如果配置防护洪水攻击,则配置每秒接受TCP,UDP ICMP包的数量,否则,结束防护配 置;
如果配置阻止发起洪水攻击,则配置每秒发送TCP,UDP ICMP包的数量,否则,结束阻 止配置。
所述步骤(2)中,如果网络数据包是input,将被送到iptables的input链进行过滤 处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包将会被丢弃。
所述步骤(2)中,如果网络数据包是forward,将被送到iptables的Forward链进行 过滤处理,如果在单位时间内此类型的包的数量超过hitcount值,此数据包将会被丢弃。
所述网络数据包的传送协议为:TCP、UDP或者ICPM。
所述步骤(4)中,数据包经过虚拟机的netfilter进行过滤的具体方法为:
1)创建netfileter文件,所述文件中记录了防护洪水攻击的过滤规则;
2)在虚拟机创建的过程中,在描述虚拟机信息的xml文件中指定为防护洪水攻击而使用 netfileter文件;
3)由虚拟工具函数库libvirt对xml进行解析,并设定流经虚拟机的网络数据包需要 经过的netfilter过滤规则,所述过滤规则规定了每秒中由虚拟机接受和发送TCP,UDP,ICMP 包的数量值,并规定了如果超出了这个数量值所进行的操作,接受或直接抛弃;
4)网络数据包在进入虚拟机之前,根据上述libvirt解析的防火墙文件生成的规则,通 过iptables对数据包进行过滤,判断所述网络数据包是被允许进入虚拟机还是作为洪水攻击 被丢弃。
所述步骤(4)中,由虚拟机发出的数据包也会经过netfilter过滤规则进行过滤,判断 所述数据包是被传输出去还是作为洪水攻击被丢弃。
所述步骤4)中判断所述网络数据包是被允许进入虚拟机还是作为洪水攻击被丢弃的方 法为:
如果每秒钟接受TCP,UDP ICMP包的数量小于步骤3)中规定的由虚拟机接受TCP,UDP, ICMP包的数量值,则允许该网络数据包进入虚拟机;
如果每秒钟接受TCP,UDP ICMP包的数量大于步骤3)中规定的由虚拟机接受TCP,UDP, ICMP包的数量值,则判断为洪水攻击,丢弃该网络数据包。
所述判断所述数据包是被传输出去还是作为洪水攻击被丢弃的方法为:
如果虚拟机每秒钟发送TCP,UDP ICMP包的数量小于步骤3)中规定的由虚拟机发送TCP, UDP,ICMP包的数量值,则允许该数据包传输出去;
如果虚拟机每秒钟发送TCP,UDP ICMP包的数量大于由虚拟机发送TCP,UDP,ICMP包的 数量值,则判断为洪水攻击,丢弃该数据包。
所述步骤(4)中,多台虚拟机可以共用一个过滤规则,如果修改netfilter文件的规则 或者改变虚拟机指定的netfilter文件,则虚拟机的防护或者阻止发起洪水攻击的规则也会 统一改变。
本发明的有益效果是:
1.桌面虚拟化平台可以防护洪水攻击
通过对桌面虚拟化平台的设置可以有效的防止TCP,UDP,ICPM的洪水攻击。
2.桌面虚拟化平台中的虚拟机可以防护洪水攻击
通过在虚拟机创建的时候来对设置虚拟机的启动参数可以有效的防止对网络中的洪水攻 击。多台虚拟机可以共用一个过滤规则,如果过滤规则改变,可以实现所有虚拟机的统一修 改。
3.管理员可以方便灵活的在桌面虚拟化中设置防护洪水攻击的配置
通过GUI可视化界面,管理员可以轻松快速的对管理平台中及平台中的虚拟机进行网络 防护规则的添加、删除和修改工作,大大的提供了易用性,可靠性,和安全性。
4.对用户的透明性
虚拟平台中的虚拟机,用户不需要在虚拟机中安装相应的防护软件或者代理软件来防护 网络中的洪水攻击,并且是在主机在创建或启动虚拟机的时候就已经指定了网络过滤的规则, 虚拟机是不能规避这种规则的,从某种程度生讲这种这对用户是透明的,强制性的。但是对 于管理员来说,管理员可以在虚拟机运行的过程中对规则做出修改。
5.系统资源的有效利用
不在虚拟机中安装防护软件和代理软件而是在虚拟机中创建和启动的过程中添加防护洪 水攻击的有关参数来完成,通过直接使用虚拟机平台中主机的资源和相应的防火墙技术进行 防护,大大的提高了资源的使用效率。
附图说明
图1为本发明虚拟平台中包过滤结构图;
图2为本发明管理员配置防护洪水攻击流程图;
图3为本发明虚拟机防护洪水攻击流程图;
图4为本发明虚拟平台主机防护洪水攻击流程图。
具体实施方式:
下面结合附图与实施例对本发明做进一步说明:
本发明主要是为桌面虚拟化提供一个防护洪水攻击的方法,其主要解决的问题如下:
1.为虚拟平台中的虚拟机提供防护TCP,UDP,ICMP洪水攻击的方法
此方法主要是为桌面虚拟化平台的虚拟机提供一个有效的防护TCP洪水攻击的方法,通 过在虚拟机创建的过程中为虚拟机指定TCP,UDP,ICMP防火墙规则,通过桥防火墙的包 过滤规则,对攻击方发送的大量伪造的TCP连接请求,UDP数据包和大量目的地址无法连接 的ICMP数据包进行过滤,来达到防护洪水攻击的效果。
2.为虚拟平台提供TCP,UDP,ICMP的洪水攻击的方法
此方法为基于kvm的桌面虚拟化平台提供一个放有效的防护TCP、UDP和ICMP洪水攻 击的方法,通过linux的iptabls防火墙,对不符合规则的数据包进行过滤处理。
3.在虚拟机创建的过程中设置防火墙规则
此方法主要是通过在通过虚拟创建的过程中,会根据管理员对防火墙规则的设置来统一 的对虚拟机设置防火墙规则,而不需要在每台虚拟机中设置代理。
4.对防护洪水攻击的透明化
此方法主要提供在虚拟机创建和启动的时候就已经设置相应的防火墙规则,用户不需要 在虚拟机内部设置额外的软件和代理来防范洪水攻击。
本发明方法如图1所示,包括以下步骤:
(1)系统配置集群安全策略以及防护或者阻止发起洪水攻击的策略;
如图2所示,管理员通过设置TCP,UDP,ICMP每秒接受和发送的数据包的数量来让防火 墙iptables和netfilter判断数据包流是否属于洪水攻击,步骤为:
a.系统管理员登录系统并开启设置集群安全策略;
b.管理员选择是否配置防护或者阻止发起洪水攻击;
c.如果配置防护或者是阻止发起洪水攻击,则需要配置每秒接受TCP,UDP ICMP包的数 量;否则,结束相应的配置。
(2)当网络数据包进入服务器的时候,系统防火墙iptabls首先对网络数据包由TCP/IP 协议进行解析并判断所述数据包是input还是forward,根据判断结果对数据包进行不同的 处理;
如果网络数据包是input,将被送到iptables的input链进行过滤处理,如果在单位时 间内此类型的包的数量超过hitcount值,此数据包将会被丢弃;iptables中的hitcount规 定了一个端口上单位时间内接收或发送的数据包的最大值,通过设置hitcount来限制通过制 定端口数据包的数量。
如果网络数据包是forward,将被送到iptables的Forward链进行过滤处理,如果在单 位时间内此类型的包的数量超过hitcount值,此数据包就会被丢弃。
(3)经iptables过滤后的网络数据包由TCP/IP协议进行解析,进入数据链路层,在数 据链路层中,由内核中的Ebtable(以太网桥防火墙)再次进行过滤,起到防护洪水攻击的 作用。
(4)如果所述网络数据包的接收端是虚拟机,则数据包经过虚拟机的netfilter进行过 滤后进入虚拟机,如果数据包的接收端是本地系统,则进入本地程序进行处理或使用。
如图3所示,数据包经过虚拟机的netfilter进行过滤的方法为:
a.创建netfileter文件,文件中记录了防护洪水攻击的过滤规则。
b.在虚拟机创建的过程中,在描述虚拟机信息的xml文件中指定为防护洪水攻击而使用 netfileter文件。
c.由虚拟工具函数库libvirt对xml进行解析,并设定流经虚拟机的网络数据包需要经 过的netfilter过滤规则。过滤规则规定了每秒中由虚拟机接受和发送TCP,UDP,ICMP包的数 量值,并规定了如果超出了这个数量值所进行的操作,接受或直接抛弃;
d.虚拟机中发出的数据包也会经过Netfilter过滤规则进行过滤,来阻止发起洪水攻击
e.如果修改netfilter的规则或者改变虚拟机指定的netfilter,虚拟机的规则也会改变。
具体实现过程中,
1)系统首先会由libvirt解析配置在虚拟机上的防火墙配置文件,并在虚拟机启动的时候 构建防火墙规则。这些在/etc/libvirt/nwfilter目录下,安全规则包括recenttcpi.xml recenttcpo.xml recenttcp.xml recentudpi.xml recentudpo.xml recentudp.xml recenticmpi.xml recenticmpo.xml recenticmp.xml recent.xml
2)网络中的数据包在进入虚拟机之前,会通过iptables根据上述libvirt解析的防火墙文 件生成的规则对数据包进行过滤。
3)经由linux内核Netfilter然后判断每秒钟包的hitcount数值与管理员设置的数值的大 小,来选择是转发给虚拟机还是判定为洪水攻击丢弃。
4)由虚拟机发出的数据包也会经过相同的防火墙过滤,来选择数据包是被传输出去还是 被判定为洪水攻击被丢弃。
防火墙文件由libvirt解析说明:
例如rencent.xml的内容为;
<filter name='recenti'chain='ipv4'priority='-700'>
<rule action='reject'direction='in'priority='400'statematch='false'>
<tcp hitcount='$HC[0]‘flags='FIN,SYN,RST,ACK/SYN'/>
</rule>
</filter>
Action是动作,reject是拒绝
Direction,in表示数据是发往虚拟机的,Out是虚拟机发出的
Hitcount表示每秒接受syn的数量。我们通过设置这个数值来限制每秒syn的数量来实 现防止攻击
Flags是tcp协议的字段,syn是引起ddos攻击的起始点
最终libvirt会将这些xml文件构建出防火墙规则如:
iptables-I FORWARD-p tcp--syn-m physdev--physdev-is-bridged--physdev-out vnet0-m recent--name synlimit--set-j ACCEPT
图4为虚拟平台主机防护洪水攻击流程图,为虚拟平台对洪水攻击和阻止发起洪水攻击 的具体实现。
虚拟主机的防护洪水攻击的方法主要使用iptables防火墙通过设置防火墙规则来完成对 TCP、UDP ICP的防护。如果管理员设置了防护和阻止洪水攻击的安全策略,则会生成相应 的IPtables的防火墙规则,防护洪水攻击的步骤为:
1.来自网络中的TCP,UDP,ICMP数据包首先会经由管理员设置的防火墙规则,由 iptables进行过滤
2.经iptabls过滤后如果发现网络数据包的hitcount值大于管理员设定值,则将包丢弃, 否则的话就会接受数据包
3.主机发送的数据包同上步骤也会经历相同的iptables防火墙规则,来判断发出的数据 包是丢弃还是发送出去
Iptables防火墙的设置方式如下:
例如:
-A INPUT-p icmp-m state--state NEW,ESTABLISHED,RELATED-m recent--rcheck --seconds 1--hitcount 20--name icmpflood-j REJECT
-A INPUT-p icmp-m state--state NEW,ESTABLISHED,RELATED-m recent--set--name icmpflood
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限 制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付 出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
机译: 网络攻击防护方法,网络攻击防护装置和网络攻击防护程序
机译: 检测计算机系统上的攻击,特别是病毒类型的攻击,从而使用一种通用方法,该方法能够检测隐藏在数据链中的攻击程序,这些数据链通过可检测的指令加载到内存中
机译: 通过命名数据网络(NDN)中边缘路由器之间的协作检测和减轻利息洪水攻击的方法