一种VXLAN报文防攻击的方法和装置与流程

文档序号:12752709阅读:333来源:国知局
一种VXLAN报文防攻击的方法和装置与流程

本申请涉及通信技术领域,特别涉及一种VXLAN报文防攻击的方法和装置。



背景技术:

随着云计算的快速发展,数据中心的虚拟化程度越来越高,对物理网络的要求也越来越苛刻,比如TOR交换机需要支持大规格MAC地址表;4094个VLAN(Virtual Local Area Network,虚拟局域网)无法划分海量虚拟机;需要支持多租户的网络隔离等。正是这些需求使得叠加网络技术VXLAN(Virtual Extensible Local Area Network,虚拟可扩展局域网)应运而生。

然而,在实际应用中,可能会存在仿冒的VXLAN报文的攻击,攻击者通过仿冒大量VXLAN报文发送至VTEP(VXLAN Tunneling End Point,VXLAN隧道终端),仿冒的VXLAN报文会占用VTEP设备的处理资源,使得VTEP设备没有足够的处理资源来处理接收到的VXLAN报文以外的其它报文。



技术实现要素:

有鉴于此,本申请提供一种VXLAN报文防攻击的方法和装置,用于解决当存在大量仿冒的VXLAN报文时,仿冒的VXLAN报文占用VTEP设备的处理资源,导致VTEP设备没有足够的处理资源来处理VXLAN报文以外的报文的问题。

具体地,本申请是通过如下技术方案实现的:

一种VXLAN报文防攻击的方法,应用于VXLAN隧道终点的VTEP设备,所述VTEP设备与其所在网络中的其它VTEP设备互为邻居,所述方法包括:

统计接收到的携带非本地VNI的VXLAN报文的异常数量;

判断统计出的在预设的第一单位时间内的所述异常数量是否大于预设的第一阈值;

当所述异常数量大于所述第一阈值时,将本设备每秒处理VXLAN报文的最大数量降低至预设值。

在所述VXLAN报文防攻击的方法中,还包括:

当所述异常数量小于或等于所述第一阈值时,正常处理VXLAN报文。

在所述VXLAN报文防攻击的方法中,还包括:

在将本设备每秒处理VXLAN报文的最大数量降低至预设值后,判断统计出的在预设的第二单位时间内的所述异常数量是否小于预设的第二阈值;

当该异常数量小于所述第二阈值时,将本设备每秒处理VXLAN报文的最大数量恢复为初始值。

在所述VXLAN报文防攻击的方法中,还包括:

当该异常数量大于或等于所述第二阈值时,停止处理VXLAN报文;或者,停止处理VXLAN报文N秒,并在N秒后重新正常处理VXLAN报文。

在所述VXLAN报文防攻击的方法中,还包括:

当停止处理VXLAN报文时,发出告警提示;所述告警提示用于提示用户排查攻击源。

一种VXLAN报文防攻击的装置,应用于VXLAN隧道终点的VTEP设备,所述VTEP设备与其所在网络中的其它VTEP设备互为邻居,所述装置包括:

统计单元,用于统计接收到的携带非本地VNI的VXLAN报文的异常数量;

判断单元,用于判断统计出的在预设的第一单位时间内的所述异常数量是否大于预设的第一阈值;

设置单元,用于当所述异常数量大于所述第一阈值时,将本设备每秒处理VXLAN报文的最大数量降低至预设值。

在所述VXLAN报文防攻击的装置中,还包括:

处理单元,用于当所述异常数量小于或等于所述第一阈值时,正常处理VXLAN报文。

在所述VXLAN报文防攻击的装置中,还包括:

所述判断单元,进一步用于在将本设备每秒处理VXLAN报文的最大数量降低至预设值后,判断统计出的在预设的第二单位时间内的所述异常数量是否小于预设的第二阈值;

恢复单元,用于当该异常数量小于所述第二阈值时,将本设备每秒处理VXLAN报文的最大数量恢复为初始值。

在所述VXLAN报文防攻击的装置中,还包括:

终止单元,用于当该异常数量大于或等于所述第二阈值时,停止处理VXLAN报文;或者,停止处理VXLAN报文N秒,并在N秒后重新正常处理VXLAN报文。

在所述VXLAN报文防攻击的装置中,还包括:

告警单元,用于当停止处理VXLAN报文时,发出告警提示;所述告警提示用于提示用户排查攻击源。

