一种基于可编程交换机的DDOS防御方法、装置、设备及介质转让专利

申请号 : CN202110404920.X

文献号 : CN112968913B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 游小胜金义

申请人 : 浪潮思科网络科技有限公司

摘要 :

本说明书实施例公开了一种基于可编程交换机的DDOS防御方法、装置、设备及介质,方法包括:根据待保护服务器的访问流量确定待保护服务器的运行状态;判定待保护服务器为正常状态时,对可编程交换机进行动态训练,记录访问过待保护服务器的第一源IP;判定待保护服务器为疑似异常状态时,若根据预先写入的白名单中的第二源IP和第一源IP,判定出访问待保护服务器的第三源IP为陌生IP流量;若根据报文信息识别出陌生IP流量是DDOS攻击流量,则将DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警,通过可编程交换机实现了DDOS流量的识别,并及时上报,保证了待保护服务器对正常流量的接收,有效节省用户资源。

权利要求 :

1.一种基于可编程交换机的DDOS防御方法,其特征在于,所述方法包括:根据待保护服务器的访问流量确定所述待保护服务器的运行状态;

判定所述待保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服务器的第一源IP;

判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;

若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警。

2.根据权利要求1所述的一种基于可编程交换机的DDOS防御方法,其特征在于,在所述根据待保护服务器的访问流量确定所述待保护服务器的运行状态之前,所述方法还包括:在可编程交换机上对待保护服务器进行配置,根据已知的所述第二源IP设置白名单,其中,所述白名单中的第二源IP的流量可通过所述可编程交换机到达所述待保护服务器。

3.根据权利要求1所述的一种基于可编程交换机的DDOS防御方法,其特征在于,在所述根据待保护服务器的访问流量确定所述待保护服务器的运行状态之前,所述方法还包括:在可编程交换机上对待保护服务器进行配置,预设待保护服务器目的IP的流量阈值,其中,所述流量阈值用于确保所述待保护服务器正常运行;

所述判定所述待保护服务器为疑似异常状态,具体包括:若所述待保护服务器的访问流量超过所述流量阈值,则判定所述待保护服务器的运行状态为疑似异常状态。

4.根据权利要求1所述的一种基于可编程交换机的DDOS防御方法,其特征在于,所述若根据报文信息识别所述陌生IP流量是DDOS攻击流量,具体包括:所述报文信息包括同步标志的个数与确认标志的个数,若所述报文信息中的同步标志的个数大于所述确认标志的个数,判定为DDOS攻击。

5.根据权利要求1所述的一种基于可编程交换机的DDOS防御方法,其特征在于,所述根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量,具体包括:

访问所述待保护服务器的源IP既不在白名单中的第二源IP也不在所述记录访问过所述待保护服务器的第一源IP中,则判定访问所述待保护服务器的第三源IP为陌生IP流量。

6.根据权利要求1所述的一种基于可编程交换机的DDOS防御方法,其特征在于,在所述若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警之后,所述方法还包括:若访问所述待保护服务器的第三源IP为白名单中的第二源IP,则将访问所述待保护服务器的第三源IP的流量包转发至待保护服务器;

若访问所述待保护服务器的第三源IP为所述记录访问过所述待保护服务器的第一源IP,则将访问所述待保护服务器的第三源IP的流量包转发至待保护服务器;

若根据所述报文信息识别出所述陌生IP流量不是DDOS攻击流量,则将访问所述待保护服务器的第三源IP的流量包转发至待保护服务器。

7.根据权利要求1所述的一种基于可编程交换机的DDOS防御方法,其特征在于,在所述根据待保护服务器的访问流量确定所述待保护服务器的运行状态之前,所述方法还包括:在所述可编程交换机上设置黑名单中的第四源IP,其中,所述第四源IP发出的数据报文为已知攻击报文,所述可编程交换机将所述第四源IP的数据报文进行拦截。

8.一种基于可编程交换机的DDOS防御装置,其特征在于,所述装置包括:确定单元,用于根据待保护服务器的访问流量确定所述待保护服务器的运行状态;

记录单元,用于判定所述待保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服务器的第一源IP;

判定单元,用于判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;

上传单元,用于若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警。

9.一种基于可编程交换机的DDOS防御设备,包括:至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:根据待保护服务器的访问流量确定所述待保护服务器的运行状态;

判定所述待保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服务器的第一源IP;

判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;

若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警。

10.一种存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:

根据待保护服务器的访问流量确定所述待保护服务器的运行状态;

判定所述待保护服务器为正常状态时,对可编程交换机进行动态训练,记录访问过所述待保护服务器的第一源IP;

判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;

若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警。

说明书 :

一种基于可编程交换机的DDOS防御方法、装置、设备及介质

技术领域

[0001] 本说明书涉及网络通信技术领域,尤其涉及一种基于可编程交换机的DDOS防御方法、装置、设备及介质。

背景技术

[0002] 分布式拒绝服务攻击(Distributed Denial of Service,DDOS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的
多台机器并利用这些机器对受害者同时实施攻击,由于攻击的发出点是分布在不同地方
的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。
[0003] 一个完整的DDOS攻击体系由攻击者、主控端、代理端和攻击目标四部分组成。主控端和代理端分别用于控制和实际发起攻击,其中主控端只发布命令而不参与实际的攻击,
代理端发出DDOS的实际攻击包。对于主控端和代理端的计算机,攻击者有控制权或者部分
控制权,在攻击过程中会利用各种手段隐藏不被发现。真正的攻击者一旦将攻击的命令传
送到主控端,攻击者就可以关闭或离开网络,由主控端将命令发布到各个代理主机上,这样
攻击者可以逃避追踪。每一个攻击代理主机都会向目标主机发送大量的服务请求数据包,
这些数据包经过伪装,无法识别它的来源,而且这些数据包所请求的服务往往要消耗大量
的系统资源,造成目标主机无法为用户提供正常服务,甚至导致系统崩溃。

发明内容

[0004] 本说明书一个或多个实施例提供了一种基于可编程交换机的DDOS防御方法、装置、设备及介质,用于解决如下技术问题:当服务器被DDOS攻击后,会产生大量的流量,且会
有大量无效或慢速的请求占用宽带,导致正常流量无法访问。
[0005] 本说明书一个或多个实施例采用下述技术方案:
[0006] 本说明书一个或多个实施例提供一种基于可编程交换机的DDOS防御方法,所述方法包括:根据待保护服务器的访问流量确定所述待保护服务器的运行状态;判定所述待保
护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服务
器的第一源IP;判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的
第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;若根
据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至
可编程交换机控制面,并发出告警
[0007] 进一步地,在所述根据待保护服务器的访问流量确定所述待保护服务器的运行状态,之前,所述方法还包括:在可编程交换机上对待保护服务器进行配置,根据已知的所述
第二源IP设置白名单,其中,所述白名单中的第二源IP的流量可通过所述可编程交换机到
达所述待保护服务器。
[0008] 进一步地,在所述根据待保护服务器的访问流量确定所述待保护服务器的运行状态,之前,所述方法还包括:在可编程交换机上对待保护服务器进行配置,预设待保护服务
器目的IP的流量阈值,其中,所述流量阈值用于确保所述待保护服务器正常运行;所述判定
所述待保护服务器为疑似异常状态,具体包括:若所述待保护服务器的访问流量超过所述
流量阈值,则判定所述待保护服务器的运行状态为疑似异常状态。
[0009] 进一步地,所述若根据报文信息识别所述陌生IP流量是DDOS攻击流量,具体包括:所述报文信息包括同步标志的个数与确认标志的个数,若所述报文信息中的同步标志的个
数大于所述确认标志的个数,判定为DDOS攻击。
[0010] 进一步地,所述根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量,具体包括:所述待保护服务器的源IP既不
在白名单中的第二源IP也不在所述记录访问过所述待保护服务器的第一源IP中,则判定访
问所述待保护服务器的第三源IP为陌生IP流量。
[0011] 进一步地,在所述若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警,之后,所述方法还包
括:若所述待保护服务器的第三源IP为白名单中的第二源IP,则将所述待保护服务器的第
三源IP的流量包转发至待保护服务器;若所述待保护服务器的第三源IP为所述记录访问过
所述待保护服务器的第一源IP,则将所述待保护服务器的第三源IP的流量包转发至待保护
服务器;若根据所述报文信息识别出所述陌生IP流量不是DDOS攻击流量,则将所述待保护
服务器的第三源IP的流量包转发至待保护服务器。
[0012] 进一步地,在所述根据待保护服务器的访问流量确定所述待保护服务器的运行状态之前,所述方法还包括:在所述可编程交换机上设置黑名单中的第四源IP,其中,所述第
四源IP发出的数据报文为已知攻击报文,所述可编程交换机将所述第四源IP的数据报文进
行拦截。
[0013] 本说明书一个或多个实施例提供一种基于可编程交换机的DDOS防御装置,所述装置包括:确定单元,用于根据待保护服务器的访问流量确定所述待保护服务器的运行状态;
记录单元,用于判定所述待保护服务器为正常状态时,对所述可编程交换机进行动态训练,
记录访问过所述待保护服务器的第一源IP;判定单元,用于判定所述待保护服务器为疑似
异常状态时,若根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待
保护服务器的第三源IP为陌生IP流量;上传单元,用于若根据报文信息识别所述陌生IP流
量是DDOS攻击流量,则将所述DDOS攻击的流量包上传至可编程交换机控制面,并发出告警。
[0014] 本说明书一个或多个实施例提供一种基于可编程交换机的DDOS防御设备,包括:
[0015] 至少一个处理器;以及,
[0016] 与所述至少一个处理器通信连接的存储器;其中,
[0017] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
[0018] 根据待保护服务器的访问流量确定所述待保护服务器的运行状态;判定所述待保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服务
器的第一源IP;判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的
第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;若根
据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至
可编程交换机控制面,并发出告警。
[0019] 本说明书一个或多个实施例提供的一种存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:根据待保护服务器的访问流量确定所述待保护服务器的运行
状态;判定所述待保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问
过所述待保护服务器的第一源IP;判定所述待保护服务器为疑似异常状态时,若根据预先
写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为
陌生IP流量;若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流
量的流量包上传至可编程交换机控制面,并发出告警。
[0020] 本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0021] 根据待保护服务器的访问流量确定待保护服务器的运行状态,根据运行状态、训练过程中记录的第一源IP、预先写入的白名单中的第二源IP与报文信息,判断访问待保护
服务器的第三源IP是否为陌生IP流量,进一步识别DDOS攻击流量,将DDOS流量包上传至可
编程交换机控制面,并向用户发出告警,通过可编程交换机实现了DDOS流量的识别,并及时
上报,保证了待保护服务器对正常流量的接收,有效节省用户资源。

附图说明

[0022] 为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是
本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的
前提下,还可以根据这些附图获得其他的附图。在附图中:
[0023] 图1为本申请实施例提供的一种基于可编程交换机的DDOS防御方法流程图;
[0024] 图2为本申请实施例提供的一种可编程交换机的编译过程示意图;
[0025] 图3为本申请实施例提供的一种基于可编程交换机的DDOS防御装置的结构示意图;
[0026] 图4为本申请实施例提供的一种基于可编程交换机的DDOS防御设备的结构示意图。

具体实施方式

[0027] 本说明书实施例提供一种基于可编程交换机的DDOS防御方法、装置、设备及介质。为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例
中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例
仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技
术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护
的范围。
[0028] 分布式拒绝服务攻击(Distributed Denial of Service,DDOS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的
多台机器并利用这些机器对受害者同时实施攻击,由于攻击的发出点是分布在不同地方
的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。
[0029] 一个完整的DDOS攻击体系由攻击者、主控端、代理端和攻击目标四部分组成。主控端和代理端分别用于控制和实际发起攻击,其中主控端只发布命令而不参与实际的攻击,
代理端发出DDoS的实际攻击包。对于主控端和代理端的计算机,攻击者有控制权或者部分
控制权,在攻击过程中会利用各种手段隐藏不被发现。真正的攻击者一旦将攻击的命令传
送到主控端,攻击者就可以关闭或离开网络,由主控端将命令发布到各个代理主机上,这样
攻击者可以逃避追踪。每一个攻击代理主机都会向目标主机发送大量的服务请求数据包,
这些数据包经过伪装,无法识别它的来源,而且这些数据包所请求的服务往往要消耗大量
的系统资源,造成目标主机无法为用户提供正常服务,甚至导致系统崩溃。
[0030] 需要说明的是,分布式拒绝服务攻击(Distributed Denial of Service,DDOS)DDOS攻击可以分ICMP Flood、UDP Flood,Slowloris攻击、Hash冲突攻击、SYN Flood攻击、
DNS Query Flood攻击等,其中SYN Flood攻击是当前的主流攻击方式。
[0031] 在本申请的实施例中,主要针对SYN Flood攻击的DDOS攻击进行防御。本领域技术人员可以明确的是,SYN Flood攻击利用了TCP三次握手的缺陷,其中TCP三次握手过程包
括:客户端发送一个包含同步标志(Synchronous,SYN)标志的TCP报文,服务器在收到客户
端的SYN报文后,将返回一个SYN+确认标志(Acknowledgement,ACK)的报文,表示客户端的
请求被接受客户端也返回一个确认报文ACK给服务器端。SYN Flood攻击时,攻击者伪装大
量的源IP给服务器发送SYN报文,但由于源IP的地址是伪造的不存在的IP地址,也就是说,
服务器接收不到应答。因此,服务器会维持一个庞大的等待列表,不断发送SYN+ACK报文,同
时占用着大量的资源无法释放,并且被攻击的服务器无法接收新的SYN请求,正常流量无法
与服务器建立连接。
[0032] 附图1为本申请实施例提供的一种基于可编程交换机的DDOS防御方法流程图,下面结合附图对本申请实施例进行说明,一种基于可编程交换机的DDOS防御方法包括如下步
骤:
[0033] 步骤S102,根据待保护服务器的访问流量确定所述待保护服务器的运行状态。
[0034] 进一步地,步骤S102之前,方法还包括:在可编程交换机上对待保护服务器进行配置,根据已知的第二源IP设置白名单,其中,白名单中的第二源IP的流量可通过可编程交换
机到达待保护服务器。方法还包括:在可编程交换机上对待保护服务器进行配置,预设待保
护服务器目的IP的流量阈值,其中,所述流量阈值用于确保所述待保护服务器正常运行。方
法还包括:在可编程交换机上设置黑名单中的第四源IP,其中,第四源IP发出的数据报文为
已知攻击报文,可编程交换机将第四源IP的数据报文进行拦截。
[0035] 在本申请的一个实施例中,预先对所有通过可编程交换机保护的服务器进行配置,具体的配置方案包括:首先,在可编程交换机上配置每台待保护服务器的目的IP流量阈
值,其中,流量阈值用于确保待保护服务器正常运行。例如目的IP192.168.100.8服务器支
持的流量最大值为100M,该服务器正常运行时的流量为60M,则设置目的IP192.168.100.8
服务器的流量阈值为60M,再比如,目的IP192.168.100.9服务器支持的流量最大值为10G,
该服务器正常运行时的流量为8G,则设置目的IP192.168.100.9服务器的流量阈值为8G。
[0036] 其次,在可编程交换机上根据已知的第二源IP设置白名单,其中,白名单中的第二源IP的流量可通过可编程交换机到达待保护服务器;在可编程交换机上设置黑名单中的第
四源IP,其中,第四源IP发出的数据报文为已知攻击报文,可编程交换机将第四源IP的数据
报文进行拦截,第四源IP可以是之前识别过的攻击源IP,也可以是公认的被熟知的攻击源
IP,需要说明的是,黑名单中的第四源IP为不可信源IP,第四源IP发出的数据报文为可疑攻
击报文,可编程交换机对可疑攻击报文进行拦截。
[0037] 步骤S104,判定所述待保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服务器的第一源IP。
[0038] 在本申请的一个实施例中,在待保护服务器正常运行状态时,基于正常访问流量在可编程交换机上进行动态训练。在对可编程交换机进行训练时,选取服务器运行状态较
好的时段,记录第一源IP的访问记录;停止训练时,停止记录源IP的访问记录。需要说明的
是,可以选择服务器运行状态较好时的不同时段进行多次训练,通过根据不同时段进行多
次训练的学习过程,尽可能多的找到第一源IP。另外,在可编程交换机的正常工作中,源IP
若在记录的第一源IP的访问记录中,则认为该源IP为正常流量,也就是说,该未知源IP之前
已经与待保护服务器进行正常交互。
[0039] 步骤S106,判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量。
[0040] 进一步地,步骤S106具体包括:若待保护服务器的访问流量超过流量阈值,则判定待保护服务器的运行状态为疑似异常状态;还包括:待保护服务器的源IP既不在白名单中
的第二源IP也不在记录访问过待保护服务器的第一源IP中,则判定访问待保护服务器的第
三源IP为陌生IP流量。
[0041] 在本申请的一个实施例中,若待保护服务器的访问流量超过预先设置的流量阈值,则判定该服务器的运行状态为疑似异常状态,也就是说,该服务器此时存在被攻击IP攻
击的可能。之后,对访问该服务器的源IP进行判断,若访问还服务器的第三源IP既不是白名
单中的第二源IP,也不是在训练过程中记录过的第一源IP,则判定访问该服务器的第三源
IP为陌生源IP流量。
[0042] 在本申请的一个实施例中,统计待保护的服务器接收到的特定报文信息,其中,特定报文信息包括同步标志(Synchronous,SYN)个数和确认标志(Acknowledgement,ACK)个
数;并统计报文信息的源IP,将统计的特定报文信息和特定报文信息的源IP保存在可编程
交换机的寄存器中。需要说明的是,可编程交换机中存在寄存器,但寄存器的大小有限,通
常为几十兆的容量,当报文传输过来之后,由于寄存器存储的限制,无法将所有报文的信息
都储存至寄存器中,因此只保存SYN和ACK个数以及源IP。
[0043] 步骤S108,若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交换机控制面,并发出告警。
[0044] 进一步地,步骤S108具体包括:报文信息包括同步标志的个数与确认标志的个数,若报文信息中的同步标志的个数大于确认标志的个数,判定为DDOS攻击。
[0045] 在本申请的一个实施例中,在步骤S106判定访问该服务器的第三源IP为陌生IP流量后,根据特定报文信息识别陌生IP流量是否为DDOS攻击。具体地,若报文信息中的同步标
志的个数大于确认标志的个数,判定为DDOS攻击。需要说明的是,DDOS攻击可以是SYN 
FLOOD类型的DDOS攻击。针对SYNFLOOD类型的DDOS攻击,可编程交换机可以针对每一个被保
护服务器进行报文TCP FLAG的统计,例如可以统计某个服务器的tcp syn个数以及tcp ack
个数,进而比较某一个源IP连接目的IP时发送的SYN个数以及ACK个数,一旦SYN个数大于
ACK个数,则确认这个源IP为SYN FLOOD类型的DDOS攻击。
[0046] 在本申请的一个实施例中,可编程交换机在识别出访问待保护服务器的第三源IP为DDOS攻击IP之后,将该源IP发送的数据报文通过CPU转发到控制面,并可以将报文转发至
用户指定的监控服务器向用户发出被攻击的告警信息。需要说明的是,可编程交换机包括
CPU和多个物理口,经过可编程交换机转发的报文通过物理口转发至对应服务器,当可编程
交换机在数据面识别出DDOS攻击后,DDOS数据报文就被可编程交换机上传至内部CPU进行
内部识别以用于通知用户,而不发送至物理口,也就是说,DDOS数据包无法到达服务器。
[0047] 在步骤S108之后,方法还包括:若待保护服务器的第三源IP为白名单中的第二源IP,则将待保护服务器的第三源IP的流量包转发至待保护服务器;若待保护服务器的第三
源IP为记录访问过所述待保护服务器的第一源IP,则将待保护服务器的第三源IP的流量包
转发至待保护服务器;若根据报文信息识别出陌生IP流量不是DDOS攻击流量,则将待保护
服务器的第三源IP的流量包转发至待保护服务器。
[0048] 在本申请的一个实施例中,若待保护服务器的第三源IP为记录访问过所述待保护服务器的第一源IP,说明该第三源IP为待保护服务器正常运行状态下访问过待保护服务器
的源IP,该第三源IP为交互的源IP,则将待保护服务器的第三源IP的流量包转发至待保护
服务器,通过可编程交换机完成正常源IP流量的转发。若待保护服务器的第三源IP为白名
单中的第二源IP,也就是说,该第三源IP为待保护服务器预先设置的可以访问的白名单源
IP,则将待保护服务器的第三源IP的流量包转发至待保护服务器,通过可编程交换机完成
正常源IP流量的转发。
[0049] 在本申请的一个实施例中,在步骤S106判定访问该服务器的第三源IP为陌生IP流量后,若根据报文信息识别出陌生IP流量不是DDOS攻击流量,则将待保护服务器的第三源
IP的流量包转发至待保护服务器。
[0050] 在本申请的一个实施例中,需要对可编程交换机进行编译,图2给出了可编程交换机的编译过程示意图。首先是参数配置,报文从交换机的某个物理端口的收报阶段进入参
数解析过程,具体的,报文先从交换机的某个端口的ingress阶段进入iparser。经过入口阶
段的包头解析过程后,进入逻辑处理过程(MAU),在逻辑处理过程中包括流量统计(acl_
meter)由于报文经由可编程交换机的某个物理端口进入,一个服务器的报文可以从多个物
理端口进入,流量统计的目的在于统计服务的访问数据以用于确定访问服务器的流量。逻
辑处理过程还包括源IP训练、报文信息统计、二层交换与三层路由处理。其中,源IP训练可
以是sip_learn,是指在训练阶段针对源IP进行动态训练,以用于确定访问过服务器的第一
源IP;报文信息统计可以是syn_count,ack_count,目的在于统计报文信息中的SYN的个数
和ACK的个数。另外,二层交换可以是L2‑control,包括mac学习,vlan转发等,三层路由处理
可以是L3‑control,比如nexthop,nat等。需要说明的是,L2‑control和L3‑control用于正
常流量的二三层转发,也就是说,通过逻辑处理过程,可编程交换机可以在数据面识别出
DDOS流量的同时,并且还可以实现正常流量的L2和L3的转发,节省用户成本。
[0051] 报文经过逻辑处理过程后,进入入口阶段的包头组装过程和报文的可编辑处理过程,也就是说,进入idparser,并进入TM(trafficmanager),需要说明的是,报文经过MAU进
入idparser以后,这个时候会有一个包出来,有的场景下会要求报文在TM里进行复制,复制
出多个包发出去,需要复制多份的时候可以在TM里进行。最后,报文进入出口阶段,也就是
egress阶段,分别经过eparser(egress阶段的包头解析),edparser(egress阶段的包头组
装)后离开交换机。
[0052] 本申请实施例提供的一种基于可编程交换机的DDOS防御装置,图3为本申请实施例提供的一种基于可编程交换机的DDOS防御装置的结构示意图,确定单元301,用于根据待
保护服务器的访问流量确定所述待保护服务器的运行状态;记录单元302,用于判定所述待
保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服
务器的第一源IP;判定单元303,用于判定所述待保护服务器为疑似异常状态时,若根据预
先写入的白名单中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP
为陌生IP流量;上传单元304,用于若根据报文信息识别所述陌生IP流量是DDOS攻击流量,
则将所述DDOS攻击的流量包上传至可编程交换机控制面,并发出告警。
[0053] 本申请实施例提供的一种基于可编程交换机的DDOS防御设备,图4为本申请实施例提供的一种基于可编程交换机的DDOS防御设备的结构示意图,包括至少一个处理器;以
及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个
处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
根据待保护服务器的访问流量确定所述待保护服务器的运行状态;判定所述待保护服务器
为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护服务器的第一
源IP;判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单中的第二源IP
和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;若根据报文信
息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上传至可编程交
换机控制面,并发出告警。
[0054] 本申请实施例还提供的一种存储介质,存储有计算机可执行指令,计算机可执行指令设置为:根据待保护服务器的访问流量确定所述待保护服务器的运行状态;判定所述
待保护服务器为正常状态时,对所述可编程交换机进行动态训练,记录访问过所述待保护
服务器的第一源IP;判定所述待保护服务器为疑似异常状态时,若根据预先写入的白名单
中的第二源IP和所述第一源IP,判定出访问所述待保护服务器的第三源IP为陌生IP流量;
若根据报文信息识别所述陌生IP流量是DDOS攻击流量,则将所述DDOS攻击流量的流量包上
传至可编程交换机控制面,并发出告警。
[0055] 本申请提供的一个或多个实施例中,根据待保护服务器的访问流量确定待保护服务器的运行状态,根据运行状态、训练过程中记录的第一源IP、预先写入的白名单中的第二
源IP与报文信息,判断访问待保护服务器的第三源IP是否为陌生IP流量,进一步识别DDOS
攻击流量,将DDOS流量包上传至可编程交换机控制面,并向用户发出告警,通过可编程交换
机实现了DDOS流量的识别,并及时上报,保证了待保护服务器对正常流量的接收。
[0056] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、
设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比
较简单,相关之处参见方法实施例的部分说明即可。
[0057] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来
执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺
序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
[0058] 以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明
书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在
本说明书的权利要求范围之内。