DDoS攻击的防护系统的制作方法

文档序号:11253785阅读:404来源:国知局
本发明涉及网络
技术领域
:,尤其涉及一种ddos攻击的防护系统。
背景技术
::随着互联网技术的发展,生产、生活对于互联网的依赖程度日益提高,网络安全需求尤为凸显。分布式拒绝服务(distributeddenialofservice,ddos)攻击是指一个或者多个攻击者通过控制大量的计算机作为攻击源,同时向某个目标发送大量的数据,最终导致目标瘫痪的一种恶意的网络行为。目前对于ddos防护的实现方式,主要有如下几种方式:(1)防护设备通过使用支持高带宽、高吞吐率的专业防护设备,根据防护策略实现对流量的清洗,将清洗后的流量转发到真实服务。此种解决方案,需要预留额外的高带宽和购买专业防护设备。(2)云盾服务通过云平台内容分发网络(contentdeliverynetwork,cdn)方式实现请求流量的分流,将用户域名的域名系统(domainnamesystem,dns)解析至防护云网络,以反向代理方式,将用户流量分摊到云服务中,通过软防护策略实现流量清洗,封堵异常流量和请求,将清洗后的流量转发到用户真实服务。此种情况请求的出入流量都会经过防护云网络。此种解决方案,需要购买云盾服务,并且还需要源站对cdn服务有很好的支持。(3)黑洞路由在网络设备中,将异常请求源的流量引入黑洞路由,将请求默默抛弃,而不指明原因,以达到防护作用。此种解决方案需判定异常源的网络地址,并需要路由设备,可能会封堵正常的流量。目前市面上现有的防护技术,多需要采购额外的设备或服务,并需要专业的网络人员进行维护,增加了采购成本和维护成本。技术实现要素:本发明提供了一种ddos攻击的防护系统,以解决现有技术中的ddos攻击防护需要额外增加采购成本和维护成本的问题。本发明实施例提供了一种ddos攻击的防护系统,包括:服务器和监控终端;所述服务器包括采集模块、预处理模块、判断模块、告警模块、封锁模块和解封模块;所述采集模块用于,采集网络状态数据,所述网络状态数据包含用户访问数据和对应的用户ip地址;所述预处理模块用于,将所述网络状态数据按照第一预设规则进行筛选,得到预处理网络状态数据;所述判断模块用于,根据第二预设规则判断所述预处理网络状态数据是否为ddos攻击数据,如果是,将所述ddos攻击数据和对应的用户的ip地址发送给告警模块;所述告警模块用于,判断当前时间是否属于第一预设时间,如果否,则生成告警信息发送给监控终端,并将所述ddos攻击数据和对应的用户的ip地址发送给封锁模块;所述封锁模块用于,对所述ddos攻击数据和对应的用户的ip地址进行封锁处理;所述解封模块用于,当当前时间超出第二预设时间时,对所述封锁模块发送的所述ddos攻击数据和对应的用户的ip地址进行解封处理;所述监控终端用于,接收所述预处理模块发送的所述预处理网络状态数据,将所述预处理网络状态数据进行可视化处理并进行展示。进一步的,所述系统还包括存储模块;所述存储模块用于将所述预处理网络状态数据存储在influxdb数据库中。进一步的,所述监控终端具体用于:接收所述预处理模块发送的所述预处理网络状态数据,利用grafana将所述预处理网络状态数据进行可视化处理并进行展示。进一步的,所述封锁模块具体用于:生成对所述ddos攻击数据和对应的用户的ip地址的封锁命令;将所述封锁命令加载在防火墙iptables上。进一步的,所述解封模块具体用于:当当前时间超出第二预设时间时,撤销加载在所述iptables上的所述封锁命令。本发明实施例提供的ddos攻击的防护系统,采集模块采集网络状态数据,网络状态数据包含用户访问数据和对应的用户ip地址;预处理模块用于,将网络状态数据按照第一预设规则进行筛选,得到预处理网络状态数据;判断模块根据第二预设规则判断预处理网络状态数据是否为ddos攻击数据,如果是,将ddos攻击数据和对应的用户的ip地址发送给告警模块;告警模块判断当前时间是否属于第一预设时间,如果否,则生成告警信息发送给监控终端,并将ddos攻击数据和对应的用户的ip地址发送给封锁模块;封锁模块对ddos攻击数据和对应的用户的ip地址进行封锁处理;解封模块当当前时间超出第二预设时间时,对封锁模块发送的ddos攻击数据和对应的用户的ip地址进行解封处理;监控终端接收预处理模块发送的预处理网络状态数据,将预处理网络状态数据进行可视化处理并进行展示。本发明实施例提供的系统,基于开源的linux操作系统,在零采购成本和零维护成本的情况下实现ddos攻击的防护。可直接独立部署于各个应用服务的前端,亦可支持分布式和集中展示,易于部署和维护,界面友好,告警方式多样。附图说明图1为本发明实施例提供的ddos攻击的防护系统的示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明结合iptables(开源linux操作系统内核集成的防火墙)、grafana(开源的度量仪表盘和图形编辑器)、influxdb(开源分布式时序、事件和指标数据库)、python(一种编程语言),实现可配置、可管理、可视化、可告警、集群化的方式有效的预见ddos攻击行为、防护ddos攻击行为、告警ddos攻击行为。本发明具有以下优点:1、无需预留带宽:本发明设计目的为针对轻量级ddos防护,在检测到ddos攻击行为时,采用的是丢弃或限速策略。2、无需反向代理:因本发明基于linux内核实现,目前市面上大部分系统架构均基于开源linux系统环境,本系统可直接集成于用户现有应用服务架构前端。3、无需网络设备:因本系统实现防护原理是基于linux内核的iptables模块,该模块支持路由,防火墙等功能。下面结合图1所示的ddos攻击的防护系统示意图,对本发明实施例提供的ddos攻击的防护系统进行详细说明。如图1所示,本发明提供的ddos攻击的防护系统主要包括:服务器1和监控终端2;服务器1包括采集模块11、预处理模块12、判断模块13、告警模块14、封锁模块15和解封模块16。采集模块11用于,采集网络状态数据,网络状态数据包含用户访问数据和对应的用户ip地址。具体的,预先生成配置文件,配置文件中定义了数据格式,添加了参数,采集模块11根据配置文件中的规则采集网络状态数据。网络状态数据中包含了所有通过当前服务器的网络连接数据以及对应访问网络连接的用户的ip地址。预处理模块12用于,将网络状态数据按照第一预设规则进行筛选,得到预处理网络状态数据。接收到采集模块11采集的网络状态数据之后,预处理模块12根据预设的筛选条件进行筛选,第一预设规则为本领域技术人员根据具体需要设置的筛选条件规则。判断模块13用于,根据第二预设规则判断预处理网络状态数据是否为ddos攻击数据,如果是,将ddos攻击数据和对应的用户的ip地址发送给告警模块。其中,第二预设规则为本领域技术人员根据具体需要定义的规则。利用第二预设规则对网络状态数据进行分析,筛选出异常网络状态数据,再将异常网络状态数据与白名单进行比较,去除非ddos攻击数据,最终得到ddos攻击数据。例如,第二预设规则可以是某个时间段内,某个ip地址的用户发起请求10次,大大超过了预设的5次,则判断该网络状态数据为异常网络状态数。另外,判断模块还需要判断当前的工作模式,如果为监听模式,则记录ddos攻击数据,不做其他处理;如果为非监听模式,则将ddos攻击数据和对应的用户的ip地址发送给告警模块进行处理。告警模块14用于,判断当前时间是否属于第一预设时间,如果否,则生成告警信息发送给监控终端,并将ddos攻击数据和对应的用户的ip地址发送给封锁模块。其中,第一预设时间为本领域技术人员根据具体需要设置的维护时间段。如果当前时间属于维护时间段,则不做处理。如果属于非维护时间段,则根据ddos攻击数据的内容信息和特征信息生成告警信息,并将ddos攻击数据和对应的用户的ip地址发送给封锁模块进行处理。其中,告警信息具体可以是向监控终端发送的告警邮件信息,也可以是声音告警信息等其他形式的告警信息。封锁模块15用于,对ddos攻击数据和对应的用户的ip地址进行封锁处理。具体的,生成对ddos攻击数据和对应的用户的ip地址的封锁命令;将封锁命令加载在防火墙iptables上。本领域技术人员无需付出创造性劳动即可得出的其他封锁策略均认为属于本发明技术方案的保护范围。解封模块16用于,当当前时间超出第二预设时间时,对封锁模块发送的ddos攻击数据和对应的用户的ip地址进行解封处理。具体的,当当前时间超出第二预设时间时,撤销加载在iptables上的封锁命令。对ddos攻击数据封锁预设时间后,如果当前时间超出预先设置的封锁时间段时,解除加载在防火墙上的封锁命令。另外,系统还包括存储模块17;存储模块17用于将预处理网络状态数据存储在influxdb数据库中。监控终端2用于,接收预处理模块12发送的预处理网络状态数据,将预处理网络状态数据进行可视化处理并进行展示。具体的,接收预处理模块12发送的网络状态数据,利用grafana将网络状态数据进行可视化处理并进行展示。本发明实施例提供的ddos攻击的防护系统,采集模块采集网络状态数据,网络状态数据包含用户访问数据和对应的用户ip地址;判断模块根据第一预设规则判断网络状态数据是否为ddos攻击数据,如果是,将ddos攻击数据和对应的用户的ip地址发送给告警模块;告警模块判断当前时间是否属于第一预设时间,如果否,则生成告警信息发送给监控终端,并将ddos攻击数据和对应的用户的ip地址发送给封锁模块;封锁模块用于对ddos攻击数据和对应的用户的ip地址进行封锁处理;解封模块用于当当前时间超出第一预设时间时,对封锁模块发送的ddos攻击数据和对应的用户的ip地址进行解封处理;监控终端用于接收采集模块发送的网络状态数据,将网络状态数据进行可视化处理并进行展示。本发明实施例提供的系统,基于开源的linux操作系统,在零采购成本和零维护成本的情况下实现ddos攻击的防护。可直接独立部署于各个应用服务的前端,亦可支持分布式和集中展示,易于部署和维护,界面友好,告警方式多样。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件来实现,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。具体地,所述运算和控制部分都可以通络逻辑硬件实现,其可以是使用集成电路工艺制造出来的逻辑集成电路,本实施例对此不作限定。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
:内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1