本申请实施例中,VTEP设备通过统计接收到的携带非本地VNI的VXLAN报文的异常数量,并判断统计出的在预设的第一单位时间内的所述异常数量是否大于预设的第一阈值,如果所述异常数量大于所述第一阈值,则将本设备每秒处理VXLAN报文的最大数量降低至预设值。实现了通过统计接收到的携带非本地VNI的VXLAN报文的异常数量,来确定可能存在的VXLAN报文攻击,并在确定出可能存在VXLAN报文攻击时,限制每秒处理VXLAN报文的最大数量,从而解决了当存在大量仿冒的VXLAN报文时,仿冒的VXLAN报文占用VTEP设备的处理资源,导致VTEP设备没有足够的处理资源来处理VXLAN报文以外的报文的问题。

附图说明

图1是本申请示出的一种VXLAN报文防攻击的方法的流程图;

图2是本申请示出的一种VXLAN报文防攻击的装置的逻辑框图;

图3是本申请示出的一种VXLAN报文防攻击的装置的硬件结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本发明实施例中的技术方案作进一步详细的说明。

VXLAN使用UDP(User Datagram Protocol,用户数据报协议)封装完整的内层以太帧,将普通以太网报文封装在UDP报文内传输。由于VXLAN使用24位VXLAN网络标识符,因此VXLAN最大支持16000000个逻辑地址,远大于VLAN最大支持的4094个逻辑地址,可以在一些应用环境下(例如:大规模云计算中心),更好地满足需求。

在VXLAN网络中,根据VXLAN的封包方式,可以将其视为一种隧道模式的网络覆盖技术,隧道端点VTEP用于将VXLAN报文封装及解封装,在一端封装报文后通过隧道向另一端VTEP发送封装的报文。

VTEP设备在接收到报文后,判断该报文报头的目的UDP端口号与本地配置的VXLAN专用端口号是否一致,如果该报文报头的目的UDP端口号与本地配置的VXLAN专用端口号一致,则确定该报文是VXLAN报文。VTEP设备进而解析VXLAN报头中的VNI(VXLAN Network Identifier,虚拟可扩展局域网网络身份),如果报头中的VNI与本地的VNI相同,则正常处理该VXLAN报文;如果报头中的VNI与本地的VNI不同,则丢弃该VXLAN报文。

然而,在实际应用中,网络上可能存在仿冒的VXLAN报文的攻击,攻击者会仿冒大量VXLAN报文,将仿冒的报文发送至VTEP设备,仿冒的VXLAN报文会占用VTEP设备的处理资源,导致VTEP设备没有足够的处理资源来处理VXLAN报文以外的其它报文。

为解决上述问题,本申请实施例的技术方案,通过在确定出可能存在VXLAN报文攻击时,限制每秒处理VXLAN报文的最大数量,使得在这种情况下,VTEP设备的处理资源不会被仿冒的VXLAN报文占用,还有处理资源用于处理正常报文,从而解决了当存在大量仿冒的VXLAN报文时,仿冒的VXLAN报文占用VTEP设备的处理资源,导致VTEP设备没有足够的处理资源来处理VXLAN报文以外的报文的问题。

参见图1,为本申请VXLAN报文防攻击的方法的一个实施例流程图,该实施例的执行主体是VTEP设备,该VTEP设备与其所在网络中的其它VTEP设备互为邻居;所述方法包括以下步骤:

步骤101:统计接收到的携带非本地VNI的VXLAN报文的异常数量。

步骤102:判断统计出的在预设的第一单位时间内的所述异常数量是否大于预设的第一阈值。

步骤103:当所述异常数量大于所述第一阈值时,将本设备每秒处理VXLAN报文的最大数量降低至预设值。

上述VTEP设备,可以支持多个VXLAN网络,用于对来自多个VXLAN的报文进行封装和解封装。

上述非本地VNI,指的是除了VTEP设备支持的多个VXLAN网络以外的其它VXLAN的网络标识符。VTEP设备在接收到携带非本地VNI的VXLAN报文后,可以丢弃该VXLAN报文。

在相关技术中,由于现有的VXLAN实现方案中,并不设计仿冒VXLAN报文的安全防护,因此VTEP设备通常无法防护仿冒的VXLAN报文的攻击,当网络上存在大量仿冒的VXLAN报文时,可能因为处理VXLAN报文导致没有足够的处理资源来处理除VXLAN报文以外的其它报文。

为解决上述问题,在本例中,可以通过统计接收到的携带非本地VNI的VXLAN报文的异常数量,来确定可能存在的VXLAN报文攻击,并在可能存在VXLAN报文攻击的情况下,限制每秒处理VXLAN报文的最大数量,使得VTEP在接收到大量仿冒的VXLAN报文时,可以有足够的处理资源来处理VXLAN报文以外的报文。

在本例中,当VTEP设备接收到报文后,首先可以判断该报文的目的UDP端口号与本地配置的VXLAN专用端口号是否一致;

