CN117527309A - 一种防御分布式拒绝服务攻击的方法、装置、设备及介质 - Google Patents
一种防御分布式拒绝服务攻击的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117527309A CN117527309A CN202311370544.2A CN202311370544A CN117527309A CN 117527309 A CN117527309 A CN 117527309A CN 202311370544 A CN202311370544 A CN 202311370544A CN 117527309 A CN117527309 A CN 117527309A
- Authority
- CN
- China
- Prior art keywords
- request
- information
- request message
- client identifier
- defending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004458 analytical method Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000007123 defense Effects 0.000 abstract description 20
- 238000013500 data storage Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005242 forging Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9015—Buffering arrangements for supporting a linked list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种防御分布式拒绝服务攻击的方法、装置、设备及介质,应用于计算机安全技术领域,包括:基于主、备管理节点创建共享数据盘;当接收到客户端的请求报文时,解析请求报文,得到客户端标识;根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储;关键请求信息为需要存储在内存中的基础请求统计信息,详细信息为需要以链表形式存储在共享数据盘中的数据请求详细信息;基于关键请求信息和详细信息对请求报文进行防御。和当前仅仅利用内存进行请求防御相比,本发明会创建共享数据盘存储详细信息,由于请求报文的详细信息存储在共享数据盘中,故可以降低内存的资源消耗,提高了防御的稳定性。
Description
技术领域
本发明涉及计算机安全技术领域,特别涉及一种防御分布式拒绝服务攻击的方法、装置、设备及介质。
背景技术
分布式拒绝服务DDOS(分布式拒绝服务)攻击通常是指处于不同位置的多个攻击者通过对源IP(网协)地址进行伪造,对一个或多个目标发动DDOS攻击,从而成倍地提高拒绝服务攻击的威力。通过防御组件在一定程度上预防外部的DDOS攻击;其原理是在内存中构造Hash(哈希)表数据存储来自客户端的请求详细信息,同时支持用户自定义匹配规则参数,进行拦截处理。由于存储客户端请求的Hash表存放于服务器内存中,如果设置过大会消耗较多的内存资源,如果设置过小,导致内存不能存放足够多的请求,外部攻击平台可以通过伪造多个IP或者多台客户端机器同时发起缓慢连接攻击,同样会消耗大量HTTP(超文本传输协议)连接,导致DDOS防御功能失效。
因此,当前对分布式拒绝服务攻击进行防御时,存在资源消耗较大,从而导致防御效果较差的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种防御分布式拒绝服务攻击的方法、装置、设备及介质,解决了现有技术中内存资源消耗较大,防御效果较差的技术问题。
为解决上述技术问题,本发明提供了一种防御分布式拒绝服务攻击的方法,包括:
基于主、备管理节点创建共享数据盘;
当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识;
根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储;其中,所述关键请求信息为需要存储在内存中的基础请求统计信息,所述详细信息为需要以链表形式存储在所述共享数据盘中的数据请求详细信息;
基于所述关键请求信息和所述详细信息对所述请求报文进行防御。
可选的,所述基于所述关键请求信息和所述详细信息对所述请求报文进行防御,包括:
根据所述关键请求信息确定请求次数;
当所述请求次数超过预设防御请求次数时,对所述请求报文进行防御,并将所述客户端标识对应的客户端加入黑名单,限制一定时间段内修改访问权限。
可选的,所述根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储,包括:
根据所述请求报文的解析信息,得到与所述客户端标识对应的所述关键请求信息;其中,所述关键请求信息为最近请求时间、请求次数、黑名单信息中的至少一种。
可选的,所述根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储,包括:
根据所述请求报文的解析信息,得到与所述客户端标识对应的存储在所述共享数据盘中的所述详细信息;其中,所述详细信息为网协信息、请求时间、请求头和主机信息中的至少一种。
可选的,所述根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储,包括:
根据所述客户端标识确定在所述内存中是否存储与所述客户端标识对应的请求信息;
和/或根据所述客户端标识确定在所述共享数据盘中是否存储与所述客户端标识对应的请求信息;
当未存储过与所述客户端标识对应的请求信息时,根据所述请求报文的解析信息在内存中生成所述客户端标识的所述关键请求信息,并同步在所述共享数据盘的链表中存储所述详细信息;
当存储过与所述客户端标识对应的请求信息时,则根据所述请求报文的解析信息,在内存中更新与所述客户端标识对应的最新请求时间和请求次数,并在所述共享数据盘中添加一条与所述客户端标识对应的请求记录的详细信息,在链表头部插入最新请求数据;其中,所述最新请求时间和所述请求次数为所述关键请求信息。
可选的,在所述基于所述关键请求信息和所述详细信息对所述请求报文进行防御,并进行存储之后,还包括:
当确定服务器重启或主副设备之间切换时,对主备节点的数据进行全盘扫描得到历史请求数据;
根据所述历史请求数据重新创建内存数据和共享数据盘数据;其中,所述内存数据包括全量的关键请求信息,所述共享数据盘数据包括全量的详细信息;
基于所述内存数据和所述共享数据盘数据进行防御。
可选的,所述当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识,包括:
解析所述请求报文,得到客户端网协地址;
对所述客户端网协地址进行哈希计算后,得到所述客户端标识。
本发明还提供了一种防御分布式拒绝服务攻击的装置,包括:
共享数据盘创建模块,用于基于主、备管理节点创建共享数据盘;
请求报文解析模块,用于当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识;
请求报文信息存储模块,用于根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储;其中,所述关键请求信息为需要存储在内存中的基础请求统计信息,所述详细信息为需要以链表形式存储在数据盘中的数据请求详细信息;
防御模块,用于基于所述关键请求信息和所述详细信息对所述请求报文进行防御。
本发明还提供了一种防御分布式拒绝服务攻击的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的防御分布式拒绝服务攻击的方法的步骤。
本发明还提供了一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述防御分布式拒绝服务攻击的方法的步骤。
可见,本发明基于主、备管理节点创建共享数据盘,以利用共享数据盘以链表形式存储数据请求详细信息;当接收到客户端的请求报文时,解析请求报文,得到客户端标识;根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储;其中,关键请求信息为需要存储在内存中的基础请求统计信息,详细信息为需要以链表形式存储在共享数据盘中的数据请求详细信息;基于关键请求信息和详细信息对请求报文进行防御。和当前仅仅利用内存进行防御相比,本发明在内存的基础上通过创建共享数据盘存储详细信息,仅仅使用内存存储的关键请求信息即可进行防御,降低了内存的资源消耗,从而提高了防御的稳定性和防御效果。
此外,本发明还提供了一种防御分布式拒绝服务攻击的装置、设备及介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种防御分布式拒绝服务攻击的方法的流程图;
图2为本发明实施例提供的一种防御分布式拒绝服务攻击的方法的流程示例图;
图3为本发明实施例提供的一种防御分布式拒绝服务攻击的数据存储方式示意图;
图4为本发明实施例提供的一种防御分布式拒绝服务攻击的装置的结构示意图;
图5为本发明实施例提供的一种防御分布式拒绝服务攻击的设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例提供的一种防御分布式拒绝服务攻击的方法的流程图。该方法可以包括:
S100,基于主、备管理节点创建共享数据盘。
该实施例首先基于主备节点创建一个共享数据盘,用于持久化存储请求详细信息。
S101,当接收到客户端的请求报文时,解析请求报文,得到客户端标识。
该实施例并不限定具体的客户端标识,只要可以唯一确定客户端即可。例如,该客户端标识可以是客户端IP地址(Internet Protocol Address,网际协议地址);或者客户端标识还可以是对IP地址进行哈希计算得到。
需要进一步说明的是,上述当接收到客户端的请求报文时,解析请求报文,得到客户端标识,可以包括:解析请求报文,得到客户端网协地址;对客户端网协地址进行哈希计算后,得到客户端标识。该实施例可以解析请求报文,得到客户端网协地址,从而对客户端网协地址进行哈希计算后,得到客户端标识,由于哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值,故利用哈希算法得到客户端标识,可以提高客户端标识的唯一性和安全性。
S102,根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储;其中,关键请求信息为需要存储在内存中的基础请求统计信息,详细信息为需要以链表形式存储在共享数据盘中的数据请求详细信息。
该实施例可以根据请求报文的解析信息,得到每个客户端标识对应的关键请求信息和详细信息后,将关键请求信息存在内存中,将详细信息存储在共享数据盘中。该实施例的得到客户端对应的关键请求信息和详细信息时,当确定之前存在与该客户端标识对应的存储信息时,对内存中的关键请求信息和共享数据盘中的详细信息进行更新,当确定之前不存在与该客户端标识对应的存储信息时,在内存中创建与该客户端标识对应的关键请求信息,以及在共享数据盘中对应存储详细信息。
需要说明的是,上述根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储,可以包括:根据请求报文的解析信息,得到与客户端标识对应的关键请求信息;其中,关键请求信息为最近请求时间、请求次数、黑名单信息中的至少一种。该实施例中存储在内存中的关键请求信息为最近请求时间、请求次数、黑名单信息中的至少一种,该实施例之所以指出将最近请求时间、请求次数和黑名单信息作为关键请求信息,是因为考虑到在对分布式拒绝服务攻击(DDOS)进行防御时,主要基于这几种信息进行防御,故选择最近请求时间、请求次数和黑名单信息作为关键请求信息,可以降低内存的存储资源消耗。
需要说明的是,上述根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储,可以包括:根据请求报文的解析信息,得到与客户端标识对应的详细信息;其中,详细信息为网协信息、请求时间、请求头和主机信息中的至少一种。该实施例中将网协信息、请求时间、请求头和主机信息作为详细信息存储至共享数据盘中,以便内存需要时,及时对相关信息进行调用,提高防御效果。
需要说明的是,上述根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储,可以包括:根据客户端标识确定在内存中是否存储与客户端标识对应的请求信息;和/或根据客户端标识确定在共享数据盘中是否存储与客户端标识对应的请求信息;当未存储过与客户端标识对应的请求信息时,根据请求报文的解析信息在内存中生成客户端标识的关键请求信息,并同步在共享数据盘的链表中存储详细信息;当存储过与客户端标识对应的请求信息时,则根据请求报文的解析信息,在内存中更新与客户端标识对应的最新请求时间和请求次数,并在共享数据盘中添加一条与客户端标识对应的请求记录的详细信息,在链表头部插入最新请求数据;其中,最新请求时间和请求次数为关键请求信息。该实施例之所以根据客户端标识确定在内存中是否存储过与客户端标识对应的请求信息,和/或是否在共享数据盘中存储与客户端标识对应的请求信息,是为了防止统计错误,降低数据存储效率,从而降低防御效果。可以理解的是,为了提高数据存储效率,同一个客户端IP的信息存放在同一个链表中,并设置单个IP的最大保存长度;内存哈希表只存放单个IP的统计数据,即各个客户端标识对应不同的关键请求信息和详细信息,哈希表中包括多个分表,共享数据盘中包括多个链表,每个客户端标识对应唯一的链表和唯一的哈希表,提高请求信息查找和存储的效率,只以单个客户端标识为单位存储统计信息,减少内存占用,提高扫描效率。
需要说明的是,在基于关键请求信息和详细信息对请求报文进行防御,并进行存储之后,还可以包括:当确定服务器重启或主副设备之间切换时,对主备节点的数据进行全盘扫描得到历史请求数据;根据历史请求数据重新创建内存数据和共享数据盘数据;其中,内存数据包括全量的关键请求信息,共享数据盘数据包括全量的详细信息;基于内存数据和共享数据盘数据进行防御。该实施例可以保证当服务重启或者云平台主备切换场景下请求数据不丢失,原防御策略继续生效,提高对DDOS(Distributed Denial ofService,分布式拒绝服务攻击)攻击防御的可靠性,保证云平台的正常运行。
S103,基于关键请求信息和详细信息对请求报文进行防御。
该实施例可以基于内存中的关键请求信息,以及共享数据盘中的详细信息对请求报文进行防御。
需要说明的是,上述基于关键请求信息和详细信息对请求报文进行防御,可以包括:根据关键请求信息确定请求次数;当请求次数超过预设防御请求次数时,对请求报文进行防御,并将客户端标识对应的客户端加入黑名单,限制一定时间段内修改访问权限。该实施例可以在某个客户端的请求次数超过预设防御请求时,及时对请求报文进行防御,同时将客户端标识加入黑名单中,一定时间内禁止访问,当超过预设时间段后再重新进行访问。本发明实施例可以仅仅根据请求次数对客户端发出的请求进行防御,提高了防御的效率。
本发明实施例提供的防御分布式拒绝服务攻击的方法,可以包括:基于主、备管理节点创建共享数据盘,以利用共享数据盘以链表形式存储数据请求详细信息;当接收到客户端的请求报文时,解析请求报文,得到客户端标识;根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储;其中,关键请求信息为需要存储在内存中的基础请求统计信息,详细信息为需要以链表形式存储在共享数据盘中的数据请求详细信息;基于关键请求信息和详细信息对请求报文进行防御。可见,和当前仅仅利用内存进行防御相比,本发明通过创建共享数据盘存储数据请求详细信息,仅仅使用内存存储关键请求信息即可进行防御,降低了内存的资源消耗,提高了防御的稳定性。并且,本发明可以仅仅根据请求次数进行防御,提高防御的效率;并且,本发明中的关键请求信息可以是最近请求时间、请求次数、黑名单信息中的至少一种,确保可以仅仅根据关键请求信息即可进行防御;并且,本发明中的详细信息为网协信息、请求时间、请求头和主机信息中的至少一种,确保共享数据盘存储重要的详细信息,降低共享数据盘的资源消耗;并且,本发明根据客户端标识确定在内存中是否存储过与客户端标识对应的请求信息,和/或是否在共享数据盘中存储与客户端标识对应的请求信息,从而防止数据统计错误,降低数据存储效率,从而提高防御效果;并且,当服务重启或者云平台主备切换场景下请求数据不丢失,原防御策略继续生效,提高对DDOS攻击防御的可靠性,保证云平台的正常运行;并且,本发明利用哈希算法得到客户端标识,从而提高客户端标识的唯一性和安全性。
当前防御原理是在内存中构造Hash(哈希)表数据存储来自客户端的HTTP(超文本传输协议)请求详细信息,同时支持用户自定义匹配规则参数,进行拦截处理。由于存储客户端请求的Hash表存放于服务器内存中,如果设置过大会消耗较多的内存资源,如果设置过小,不能存放足够多的HTTP请求,外部攻击平台可以通过伪造多个IP或者多台客户端机器同时发起缓慢连接攻击,同样会消耗大量HTTP连接,导致DDOS防御功能失效;同时当前云平台使用主、备部署模式,当外部不可控的原因或者人为主、备切换节点的时候,原主节点的服务会停止,内存中的Hash表数据和当前生效的防御策略会同步失效,造成防御失效;基于以上背景本方案提出了一种云平台主、备模式下防DDOS攻击的机制,首先基于主备节点创建一个共享盘,用于持久化当前的防护策略和HTTP请求信息,当云平台发生主、备切换的时候,保证备节点同样具备防止DDOS攻击的能力。
为了使本发明更便于理解,具体请参考图2,图2为本发明实施例提供的一种防御分布式拒绝服务攻击的方法的流程示例图,具体可以包括:
1、接收客户端发送的请求报文,并解析请求报文得到网协地址,并对网协地址进行哈希计算得到请求唯一标识。
该实施例对应的数据存储方式示意图见图3,图3为本发明实施例对应的一种防御分布式拒绝服务攻击的数据存储方式示意图,数据存储方式为:(1)主、备节点基于共享存储创建一个共享数据盘;其中,共享数据盘用于以链表方式存储请求报文的详细信息;(2)根据共享数据盘中的数据定时更新内存中哈希表;(3)以网协地址为单位统计当前统计周期内的请求数量,并存储在内存中的哈希表;(4)当服务重启或者主备设备切换时,对主备节点的共享数据盘进行全盘扫描处理,重新创建内存中哈希表的全量数据。
2、判断请求唯一标识是否存在内存哈希表;其中,内存哈希表为存储请求唯一标识与关键请求信息和详细信息映射关系的表。
3、如果不存在,则内存中成与请求唯一标识对应的关键请求信息,并同步在共享数据盘的链表中存储对应的详细信息;其中,配置信息包括记录最近请求时间、请求次数和黑名单信息;详细信息包括网协地址信息、请求时间、请求头和主机详细信息。
该实施例可以根据客户端标识判断内存中的数据是否存在对应的节点数据,如果不存在首先生内存中成一条客户端标识的配置信息,记录最近请求时间、请求次数,是否黑名单等统计信息,并同步在共享数据盘的链表中,存放IP信息、请求时间、请求头和主机信息等详细信息。
4、如果存在,则更新内存哈希表,内存存储请求唯一标识对应的最新请求时间和请求次数,并在共享数据盘中追加一条请求记录的详细信息,在链表头插入最新请求数据,当链表满时候,自动移除最久请求时间的记录。
该实施例可以在内存哈希表中已经存在时,更新客户端标识的最新请求时间和请求次数加1操作,并在共享数据盘中的IP动态表中追加一条请求记录的详细信息,在链表头插入最新请求数据,当链表满时候,自动移除最久请求时间的记录。
5、根据内存哈希表确定请求报文的请求次数是否超过预设防御请求次数。
6、如果超过预设防御请求次数,针对该网协地址触发防御动作,加入黑名单中,限制一定时间段内修改网协地址访问权限。
7、如果未超过预设防御请求次数,则不进行防御。
8、根据最新请求时间判断是否超过限制访问的时间。
9、如果是,则从黑名单移除,取消限制访问,并更新网协地址状态。
10、如果否,则继续限制此网协地址的访问。
本发明实施例通过增加主备节点共享数据盘,以链表形式存储客户端请求的详细信息方式,实现内存数据持久化到磁盘中并绑定一一映射关系,可支持同时防御更多IP外部攻击,提高防御DDOS攻击的概率;通过更改内部启动机制,启动前扫描并分组统计磁盘数据重新加载到内存Hash表,解决服务重启或者主备切换后数据丢失,当前在用的防御策略无法继续生效问题。
下面对本发明实施例提供的一种防御分布式拒绝服务攻击的装置进行介绍,下文描述的防御分布式拒绝服务攻击的装置与上文描述的防御分布式拒绝服务攻击的方法可相互对应参照。
具体请参考图4,图4为本发明实施例提供的防御分布式拒绝服务攻击的装置的结构示意图,可以包括:
共享数据盘创建模块100,用于基于主、备管理节点创建共享数据盘;
请求报文解析模块200,用于当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识;
请求报文信息存储模块300,用于根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储;其中,所述关键请求信息为需要存储在内存中的基础请求统计信息,所述详细信息为需要以链表形式存储在所述共享数据盘中的数据请求详细信息;
防御模块400,用于基于所述关键请求信息和所述详细信息对所述请求报文进行防御。
进一步地,基于上述实施例,上述防御模块300,可以包括:
请求次数确定单元,用于根据所述关键请求信息确定请求次数;
防御单元,用于当所述请求次数超过预设防御请求次数时,对所述请求报文进行防御,并将所述客户端标识对应的客户端加入黑名单,限制一定时间段内修改访问权限。
进一步地,基于上述任意实施例,上述请求报文信息存储模块200,可以包括:
关键请求信息确定单元,用于根据所述请求报文的解析信息,得到与所述客户端标识对应的所述关键请求信息;其中,所述关键请求信息为最近请求时间、请求次数、黑名单信息中的至少一种。
进一步地,基于上述任意实施例,上述请求报文信息存储模块200,可以包括:
详细信息确定单元,用于根据所述请求报文的解析信息,得到与所述客户端标识对应的所述详细信息;其中,所述详细信息为网协信息、请求时间、请求头和主机信息中的至少一种。
进一步地,基于上述任意实施例,上述请求报文信息存储模块200,可以包括:
请求信息是否存在第一判断单元,用于根据所述客户端标识确定在所述内存中是否存储与所述客户端标识对应的请求信息;
请求信息是否存在第二判断单元,用于和/或根据所述客户端标识确定在所述共享数据盘中是否存储与所述客户端标识对应的请求信息;
创建存储请求信息单元,用于当未存储过与所述客户端标识对应的请求信息时,根据所述请求报文的解析信息在内存中生成所述客户端标识的所述关键请求信息,并同步在所述共享数据盘的链表中存储所述详细信息;
更新存储请求信息单元,用于当存储过与所述客户端标识对应的请求信息时,则根据所述请求报文的解析信息,在内存中更新与所述客户端标识对应的最新请求时间和请求次数,并在所述共享数据盘中添加一条与所述客户端标识对应的请求记录的详细信息,在链表头部插入最新请求数据;其中,所述最新请求时间和所述请求次数为所述关键请求信息。
进一步地,基于上述任意实施例,上述防御分布式拒绝服务攻击的装置,还可以包括:
全盘扫描模块,用于当确定服务器重启或主副设备之间切换时,对主备节点的数据进行全盘扫描得到历史请求数据;
重新创建请求信息模块,用于根据所述历史请求数据重新创建内存数据和共享数据盘数据;其中,所述内存数据包括全量的关键请求信息,所述共享数据盘数据包括全量的详细信息;
基于最新请求信息防御模块,用于基于所述内存数据和所述共享数据盘数据进行防御。
进一步地,基于上述任意实施例,上述请求报文解析模块100,可以包括:
请求报文解析单元,用于解析所述请求报文,得到客户端网协地址;
哈希计算单元,用于对所述客户端网协地址进行哈希计算后,得到所述客户端标识。
需要说明的是,上述防御分布式拒绝服务攻击的装置中的模块以及单元在不影响逻辑的情况下,其顺序可以前后进行更改。
本发明实施例提供的防御分布式拒绝服务攻击的装置,可以包括:共享数据盘创建模块100,用于基于主、备管理节点创建共享数据盘;请求报文解析模块200,用于当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识;请求报文信息存储模块300,用于根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储;其中,所述关键请求信息为需要存储在内存中的基础请求统计信息,所述详细信息为需要以链表形式存储在所述共享数据盘中的数据请求详细信息;防御模块400,用于基于所述关键请求信息和所述详细信息对所述请求报文进行防御。可见,和当前仅仅利用内存进行防御相比,本发明通过创建共享数据盘存储数据请求详细信息,仅仅使用内存存储关键请求信息即可进行防御,降低了内存的资源消耗,提高了防御的稳定性。并且,本发明可以仅仅根据请求次数进行防御,提高防御的效率;并且,本发明中的关键请求信息可以是最近请求时间、请求次数、黑名单信息中的至少一种,确保可以仅仅根据关键请求信息即可进行防御;并且,本发明中的详细信息为网协信息、请求时间、请求头和主机信息中的至少一种,确保共享数据盘存储重要的详细信息,降低共享数据盘的资源消耗;并且,本发明根据客户端标识确定在内存中是否存储过与客户端标识对应的请求信息,和/或是否在共享数据盘中存储与客户端标识对应的请求信息,从而防止数据统计错误,降低数据存储效率,从而提高防御效果;并且,当服务重启或者云平台主备切换场景下请求数据不丢失,原防御策略继续生效,提高对DDOS攻击防御的可靠性,保证云平台的正常运行;并且,本发明利用哈希算法得到客户端标识,从而提高客户端标识的唯一性和安全性。
下面对本发明实施例提供的一种防御分布式拒绝服务攻击的设备进行介绍,下文描述的防御分布式拒绝服务攻击的设备与上文描述的防御分布式拒绝服务攻击的方法可相互对应参照。
请参考图5,图5为本发明实施例提供的一种防御分布式拒绝服务攻击的设备的结构示意图,可以包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序,以实现上述的防御分布式拒绝服务攻击的方法。
存储器10、处理器20、通信接口30均通过通信总线40完成相互间的通信。
在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本发明实施例中,存储器10中可以存储有用于实现以下功能的程序:
基于主、备管理节点创建共享数据盘;
当接收到客户端的请求报文时,解析请求报文,得到客户端标识;
根据请求报文的解析信息,得到与客户端标识对应的关键请求信息和详细信息,并进行存储;其中,关键请求信息为需要存储在内存中的基础请求统计信息,详细信息为需要以链表形式存储在共享数据盘中的数据请求详细信息;
基于关键请求信息和详细信息对请求报文进行防御。
在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。
处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
通信接口30可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图5所示的结构并不构成对本发明实施例中防御分布式拒绝服务攻击的设备的限定,在实际应用中防御分布式拒绝服务攻击的设备可以包括比图5所示的更多或更少的部件,或者组合某些部件。
下面对本发明实施例提供的介质进行介绍,下文描述的介质与上文描述的防御分布式拒绝服务攻击的方法可相互对应参照。
本发明还提供一种介质,该介质上存储有计算机程序,计算机程序被处理器执行时实现上述的防御分布式拒绝服务攻击的方法的步骤。
该实施例中的介质为计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的一种防御分布式拒绝服务攻击的方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种防御分布式拒绝服务攻击的方法,其特征在于,包括:
基于主、备管理节点创建共享数据盘;
当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识;
根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储;其中,所述关键请求信息为需要存储在内存中的基础请求统计信息,所述详细信息为需要以链表形式存储在所述共享数据盘中的数据请求详细信息;
基于所述关键请求信息和所述详细信息对所述请求报文进行防御。
2.根据权利要求1所述的防御分布式拒绝服务攻击的方法,其特征在于,所述基于所述关键请求信息和所述详细信息对所述请求报文进行防御,包括:
根据所述关键请求信息确定请求次数;
当所述请求次数超过预设防御请求次数时,对所述请求报文进行防御,并将所述客户端标识对应的客户端加入黑名单,限制一定时间段内修改访问权限。
3.根据权利要求1所述的防御分布式拒绝服务攻击的方法,其特征在于,所述根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储,包括:
根据所述请求报文的解析信息,得到与所述客户端标识对应的所述关键请求信息;其中,所述关键请求信息为最近请求时间、请求次数、黑名单信息中的至少一种。
4.根据权利要求1所述的防御分布式拒绝服务攻击的方法,其特征在于,所述根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储,包括:
根据所述请求报文的解析信息,得到与所述客户端标识对应的所述详细信息;其中,所述详细信息为网协信息、请求时间、请求头和主机信息中的至少一种。
5.根据权利要求1所述的防御分布式拒绝服务攻击的方法,其特征在于,所述根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储,包括:
根据所述客户端标识确定在所述内存中是否存储与所述客户端标识对应的请求信息;
和/或根据所述客户端标识确定在所述共享数据盘中是否存储与所述客户端标识对应的请求信息;
当未存储过与所述客户端标识对应的请求信息时,根据所述请求报文的解析信息在内存中生成所述客户端标识的所述关键请求信息,并同步在所述共享数据盘的链表中存储所述详细信息;
当存储过与所述客户端标识对应的请求信息时,则根据所述请求报文的解析信息,在内存中更新与所述客户端标识对应的最新请求时间和请求次数,并在所述共享数据盘中添加一条与所述客户端标识对应的请求记录的详细信息,在链表头部插入最新请求数据;其中,所述最新请求时间和所述请求次数为所述关键请求信息。
6.根据权利要求1至5任一项所述的防御分布式拒绝服务攻击的方法,其特征在于,在所述基于所述关键请求信息和所述详细信息对所述请求报文进行防御,并进行存储之后,还包括:
当确定服务器重启或主副设备之间切换时,对主备节点的数据进行全盘扫描得到历史请求数据;
根据所述历史请求数据重新创建内存数据和共享数据盘数据;其中,所述内存数据包括全量的关键请求信息,所述共享数据盘数据包括全量的详细信息;
基于所述内存数据和所述共享数据盘数据进行防御。
7.根据权利要求1所述的防御分布式拒绝服务攻击的方法,其特征在于,所述当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识,包括:
解析所述请求报文,得到客户端网协地址;
对所述客户端网协地址进行哈希计算后,得到所述客户端标识。
8.一种防御分布式拒绝服务攻击的装置,其特征在于,包括:
共享数据盘创建模块,用于基于主、备管理节点创建共享数据盘;
请求报文解析模块,用于当接收到客户端的请求报文时,解析所述请求报文,得到客户端标识;
请求报文信息存储模块,用于根据所述请求报文的解析信息,得到与所述客户端标识对应的关键请求信息和详细信息,并进行存储;其中,所述关键请求信息为需要存储在内存中的基础请求统计信息,所述详细信息为需要以链表形式存储在所述共享数据盘中的数据请求详细信息;
防御模块,用于基于所述关键请求信息和所述详细信息对所述请求报文进行防御。
9.一种防御分布式拒绝服务攻击的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的防御分布式拒绝服务攻击的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述防御分布式拒绝服务攻击的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311370544.2A CN117527309A (zh) | 2023-10-20 | 2023-10-20 | 一种防御分布式拒绝服务攻击的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311370544.2A CN117527309A (zh) | 2023-10-20 | 2023-10-20 | 一种防御分布式拒绝服务攻击的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117527309A true CN117527309A (zh) | 2024-02-06 |
Family
ID=89757513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311370544.2A Pending CN117527309A (zh) | 2023-10-20 | 2023-10-20 | 一种防御分布式拒绝服务攻击的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527309A (zh) |
-
2023
- 2023-10-20 CN CN202311370544.2A patent/CN117527309A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8612618B2 (en) | Peer-to-peer DNS networking method | |
EP3633948B1 (en) | Anti-attack method and device for server | |
US20110307564A1 (en) | Data node apparatus, peer information acquisition method and system | |
KR101200906B1 (ko) | 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법 | |
CN103685213A (zh) | 一种减少针对dns的攻击的装置、系统和方法 | |
CN102624750A (zh) | 抵御dns递归攻击的方法和系统 | |
CN103916379A (zh) | 一种基于高频统计的cc攻击识别方法及系统 | |
CN115023919B (zh) | 防火墙规则的更新方法、装置、服务器及存储介质 | |
CN110798402B (zh) | 业务消息处理方法、装置、设备及存储介质 | |
CN110427266B (zh) | 基于mqtt服务的数据冗余架构 | |
CN109413018B (zh) | 一种端口扫描方法及装置 | |
US10680930B2 (en) | Method and apparatus for communication in virtual network | |
CN112351082A (zh) | Http请求报文的限流方法及装置 | |
CN112714102A (zh) | 一种多核异构平台下SYN Flood攻击防御方法 | |
CN117527309A (zh) | 一种防御分布式拒绝服务攻击的方法、装置、设备及介质 | |
CN116647476A (zh) | 网络管理方法、装置、计算机设备、存储介质和程序产品 | |
CN114866395B (zh) | 多组分布式一致性协议集群心跳通讯方法及装置 | |
US9560173B2 (en) | Techniques for improving SYN cache performance | |
CN112822309B (zh) | 域名解析方法及装置 | |
CN109889619B (zh) | 基于区块链的异常域名监测方法及装置 | |
US9609079B1 (en) | Methods for improved cache maintenance and devices thereof | |
CN112445771A (zh) | 网络流量的数据处理方法、装置、设备及存储介质 | |
CN111866005A (zh) | 基于区块链的arp欺骗攻击防御方法、系统及装置 | |
CN106487916B (zh) | 一种连接数的统计方法及装置 | |
CN110489694A (zh) | 用于处理高并发请求的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |