一种DDoS防御系统及方法与流程

未命名 08-15 阅读:94 评论:0

一种ddos防御系统及方法
技术领域
1.本发明属于网络安全技术领域,特别涉及一种ddos防御系统及方法。


背景技术:

2.随着互联网技术的应用越来越广泛,网络安全问题也日益突出,其中ddos因其操作简单、攻击范围广等特点成为黑客惯用的攻击方法之一。虽然ddos攻击的技术含量低,但是由于其攻击范围广,轻则会使正常客户端与服务器的通信卡顿,重则会造成服务器瘫痪,因此,ddos防御也越来越多。
3.公开号为cn105592070a的中国专利公开了一种应用层ddos防御方法及系统,通过客户端的动作信息判断用户是否为合法用户,再向合法用户发送密钥进行通信,可在不影响web业务的情况下对ddos攻击进行有效防御。在该方案中,通过客户端的动作信息进行判断用户是否合法可以将ddos攻击的肉鸡进行剔除,但是会有将一少部分合法用户划分为肉鸡的缺陷。


技术实现要素:

4.本发明的目的在于克服现有技术中存在的缺陷,提供一种ddos防御系统及方法。
5.本发明的第一方面,提供了一种ddos防御方法,包括:
6.步骤1:判断客户端是否存在伪造ip;若是,屏蔽所述ip访问请求,并将所述ip存储在ip黑名单内;若不是,将客户端与服务器通过tcp协议建立通信;
7.步骤2:服务器对来自客户端的访问请求进行ip过滤,将客户端的ip分为无访问史ip和有访问史ip;判断有访问史ip的访问历史是否满足可信用户条件,将满足可信用户条件的ip存储在ip可信名单内,将不满足可信用户条件的ip存储在ip黑名单并屏蔽ip访问请求;判断无访问史ip是否满足黑名单用户条件,将满足黑名单用户条件的ip存储在ip黑名单内,否则存储在ip白名单内;
8.步骤3:服务器与ip白名单和ip可信名单内的ip进行数据通信,并实时从所述ip可信名单内随机调取客户端,判断所述客户端与所述服务器是否通信正常,若是,则维持当前域名运行服务器通信,并将所述ip白名单内的ip转存至所述ip可信名单;若否,采用动态域名,所述动态域名绑定不同的ip,每个ip对应设置有不同的访问端口;
9.步骤4:服务器向所述ip可信名单内的客户端发送动态域名对应的访问端口链接。
10.进一步的方案为,所述步骤1中,判断是否伪造ip包括:将客户端和服务器通过路由连接,采用路由设备/路由网关检测客户端的ip,判断客户端的源地址ip是否属于所述路由设备/路由网关所在网段,若是,则认为客户端的ip未经过伪造,若否,则认为客户端的ip为伪造ip。
11.进一步的方案为,所述步骤2中,判断可信用户条件包括:获取一个单位时间内访问ip的访问频数和所述访问历史的通信速度,若所述访问频数和通信速度均大于设定阈值,则认为访问ip为可信用户。
12.进一步的方案为,判断黑名单用户条件包括:服务器获取无访问史客户端的访问内容,判断访问内容是否有效,若认定为无效内容,则客户端为黑名单ip,服务器拒绝回应当前请求。
13.进一步的方案为,所述无效内容的判定至少包括访问内容的字符数。
14.进一步的方案为,所述步骤3中,判断所述客户端与所述服务器是否通信正常的方法包括:获取所述客户端与服务器的当前通信速度,与设定的通信速度阈值进行比较,若大于通信速度阈值,则认为客户端与服务器通信正常。
15.本发明的第二方面,提供了一种ddos防御系统,包括:
16.第一判断模块,用于判断客户端是否存在伪造ip;若是,屏蔽所述ip访问请求,并将所述ip存储在ip黑名单内;若不是,将客户端与服务器通过tcp协议建立通信;
17.ip过滤模块,用于对来自客户端的访问请求进行过滤,将客户端的ip分为无访问史ip和有访问史ip;
18.第二判断模块,用于判断有访问史ip的访问历史是否满足可信用户条件,将满足可信用户条件的ip存储在ip可信名单内,将不满足可信用户条件的ip存储在ip黑名单并屏蔽ip访问请求;
19.第三判断模块,用于判断无访问史ip是否满足黑名单用户条件,将满足黑名单用户条件的ip存储在ip黑名单内,否则存储在ip白名单内;
20.通信速度检测模块,用于从ip可信名单内随机调取客户端,并检测所调取客户端与服务器之间的通信速度;
21.阈值比较模块,基于所述通信速度检测模块检测的通信速度与通信速度阈值进行比较,以确定服务器是否受到ddos攻击;
22.动态域名提供模块,用于更改服务器的域名,以及为更改后的域名绑定不同的ip,每个ip对应设置有不同的访问端口;
23.发送模块,用于将所述访问端口的链接发送至ip可信名单内的客户端。
24.进一步的方案为,所述第一判断模块包括路由设备/路由网关,所述路由设备/路由网关检测客户端的ip,判断客户端的源地址ip是否属于所述路由设备/路由网关所在网段。
25.进一步的方案为,所述第二判断模块在判断可信用户条件时,包括:获取一个单位时间内访问ip的访问频数和所述访问历史的通信速度,若所述访问频数和通信速度均大于设定阈值,则认为访问ip为可信用户。
26.进一步的方案为,所述第三判断模块还用于获取无访问史客户端的访问字符数,以及将所述字符数与字符阈值进行比较,判断访问内容是否为无效内容。
27.与现有技术相比,本发明的有益效果在于:本发明经过多次判断可精准的发现ddos攻击并将肉鸡ip保存在ip黑名单内,可有效防止相同肉鸡的再次攻击。具体的,通过判断客户端是否存在伪造ip可在传输层对肉鸡进行屏蔽;通过判断有访问史ip的访问历史是否满足可信用户条件,将满足可信用户条件的ip存储在ip可信名单内,将不满足可信用户条件的ip存储在ip黑名单并屏蔽ip访问请求;通过判断无访问史ip是否满足黑名单用户条件,将满足黑名单用户条件的ip存储在ip黑名单内,否则存储在ip白名单内,由于ip可信名单内均为合法用户,因此,通过随机调取合法用户检测其与服务器的通信状况确定服务器
是否遭受ddos攻击,当服务器受到ddos攻击时,合法客户端利用更改之后的访问端口进行正常访问。
附图说明
28.以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
29.图1:本发明方法流程图;
30.图2:本发明系统连接原理图;
31.图中:1、客户端;2、中间处理组件;3、第一判断模块;4、ip过滤模块;5、第二判断模块;6、第三判断模块;7、通信速度检测模块;8、阈值比较模块;9、服务器;10、动态域名提供模块;11、发送模块。
具体实施方式
32.为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
33.ddos攻击主要是通过对目标服务器的带宽资源进行霸占,但是在tcp协议中,需要三次握手进行连接,因此ddos攻击还包括对目标服务器的连接资源进行占用,服务器每次和客户端建立一个tcp连接时,将连接信息放入连接表中进行维护,而连表表中存放的连接信息是有限的,肉鸡可通过发起大量的tcp连接从而占满服务器的连接表,因此,无法响应后续的tcp连接请求,即tcp洪水。会直接影响客户端与服务器的传输层。但因为有三次握手的存在,因此,肉鸡无法通过伪造ip来隐藏,即,如果伪造了ip,那么就无法接收到来自服务器的第二次握手。在本实施例中,可通过路由设备/路由网关来检测客户端是否存在伪造ip。
34.一次网络访问的过程为:客户端通过网络线路向远程服务器发送请求,服务器按照客户端的请求进行计算或查询相应的数据,再通过网络线路发送给客户端,当肉鸡与服务器建立tcp连接后,如果大量发送一些无效的访问请求,还是会影响合法客户端的使用感受,因此,在本实施例中,还通过判断来自客户端请求内容的字符数进行判断该次请求是否为无效请求,进而保证合法客户端的正常体验。
35.对于实际的ddos攻击而言,如果一次性涌入大量的肉鸡,现有的服务器都可以快速确定是否受到ddos攻击,但是对于分批次、小批量的ddos攻击而言,服务器不能快速判断是否受到ddos攻击,而这些分批次、小批量的ddos攻击仍然会影响合法客户端的正常使用,因此,为了快速确定当前服务器是否受到ddos攻击,在本实施例中,还通过实时监测可信用户(即合法客户端)与服务器的通信速度来判断是否受到ddos攻击,以便在受到ddos攻击时,可快速启动预备方案。
36.实施例1
37.本实施例提供了一种ddos防御方法,该方法执行的服务器和客户端是在网络环境中是通信连接的,其中,客户端是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、便携计算机和台式计算机等等。如图1所示,该方法包括:
38.客户端与服务器连接,在连接时,判断客户端是否存在伪造ip;若是,屏蔽所述ip
访问请求,并将所述ip存储在ip黑名单内;若不是,将客户端与服务器通过tcp协议建立通信;其中,判断是否存在伪造ip的方法为:将客户端和服务器通过路由连接,采用路由设备/路由网关检测客户端的ip,判断客户端的源地址ip是否属于所述路由设备/路由网关所在网段,若是,则认为客户端的ip未经过伪造,若否,则认为客户端的ip为伪造ip。在本实施例中,判断是否存在伪造ip的方法不限于上述方法,还可以通过路由设备/路由网关获取ip地址的路径,根据路径逻辑判断是否存在伪造ip。
39.在一次网络访问请求中,客户端和服务器是通过路由设备或者路由网关进行连接的,在用户设备接入的一端,设备通过路由接入互联网服务提供商(isp),所以,只要让路由设备检测ip,把源地址ip不属于本路由所在网段的数据过滤掉,伪造ip的流量就无法发出。在互联网中不同网段依靠多个路由将彼此连接,一个数据从用户端a发送到服务器可能经过多个路由,即流量的路径。在数据发送时,用户端a的ip是可以伪造的,但是从用户端a到达服务器的路径是没有办法改变的,因此,只要路由设备或者路由网关根据ip地址的路径逻辑检测出路径存在问题,同样可以过滤掉存在问题的ip流量。
40.服务器对来自客户端的访问请求进行ip过滤,具体的,当ip请求未到达服务器之前,先对客户端的ip进行过滤,将客户端的ip分为无访问史ip和有访问史ip;判断有访问史ip的访问历史是否满足可信用户条件,将满足可信用户条件的ip存储在ip可信名单内,将不满足可信用户条件的ip存储在ip黑名单并屏蔽ip访问请求;判断无访问史ip是否满足黑名单用户条件,将满足黑名单用户条件的ip存储在ip黑名单内,否则存储在ip白名单内。其中,判断可信用户条件包括:获取一个单位时间内访问ip的访问频数和所述访问历史的通信速度,若所述访问频数和通信速度均大于设定阈值,则认为访问ip为可信用户,一般来说,客户端选择了服务器之后,会长期使用该服务器,其使用频次至少应当大于1,而在使用过程中的通信速度较快或者通信正常,可以说明该客户端在以往的访问过程中服务器并未受到ddos攻击,因此,这些客户端可判定为可信用户;反之,如果有访问史的ip访问频数较小,并且在该次访问过程中出现了网络卡顿或者服务器崩溃等类似问题,则认为该ip不满足可信用户条件。判断黑名单用户条件包括:服务器获取无访问史客户端的访问内容,判断访问内容是否有效,若认定为无效内容,则客户端为黑名单ip,服务器拒绝回应当前请求。所述无效内容的判定至少包括访问内容的字符数,在ddos攻击时,大量的肉鸡受到攻击者的远程控制向服务器发送请求,因此,发送请求的内容一般无具体含义或字符数很少又或者发送请求的内容相同,因此,在本实施例中,可预先设置访问内容的字符数阈值,如果访问的字符数小于字符数阈值,可认为访问请求的内容为无效内容。如果大量的请求信息无具体含义,同样认为请求的内容为无效内容,又或者在一段时间内收到了大量相同的请求内容,同样认为请求的内容为无效请求。为了保证合法的客户端的正常通信,在本实施例中,服务器对无效内容不进行回复。
41.服务器与ip白名单和ip可信名单内的ip进行数据通信,并实时从所述ip可信名单内随机调取客户端,判断所述客户端与所述服务器是否通信正常,若是,则维持当前域名运行服务器通信,并将所述ip白名单内的ip转存至所述ip可信名单;若否,采用动态域名,所述动态域名绑定不同的ip,每个ip对应设置有不同的访问端口;其中,所述步骤3中,判断所述客户端与所述服务器是否通信正常的方法包括:获取所述客户端与服务器的当前通信速度,与设定的通信速度阈值进行比较,若大于通信速度阈值,则认为客户端与服务器通信正
常。
42.由于在ip可信名单内的用户属于合法用户,因此,可以通过实时获取合法用户的网络通信速度判断是否受到ddos攻击。为了避免由于合法用户自身的网络问题导致通信速度慢而使得服务器误以为受到ddos攻击,在选取合法用户的过程中,应当避免长时间选择同一个用户,采用随机选取的策略。选取之后立即对该用户的通信速度进行检测,同时将检测结果与预先设置的通信速度阈值进行比较,若低于通信速度阈值,则可可以初步判断服务器遭受了ddos攻击,为了保证合法用户的正常使用,在本实施例中,服务器采用动态域名,每个动态域名都绑定了ip,每个ip对应设置有不同的访问端口,因此,可以让肉鸡无法确定服务器的新ip,因此,本次的ddos攻击也就不会影响可信用户的使用体验。当服务器判断为受到ddos攻击时,比如有多个肉鸡同时对8080端口发起攻击,此时,停掉8080端口,将后端的接口变为8081,因此,对8080端口的ddos攻击也就成为无效攻击,如果再次对8081端口进行攻击,同样又将8081端口停掉,将后端接口变为8082为前端可信用户提供服务。
43.服务器向所述ip可信名单内的客户端发送动态域名对应的访问端口链接。需要注意的是,此处的ip可信名单是实时更新的,因此,服务器会向更新之后的ip可信名单发送访问端口链接,以保证合法的客户端不受影响。
44.实施例2
45.本实施例提供了一种ddos防御系统,如图2所示,包括:
46.第一判断模块3,用于判断客户端1是否存在伪造ip;若是,屏蔽所述ip访问请求,并将所述ip存储在ip黑名单内;若不是,将客户端1与服务器9通过tcp协议建立通信;
47.ip过滤模块4,用于对来自客户端1的访问请求进行过滤,将客户端1的ip分为无访问史ip和有访问史ip;
48.第二判断模块5,用于判断有访问史ip的访问历史是否满足可信用户条件,将满足可信用户条件的ip存储在ip可信名单内,将不满足可信用户条件的ip存储在ip黑名单并屏蔽ip访问请求;
49.第三判断模块6,用于判断无访问史ip是否满足黑名单用户条件,将满足黑名单用户条件的ip存储在ip黑名单内,否则存储在ip白名单内;
50.通信速度检测模块7,用于从ip可信名单内随机调取客户端1,并检测所调取客户端1与服务器9之间的通信速度;
51.阈值比较模块8,基于所述通信速度检测模块检测的通信速度与通信速度阈值进行比较,以确定服务器9是否受到ddos攻击;
52.动态域名提供模块10,用于更改服务器9的域名,以及为更改后的域名绑定不同的ip,每个ip对应设置有不同的访问端口;
53.发送模块11,用于将所述访问端口的链接发送至ip可信名单内的客户端1。
54.在上述中,所述第一判断模块3包括路由设备/路由网关,所述路由设备/路由网关检测客户端1的ip,判断客户端1的源地址ip是否属于所述路由设备/路由网关所在网段。
55.在上述中,所述第二判断模块5在判断可信用户条件时,包括:获取一个单位时间内访问ip的访问频数和所述访问历史的通信速度,若所述访问频数和通信速度均大于设定阈值,则认为访问ip为可信用户。
56.在上述中,所述第三判断模块6还用于获取无访问史客户端1的访问字符数,以及
将所述字符数与字符阈值进行比较,判断访问内容是否为无效内容。服务器9会向更新之后的ip可信名单发送访问端口链接,以保证合法的客户端1不受影响。
57.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术特征:
1.一种ddos防御方法,其特征在于,包括:步骤1:判断客户端是否存在伪造ip;若是,屏蔽所述ip访问请求,并将所述ip存储在ip黑名单内;若不是,将客户端与服务器通过tcp协议建立通信;步骤2:服务器对来自客户端的访问请求进行ip过滤,将客户端的ip分为无访问史ip和有访问史ip;判断有访问史ip的访问历史是否满足可信用户条件,将满足可信用户条件的ip存储在ip可信名单内,将不满足可信用户条件的ip存储在ip黑名单并屏蔽ip访问请求;判断无访问史ip是否满足黑名单用户条件,将满足黑名单用户条件的ip存储在ip黑名单内,否则存储在ip白名单内;步骤3:服务器与ip白名单和ip可信名单内的ip进行数据通信,并实时从所述ip可信名单内随机调取客户端,判断所述客户端与所述服务器是否通信正常,若是,则维持当前域名运行服务器通信,并将所述ip白名单内的ip转存至所述ip可信名单;若否,采用动态域名,所述动态域名绑定不同的ip,每个ip对应设置有不同的访问端口;步骤4:服务器向所述ip可信名单内的客户端发送动态域名对应的访问端口链接。2.根据权利要求1所述的一种ddos防御方法,其特征在于,所述步骤1中,判断是否伪造ip包括:将客户端和服务器通过路由连接,采用路由设备/路由网关检测客户端的ip,判断客户端的源地址ip是否属于所述路由设备/路由网关所在网段,若是,则认为客户端的ip未经过伪造,若否,则认为客户端的ip为伪造ip。3.根据权利要求1所述的一种ddos防御方法,其特征在于,所述步骤2中,判断可信用户条件包括:获取一个单位时间内访问ip的访问频数和所述访问历史的通信速度,若所述访问频数和通信速度均大于设定阈值,则认为访问ip为可信用户。4.根据权利要求3所述的一种ddos防御方法,其特征在于,判断黑名单用户条件包括:服务器获取无访问史客户端的访问内容,判断访问内容是否有效,若认定为无效内容,则客户端为黑名单ip,服务器拒绝回应当前请求。5.根据权利要求4所述的一种ddos防御方法,其特征在于,所述无效内容的判定至少包括访问内容的字符数。6.根据权利要求1所述的一种ddos防御方法,其特征在于,所述步骤3中,判断所述客户端与所述服务器是否通信正常的方法包括:获取所述客户端与服务器的当前通信速度,与设定的通信速度阈值进行比较,若大于通信速度阈值,则认为客户端与服务器通信正常。7.一种ddos防御系统,其特征在于,包括:第一判断模块,用于判断客户端是否存在伪造ip;若是,屏蔽所述ip访问请求,并将所述ip存储在ip黑名单内;若不是,将客户端与服务器通过tcp协议建立通信;ip过滤模块,用于对来自客户端的访问请求进行过滤,将客户端的ip分为无访问史ip和有访问史ip;第二判断模块,用于判断有访问史ip的访问历史是否满足可信用户条件,将满足可信用户条件的ip存储在ip可信名单内,将不满足可信用户条件的ip存储在ip黑名单并屏蔽ip访问请求;第三判断模块,用于判断无访问史ip是否满足黑名单用户条件,将满足黑名单用户条件的ip存储在ip黑名单内,否则存储在ip白名单内;通信速度检测模块,用于从ip可信名单内随机调取客户端,并检测所调取客户端与服
务器之间的通信速度;阈值比较模块,基于所述通信速度检测模块检测的通信速度与通信速度阈值进行比较,以确定服务器是否受到ddos攻击;动态域名提供模块,用于更改服务器的域名,以及为更改后的域名绑定不同的ip,每个ip对应设置有不同的访问端口;发送模块,用于将所述访问端口的链接发送至ip可信名单内的客户端。8.根据权利要求7所述的一种ddos防御系统,其特征在于,所述第一判断模块包括路由设备/路由网关,所述路由设备/路由网关检测客户端的ip,判断客户端的源地址ip是否属于所述路由设备/路由网关所在网段。9.根据权利要求7所述的一种ddos防御系统,其特征在于,所述第二判断模块在判断可信用户条件时,包括:获取一个单位时间内访问ip的访问频数和所述访问历史的通信速度,若所述访问频数和通信速度均大于设定阈值,则认为访问ip为可信用户。10.根据权利要求7所述的一种ddos防御系统,其特征在于,所述第三判断模块还用于获取无访问史客户端的访问字符数,以及将所述字符数与字符阈值进行比较,判断访问内容是否为无效内容。

技术总结
本发明属于网络安全技术领域,具体公开了一种DDoS防御系统及方法,包括:判断客户端是否存在伪造IP,服务器对来自客户端的访问请求进行IP过滤,将客户端的IP分为无访问史IP和有访问史IP并进一步判断该IP为可信IP、白名单IP或者黑名单IP,实时从所述IP可信名单内随机调取客户端,判断所述客户端与所述服务器是否通信正常。本发明经过多次判断可精准的发现种DDoS攻击并将肉鸡IP保存在IP黑名单内,可有效防止相同肉鸡的再次攻击。防止相同肉鸡的再次攻击。防止相同肉鸡的再次攻击。


技术研发人员:王新赋
受保护的技术使用者:西安明赋云计算有限公司
技术研发日:2023.06.20
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