如果该报文报头的目的UDP端口号与本地配置的VXLAN专用端口号一致,表明该报文是VXLAN报文,针对该VXLAN报文,VTEP设备可以进一步解析该VXLAN报文的报文头中VNI字段中携带的VNI,以确定该VXLAN报文中携带的VNI是否为非本地VNI。

一方面,如果报文头中的VNI字段中携带的VNI与本地支持的多个VXLAN中任一VXLAN的VNI相同,表明接收到的报文是正常的VXLAN报文,此时可以正常处理该VXLAN报文。

另一方面,如果报头中的VNI与本地支持的多个VXLAN的VNI均不同,表明接收到的报文可能是仿冒的VXLAN报文。

当接收到的携带非本地VNI的VXLAN报文时,此时VTEP设备可以进入检测状态,对接收到的携带非本地VNI的VXLAN报文的异常数量进行统计,并在统计完成之后丢弃携带非本地VNI的VXLAN报文。

其中,在统计携带非本地VNI的VXLAN报文的异常数量时,可以通过启用一个计数器,当接收到一个携带非本地VNI的VXLAN报文,此时可以将计数器加一,以此类推,通过这种方式,可以实时的对携带非本地VNI的VXLAN报文进行计数。

在本例中,VTEP设备在进行统计一段时间后,可以根据预设的第一单位时间,判断在该第一单位时间内的上述异常数量是否大于预设的第一阈值;其中,第一单位时间和第一阈值可以根据具体的应用环境进行设置,例如,第一单位时间可以是5分钟,第一阈值可以是15000,当VTEP设备对携带非本地VNI的VXLAN报文统计到5分钟时,判断这段时间内的异常数量是否大于15000。

其中,当第一单位时间内的异常数量小于或者等于第一阈值,即VTEP设备在5分钟内统计得到的异常数量小于或者等于15000时,VTEP设备维持检测状态,继续统计接收到的携带非本地VNI的VXLAN报文的异常数量,并正常处理VXLAN报文。

另外,当第一单位时间内的异常数量大于第一阈值,即VTEP设备在5分钟内统计得到的异常数量大于15000时,说明网络中可能存在仿冒的VXLAN报文的攻击。

在这种情况下,VTEP设备可以从检测状态切换到监控状态,对可能面临的仿冒VXLAN报文的攻击进行安全防护。

在本例中,VTEP设备在切换到监控状态后,VTEP设备可以将每秒处理VXLAN报文的最大数量降低至预设值。其中,该预设值显然小于每秒处理VXLAN报文的最大数量的初始值,可以根据应用环境进行设置,例如,该预设值可以是1000。

可见,通过这种方式,当网路中可能存在的仿冒的VXLAN报文的攻击,VTEP设备可以通过限制了每秒处理VXLAN报文的最大数量,为VXLAN报文以外的报文预留一定的处理资源,使VTEP设备有足够的处理资源去处理正常的报文,从而解决了当存在大量仿冒的VXLAN报文时,影响VTEP设备处理VXLAN报文以外的报文的问题。

在本例中,VTEP设备切换至监控状态,将每秒处理VXLAN报文的最大数量降低至预设值后,此时VTEP设备可以继续统计接收到的携带非本地VNI的VXLAN报文的异常数量,并在统计一段时间后,可以根据预设的第二单位时间,判断在该第二单位时间内的上述异常数量是否小于预设的第二阈值。

其中,第二单位时间和第二阈值可以根据具体的应用环境进行设置,第二单位时间可以与上述第一单位时间相同,也可以不相同。例如,假设第一单位时间为5分钟,则可以将第二单位时间也设置为5分钟。当然,也可以将第二单位时间设置为一个大于或者小于第一单位时间的值。由于第二阈值针对的是每秒处理VXLAN报文的最大数量被降低的应用环境,所以第二阈值与第二单位时间的比值小于第一阈值与第一单位时间的比值。

例如,在一个例子中,可以将第二单位时间设置为6分钟,将第二阈值设置为12000。当VTEP设备在将每秒处理VXLAN报文的最大数量降低至1000后,可以继续统计6分钟内接收到的携带非本地VNI的VXLAN报文的异常数量,并在统计完成后,判断上述异常数量是否小于12000。

其中,当第二单位时间内的异常数量小于第二阈值,即VTEP设备在6分钟内统计得到的异常数量小于12000时,说明网络中可能已经不存在仿冒的VXLAN报文的攻击,此时,VTEP设备可以从监控状态切换回检测状态,将每秒处理VXLAN报文的最大数量恢复为初始值,正常处理报文,并继续统计接收到的携带非本地VNI的VXLAN报文的异常数量。

另外,当第二单位时间内的异常数量大于或等于第二阈值,即VTEP设备在6分钟内统计得到的异常数量大于或等于12000时,则表明网络中仍然存在仿冒的VXLAN报文的攻击。

