虚拟主机被恶意攻击的监控处理方法及系统、节点服务器与流程

文档序号:17004591发布日期:2019-03-02 01:58阅读:239来源:国知局
虚拟主机被恶意攻击的监控处理方法及系统、节点服务器与流程
本发明涉及互联网
技术领域
,尤其涉及一种虚拟主机被恶意攻击的监控处理方法及系统、节点服务器。
背景技术
:随着互联网技术的发展,分布式公有云集群物理服务器(下文简称节点服务器)被广泛使用,在使用时,每个节点服务器上部署有多个公有云云服务器(下文简称虚拟主机)。针对虚拟主机被恶意攻击的问题,现有解决方式一般在idc(internetdatacenter,互联网数据中心)机房的网络出口等核心关键位置放置专用设备统一监控所有节点服务器上的各虚拟主机,发现问题后通过人工修改路由器配置或者拔线方式解决被攻击的问题。这种方式存在以下问题:1、专用设备容易发生单点故障,若发生故障,会影响分布式系统中所有虚拟主机的监控。2、由于是集中处理,其处理能力不能随着所管辖的节点服务器/虚拟主机数量或网络出口带宽的增加而线性增长。3、遇到攻击时需要人工介入处理,难以做到自动化,往往会造成一定的损失,如服务中断等。技术实现要素:本发明的目的是提供一种虚拟主机被恶意攻击的监控处理方法及系统、节点服务器,即使出现单点故障,也不会影响分布式系统中所有的虚拟主机。本发明提供的技术方案如下:一种虚拟主机被恶意攻击的监控处理方法,应用于分布式系统中每个节点服务器,每个节点服务器上部署有至少一个虚拟主机,该方法包括:实时抓取所有入方向的ip数据包并解析;当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小;根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽;分别判断各虚拟主机的实际带宽是否大于其对应的带宽上限;当存在有虚拟主机的实际带宽大于其对应的带宽上限时,断开所述虚拟主机的网络。在上述技术方案中,由各节点服务器自行监控其上的各虚拟主机,即使一个节点服务器出现故障,其他节点服务器上的监控不会受到影响;且可随着节点服务器的线性增长而增长;遇到攻击时无需人工介入处理,可自动断开网络,响应速度快。进一步,所述入方向的ip数据包是指:除本地节点服务器之外的设备发送过来的ip数据包。在上述技术方案中,不会对本地节点服务器上的各虚拟主机互发的ip数据包进行关注,仅关注入方向的ip数据包,降低监控的数量,减少不必要的性能占用。进一步,每条所述解析后的ip数据包包括:目的ip地址和解析后数据包;所述的当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小具体为:分别将所述解析后数据包,汇总至各所述目的ip地址对应的虚拟主机的数据包列表中;当达到预设检测间隔时间时,从各虚拟主机的数据包列表中,统计预设时间间隔内各虚拟主机的实际数据包大小。在上述技术方案中,周期性的获取各虚拟主机的实际数据包大小,方便计算实际带宽,保证结果的实时性。进一步,所述的根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽具体为:分别将各虚拟主机的实际数据包大小除以预设时间间隔,得到各虚拟主机的实际带宽。在上述技术方案中,定义了实际带宽的计算方式。进一步,还包括:接收管理后台服务器发送的配置信息,所述配置信息包括:各虚拟主机的带宽上限。在上述技术方案中,由管理后台服务器统一分配各节点服务器上各虚拟主机的带宽上限,减少了工程师一个个设置的麻烦,提高使用体验。本发明还提供一种节点服务器,所述节点服务器上部署有至少一个虚拟主机,包括:抓取解析模块,用于实时抓取所有入方向的ip数据包并解析;大小获取模块,用于当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小;带宽计算模块,用于根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽;带宽判断模块,用于分别判断各虚拟主机的实际带宽是否大于其对应的带宽上限;网络断开模块,用于当存在有虚拟主机的实际带宽大于其对应的带宽上限时,断开所述虚拟主机的网络。在上述技术方案中,由各节点服务器自行监控其上的各虚拟主机,即使一个节点服务器出现故障,其他节点服务器上的监控不会受到影响;且可随着节点服务器的线性增长而增长;遇到攻击时无需人工介入处理,可自动断开网络,响应速度快。进一步,每条所述解析后的ip数据包包括:目的ip地址和解析后数据包;大小获取模块,用于当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小具体包括:汇总子模块,用于分别将所述解析后数据包,汇总至各所述目的ip地址对应的虚拟主机的数据包列表中;统计子模块,用于当达到预设检测间隔时间时,从各虚拟主机的数据包列表中,统计预设时间间隔内各虚拟主机的实际数据包大小。进一步,所述带宽计算模块,用于根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽具体为:所述带宽计算模块,用于分别将各虚拟主机的实际数据包大小除以预设时间间隔,得到各虚拟主机的实际带宽。进一步,还包括:信息接收模块,用于接收管理后台服务器发送的配置信息,所述配置信息包括:各虚拟主机的带宽上限。本发明还提供一种虚拟主机被恶意攻击的监控系统,包括:一管理后台服务器和多个上述任一所述的节点服务器。与现有技术相比,本发明的虚拟主机被恶意攻击的监控处理方法及系统、节点服务器有益效果在于:本发明的各虚拟主机被恶意攻击的监控由对应的节点服务器自己实现,一个节点服务器监控发生故障,不会影响到分布式系统中其他节点服务器;且监控程序运行在各个节点服务器上,当分布式系统中增加新的节点服务器时,可呈线性扩容,不会对管理后台服务器的性能有过多要求。附图说明下面将以明确易懂的方式,结合附图说明优选实施方式,对一种虚拟主机被恶意攻击的监控处理方法及系统、节点服务器的上述特性、技术特征、优点及其实现方式予以进一步说明。图1是本发明虚拟主机被恶意攻击的监控处理方法一个实施例的流程图;图2是本发明虚拟主机被恶意攻击的监控处理方法另一个实施例的流程图;图3是本发明节点服务器一个实施例的结构示意图;图4是本发明节点服务器另一个实施例的结构示意图;图5是本发明虚拟主机被恶意攻击的监控系统一个实施例的结构示意图。附图标号说明:10.抓取解析模块,20.大小获取模块,21.汇总子模块,22.统计子模块,30.带宽计算模块,40.带宽判断模块,50.网络断开模块,60.信息接收模块,100.管理后台服务器,200.节点服务器。具体实施方式为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。图1示出了本发明的一个实施例,一种虚拟主机被恶意攻击的监控处理方法,应用于分布式系统中每个节点服务器,每个节点服务器上部署有至少一个虚拟主机,该方法包括:s101节点服务器(在本地目标网卡上,根据实际使用的网卡确定)实时抓取所有入方向的ip数据包并解析。具体的,入方向的ip数据包是指:除本地节点服务器之外的设备(例如:其他节点服务器、移动终端等)发送过来的ip数据包。每条ip数据包被解析后,会得到目的ip地址(即这条数据包想发送到哪个虚拟主机)和解析后数据包。s102节点服务器当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小。具体的,节点服务器会定时检测各虚拟主机的实际带宽情况,若发现出现问题,可及时采取措施,阻止外部恶意攻击。预设检测间隔时间和预设时间间隔根据实际需求设置,例如:以1分钟为预设时间间隔,10:01:00,10:02:00,10:03:00……就是预设检测间隔时间,当到10:02:00时,节点服务器获取10:01:01-10:02:00这1分钟内的各虚拟主机的实际数据包大小。s103节点服务器根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽。s104节点服务器分别判断各虚拟主机的实际带宽是否大于其对应的带宽上限。具体的,每到一次预设检测间隔时间,就会计算各虚拟主机当前的实际带宽,保证数据的实时性。各虚拟主机根据其功能被分别设置了不同的带宽上限,设置的带宽上限保证各虚拟主机在正常情况下使用的带宽无法超越,若大于了带宽上限,则说明正在被恶意攻击。s105当存在有虚拟主机的实际带宽大于其对应的带宽上限时,节点服务器断开所述虚拟主机的网络。实际带宽不大于带宽上限的虚拟主机,则让其正常通信。例如:如下表一,一个节点服务器上有5个虚拟主机(a-e),其实际带宽分别为40m、20m、25m、30m、50m,各自对应的带宽上限为50m、50m、50m、50m、40m,经过比对发现,虚拟主机e的实际带宽大于其对应的带宽上限,节点服务器断开虚拟主机e的网络,丢弃接收到的相应ip数据包,造成虚拟主机e的ip地址网络不可达,使外部恶意攻击停止,从而保持此节点服务器上其他虚拟主机的正常运行。表一虚拟主机实际带宽带宽上限a40m50mb20m50mc25m50md30m50me50m40m分布式系统中,各节点服务器分别与一台管理后台服务器通信连接,各节点服务器会接收到管理后台服务器发送的配置信息,配置信息包括:各虚拟主机的带宽上限。工程师在管理后台服务器统一设置各节点服务器上的各虚拟主机的带宽上限,由管理后台服务器分别发送给对应的节点服务器,实现统一管理,操作简单、方便。本实施例中各虚拟主机被恶意攻击的监控由对应的节点服务器自己实现,一个节点服务器监控发生故障,不会影响到分布式系统中其他节点服务器;且监控程序运行在各个节点服务器上,当分布式系统中增加新的节点服务器时,可呈线性扩容,不会对管理后台服务器的性能有过多要求。基于上述实施例的改进,与上述相同的部分不再重复描述,图2示出了本发明另一个实施例,包括:s201(在本地目标网卡上)实时抓取所有入方向的ip数据包并解析;入方向的ip数据包是指:除本地节点服务器之外的设备发送过来的ip数据包;每条所述解析后的ip数据包包括:目的ip地址和解析后数据包。s202当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小具体为:s212分别将所述解析后数据包,汇总至各所述目的ip地址对应的虚拟主机的数据包列表中;s222当达到预设检测间隔时间时,从各虚拟主机的数据包列表中,统计预设时间间隔内各虚拟主机的实际数据包大小。具体的,入方向的ip数据包是实时获取、解析,并汇总到目的ip地址对应的虚拟主机名下,在达到预设检测间隔时间时,会统计各个虚拟主机在预设时间间隔内的实际数据包大小,方便计算其实际带宽。例如:抓取了一条入方向的ip数据包,解析后得到一个解析后数据包1kb和目的ip地址218.82.95.213,将这个1kb的解析后数据包汇总到218.82.95.213对应的虚拟主机1名下。假设虚拟主机1在预设时间间隔内有4条解析后数据包,分别为1.5kb、1kb、1.2kb、1.1kb,当达到预设检测间隔时间时,获取30秒内(预设时间间隔)虚拟主机1的实际数据包大小为1.5+1+1.2+1.1=4.8kb。每个虚拟主机的实际数据包大小获取方式相同,在此不再详细描述。s203根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽具体为:s213分别将各虚拟主机的实际数据包大小除以预设时间间隔,得到各虚拟主机的实际带宽。具体的,实际带宽的单位为m/s,因此,在计算时需要将预设时间间隔的单位换算为秒。例如:预设时间间隔为1分钟,虚拟主机2的实际数据包大小为90m,则虚拟主机2的实际带宽为90/60=1.5m/s。其他虚拟主机的计算相同,在此不再赘述。s204分别判断各虚拟主机的实际带宽是否大于其对应的带宽上限;s205当存在有虚拟主机的实际带宽大于其对应的带宽上限时,断开所述虚拟主机的网络。可选地,还包括:接收管理后台服务器发送的配置信息,所述配置信息包括:各虚拟主机的带宽上限。本实施例的节点服务器上实时抓取、汇总各虚拟主机的解析后数据包,周期性地进行带宽判断,有效地实现对各虚拟主机是否被恶意攻击的监控,若出现情况,及时采取措施,保护此节点服务器上未被恶意攻击的虚拟主机的正常运行。图3示出了本发明一个节点服务器的实施例,节点服务器上部署有至少一个虚拟主机,包括:抓取解析模块10,用于(在本地目标网卡上,根据实际使用的网卡确定)实时抓取所有入方向的ip数据包并解析。具体的,入方向的ip数据包是指:除本地节点服务器之外的设备(例如:其他节点服务器、移动终端等)发送过来的ip数据包。每条ip数据包被解析后,会得到目的ip地址(即这条数据包想发送到哪个虚拟主机)和解析后数据包。大小获取模块20,用于当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小。具体的,节点服务器会定时检测各虚拟主机的实际带宽情况,若发现出现问题,可及时采取措施,阻止外部恶意攻击。预设检测间隔时间和预设时间间隔根据实际需求设置,例如:以1分钟为预设时间间隔,10:01:00,10:02:00,10:03:00……就是预设检测间隔时间,当到10:02:00时,节点服务器获取10:01:01-10:02:00这1分钟内的各虚拟主机的实际数据包大小。带宽计算模块30,用于根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽。带宽判断模块40,用于分别判断各虚拟主机的实际带宽是否大于其对应的带宽上限。具体的,每到一次预设检测间隔时间,就会计算各虚拟主机当前的实际带宽,保证数据的实时性。各虚拟主机根据其功能被分别设置了不同的带宽上限,设置的带宽上限保证各虚拟主机在正常情况下使用的带宽无法超越,若大于了带宽上限,则说明正在被恶意攻击。网络断开模块50,用于当存在有虚拟主机的实际带宽大于其对应的带宽上限时,断开所述虚拟主机的网络。实际带宽不大于带宽上限的虚拟主机,则让其正常通信。具体的例子请参见对应的方法实施例,在此不作赘述。分布式系统中,各节点服务器分别与一台管理后台服务器通信连接,各节点服务器的信息接收模块会接收到管理后台服务器发送的配置信息,配置信息包括:各虚拟主机的带宽上限。工程师在管理后台服务器统一设置各节点服务器上的各虚拟主机的带宽上限,由管理后台服务器分别发送给对应的节点服务器,实现统一管理,操作简单、方便。本实施例中各虚拟主机被恶意攻击的监控由对应的节点服务器自己实现,一个节点服务器监控发生故障,不会影响到分布式系统中其他节点用器;且监控程序运行在各个节点服务器上,当分布式系统中增加新的节点服务器时,可呈线性扩容,不会对管理后台服务器的性能有过多要求。基于上述节点服务器实施例的改进,与上述相同的部分不再重复描述,图4示出了本发明另一个节点服务器的实施例,包括:抓取解析模块10,用于(在本地目标网卡上)实时抓取所有入方向的ip数据包并解析;入方向的ip数据包是指:除本地节点服务器之外的设备发送过来的ip数据包;每条所述解析后的ip数据包包括:目的ip地址和解析后数据包。大小获取模块20,用于当达到预设检测间隔时间时,根据各解析后的ip数据包,获取预设时间间隔内各虚拟主机的实际数据包大小具体包括:汇总子模块21,用于分别将所述解析后数据包,汇总至各所述目的ip地址对应的虚拟主机的数据包列表中;统计子模块22,用于当达到预设检测间隔时间时,从各虚拟主机的数据包列表中,统计预设时间间隔内各虚拟主机的实际数据包大小。具体的,入方向的ip数据包是实时获取、解析,并汇总到目的ip地址对应的虚拟主机名下,在达到预设检测间隔时间时,会统计各个虚拟主机在预设时间间隔内的实际数据包大小,方便计算其实际带宽。例如:抓取了一条入方向的ip数据包,解析后得到一个解析后数据包1kb和目的ip地址218.82.95.213,将这个1kb的解析后数据包汇总到218.82.95.213对应的虚拟主机1名下。假设虚拟主机1在预设时间间隔内有4条解析后数据包,分别为1.5kb、1kb、1.2kb、1.1kb,当达到预设检测间隔时间时,获取30秒内(预设时间间隔)虚拟主机1的实际数据包大小为1.5+1+1.2+1.1=4.8kb。每个虚拟主机的实际数据包大小获取方式相同,在此不再详细描述。带宽计算模块30,用于根据各虚拟主机的实际数据包大小,计算各虚拟主机的实际带宽具体为:带宽计算模块30,用于分别将各虚拟主机的实际数据包大小除以预设时间间隔,得到各虚拟主机的实际带宽。具体的,实际带宽的单位为m/s,因此,在计算时需要将预设时间间隔的单位换算为秒。例如:预设时间间隔为1分钟,虚拟主机2的实际数据包大小为90m,则虚拟主机2的实际带宽为90/60=1.5m/s。其他虚拟主机的计算相同,在此不再赘述。带宽判断模块40,用于分别判断各虚拟主机的实际带宽是否大于其对应的带宽上限;网络断开模块50,用于当存在有虚拟主机的实际带宽大于其对应的带宽上限时,断开所述虚拟主机的网络。信息接收模块60,用于接收管理后台服务器发送的配置信息,所述配置信息包括:各虚拟主机的带宽上限。本实施例的节点服务器上实时抓取、汇总各虚拟主机的解析后数据包,周期性地进行带宽判断,有效地实现对各虚拟主机是否被恶意攻击的监控,若出现情况,及时采取措施,保护此节点服务器上未被恶意攻击的虚拟主机的正常运行。图5示出了本发明的虚拟主机被恶意攻击的监控系统一个实施例,包括:一台管理后台服务器100和多个如上述节点服务器任一实施例所述的节点服务器200。管理后台服务器将各节点服务器上的虚拟主机对应的带宽上限发送给各节点服务器,方便各节点服务器自行实现对各虚拟主机恶意攻击的监控。工程师可根据每个虚拟主机处理的不同业务分配不同的带宽上限。本实施例中由管理后台服务器统一配置各节点服务器的虚拟主机的带宽上限,方便工程师实现统一管理,使用方便、快捷。应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1