当VTEP设备确定网络中存在仿冒的VXLAN报文的攻击时,在一种情况下,VTEP设备可以暂停处理VXLAN报文,并发出告警提示,提示用户排查攻击源。

可见,通过暂停处理VXLAN报文,并发出告警,可以提示用户当前存在攻击,由用户在暂停时间内排查攻击源。

其中,VTEP设备的暂停时间可以根据实际应用的情况进行设置。比如,可以将该暂停时间设置为一个足以使用户在该暂停时间内能够排除出攻击源的较长时间。

当VTEP设备的暂停时间结束后,无论用户是否排查出攻击源,VTEP设备都会恢复至检测状态,在正常处理报文的同时,继续统计接收到的携带非本地VNI的VXLAN报文的异常数量。

例如,假设暂停时间为N秒,则VTEP设备在确定存在VXLAN报文攻击时,可以停止处理VXLAN报文N秒,并在N秒后重新正常处理VXLAN报文。

如果用户未成功排查到攻击源,当VTEP设备再次检查出该攻击源,仍然会对每秒处理VXLAN报文的最大数量降低至预设值,进而再次暂停处理VXLAN报文。所以,在网络中存在仿冒的VXLAN报文的攻击的情况下,VTEP设备会对处理VXLAN报文的处理资源进行限制,使仿冒的VXLAN报文的攻击对本设备的影响降至最小。

当然,如果用户成功排查到攻击源,此时VTEP设备仍然会继续对潜在的攻击进行检测,保证了网络安全性。

在另一种情况下,当VTEP设备确定网络中存在仿冒的VXLAN报文的攻击时,除了可以暂停处理VXLAN报文,还可以完全停止处理VXLAN报文(即上述N的取值无限大),并发出告警提示提示用户排查攻击源。

在确认存在仿冒的VXLAN报文的攻击时,停止处理VXLAN报文可以节省不必要的处理资源的浪费,而发出告警提示可以让用户获知存在的攻击,由用户排查攻击源,从而消除仿冒的VXLAN报文的攻击。等到用户解决攻击源之后,VTEP设备可以接收用户的指令,重新开始处理VXLAN报文。

综上所述,VTEP设备通过统计接收到的携带非本地VNI的VXLAN报文的异常数量,来确定可能存在的VXLAN报文攻击,并在可能存在VXLAN报文攻击时,限制每秒处理VXLAN报文的最大数量,并进一步验证是否存在VXLAN报文攻击,在确定存在VXLAN报文攻击的情况下,暂停处理VXLAN报文,并发出告警提示让用户排查攻击源等措施,使VXLAN报文攻击对VTEP设备的影响降至最小,解决了当存在大量仿冒的VXLAN报文时,VTEP设备一直处理仿冒的VXLAN报文,导致VXLAN报文以外的报文无法处理的问题。

与本发明VXLAN报文防攻击的方法的实施例相对应,本发明还提供了用于执行上述方法实施例的装置的实施例。

参见图2,为本发明VXLAN报文防攻击的装置的一个实施例框图:

如图2所示,该VXLAN报文防攻击的装置20包括:

统计单元210,用于统计接收到的携带非本地VNI的VXLAN报文的异常数量。

判断单元220,用于判断统计出的在预设的第一单位时间内的所述异常数量是否大于预设的第一阈值。

设置单元230,用于当所述异常数量大于所述第一阈值时,将本设备每秒处理VXLAN报文的最大数量降低至预设值。

在本例中,所述装置还包括:

处理单元240,用于当所述异常数量小于或等于所述第一阈值时,正常处理VXLAN报文。

在本例中,所述装置还包括:

所述判断单元220,进一步用于在将本设备每秒处理VXLAN报文的最大数量降低至预设值后,判断统计出的在预设的第二单位时间内的所述异常数量是否小于预设的第二阈值。

恢复单元250,用于当该异常数量小于所述第二阈值时,将本设备每秒处理VXLAN报文的最大数量恢复为初始值。

在本例中,所述装置还包括:

终止单元260,用于当该异常数量大于或等于所述第二阈值时,停止处理VXLAN报文;或者,停止处理VXLAN报文N秒,并在N秒后重新正常处理VXLAN报文。

在本例中,所述装置还包括:

告警单元270,用于当停止处理VXLAN报文时,发出告警提示;所述告警提示用于提示用户排查攻击源。

本申请VXLAN报文防攻击的装置的实施例可以应用在VTEP设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在VTEP设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请VXLAN报文防攻击的装置所在VTEP设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的VTEP设备通常根据该VXLAN报文防攻击的装置的实际功能,还可以包括其他硬件,对此不再赘述。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1