一种防御tcp全链接攻击的方法
【专利摘要】本发明提供一种防御tcp全链接攻击的方法,系统包括:(1)并发链接数检测模块;(2)新建链接速率检测模块;(3)黑名单;(4)源IP信任检测模块;(5)白名单,具体防御步骤如下,并发链接检测模块(1)接收数据包输入并将检测结果添加到黑名单(3)中;新建链接速率检测模块(2)接收数据包输入并将检测结果添加到黑名单(3)中;源IP信任检测模块(4)接收数据包输入并将检测结果添加到白名单(5)中;黑名单(3)接收数据包并根据匹配结果做相应动作;白名单(5)接收数据包并根据匹配结果做相应动作。
【专利说明】一种防御tcp全链接攻击的方法
【技术领域】
[0001] 本发明涉及一种计算机应用,具体地说是一种防御tcp全链接攻击的方法。
【背景技术】
[0002] 很多网络服务程序(如:IIS、Apache等Web服务器)能接受的TCP链接数是有限 的,一旦有大量的TCP链接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP 全链接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP链接,直到服务器 的内存等资源被耗尽而被拖跨,从而造成拒绝服务。
[0003] -种典型的TCP全链接攻击为CC攻击,这种攻击主要是针对存在ASP、JSP、PHP、 CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计 的,特征是和服务器建立正常的TCP链接,并不断的向脚本程序提交查询、列表等大量耗费 数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对 客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条 记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少 能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需 通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而 导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP链接数据库失败、数据库 主程序占用CPU偏高。
[0004] TCP全链接攻击往往需要攻击源在短时间内发送大量的请求到服务器,才能达到 DD0S的效果,鉴于此,本发明提供了一种可以检测单个IP的最大并发链接数、新建链接速 率的机制,目的在于解决单个IP发送大量请求给服务器的问题。
【发明内容】
[0005] 本发明的目的是提供一种防御tcp全链接攻击的方法。
[0006] 本发明的目的是按以下方式实现的,配合使用netfilter提供的防DD0S攻击系统, 实现对真实IP发起的全链接攻击进行丢弃并将攻击源加入黑名单以阻断攻击源已建立的 链接,或将确定发起正常链接的源IP加入白名单以加速正常链接的访问速度,防DD0S攻击 系统,包含动态黑白名单控制模块(1)、最大并发链接数检测模块(2)、新建链接速率检测 模块(3)和源IP信任检测模块(4),其中: (1)动态黑白名单控制模块,通过检测最大并发链接数检测模块(2 )和新建链接速率检 测模块(3)的发包速率来判断一个IP是否需要加入黑名单;通过源IP信任检测模块(4)判 断一个IP是否需要加入白名单,具体步骤如下; 黑名单的检查在协议栈的处理中应该尽量早的提前,这样在检查到源IP为非法IP后 就直接丢弃,避免数据包继续往后处理以浪费资源; 白名单的检查应在最大并发链接数检测模块和新建链接速率检测模块这两个模块之 前进行,检查到源IP在白名单将跳过最大并发链接数检测模块和新建链接速率检测模块 这两个模块的检查,以避免这两个模块对合法的IP做错误的控制; (2) 最大并发链接数检测模块,对单个IP的最大并发链接数进行检测,需要设置一个 阀值,当检测的结果大于这个阀值,则认为这个源IP是一个攻击源,此时需要将此报文阻 断并将此IP加入黑名单,同时根据配置决定是否需要进行日志报警; (3) 新建链接速率检测模块,对单个IP的新建链接速率进行检测,需要设置一个阀值, 当检测的结果大于这个阀值,则认为这个源IP是一个攻击源,此时需要将此报文阻断并将 此IP加入黑名单,同时根据配置决定是否需要进行日志报警; (4) 源IP信任检测模块,对单个IP的网络行为进行分析,如果在一段时间内该IP都是 发送的正常流量则允许将该IP加入白名单一段时间,在加入白名单的这段时间内该IP的 流量是直接放过的; 防御DDOS攻击的步骤包括: (1) 最大并发链接数检测模块:对netfilter中的connlimit模块进行修改,在检测到 单个IP的并发链接数超过设置的阀值时将数据包丢弃并将源IP添加黑名单; (2) 新建链接速率检测模块:对netfilter中的hashlimit模块进行修改,在检测到单 个IP的新建链接速率超过设置的阀值时将数据包丢弃并将源IP添加黑名单; (3) 源IP信任检测模块:基于netfilter实现一个单独的hook处理模块,对单个IP的 网络行为进行分析,如果没有发现异常流量,则将该IP加入白名单; (4) 黑名单检查:基于netfilter实现一个单独的hook处理模块,其优先级靠前,获取 报文的源IP与黑名单中的IP地址进行匹配,如果匹配成功则将报文直接丢弃; (5) 白名单检查:基于netfilter实现一个单独的hook处理模块,其优先级在最大并发 链接数检测模块和新建链接速率检测模块前面,获取报文的源IP与白名单中的IP地址进 行匹配,如果匹配成功则将报文直接放过不需要再经过最大并发链接数检测模块和新建链 接速率检测模块。
[0007] 本发明的目的有益效果是:配合使用netfilter提供的防DD0S攻击系统,实现对真 实IP发起的全链接攻击进行丢弃并将攻击源加入黑名单以阻断攻击源已建立的链接,或 将确定发起正常链接的源IP加入白名单以加速正常链接的访问速度。
【专利附图】
【附图说明】
[0008] 图1是防DD0S攻击动态黑白名单结构图; 图2是数据流程图。
【具体实施方式】
[0009] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明做进一 步地详细描述。
[0010] 系统组成如图1所示,(1)并发链接数检测模块;(2)新建链接速率检测模块;(3) 黑名单;(4)源IP信任检测模块;(5)白名单,其中 : (1) 黑名单:对源IP匹配黑名单的报文将进行丢弃操作; (2) 白名单:对源IP匹配白名单的报文将进行允许通过操作; (3) 并发连接数检测模块:对每个IP能够建立的连接数进行检测,超过设置的阀值报 文将被丢弃并将IP添加黑名单; (4) 新建连接速率检测模块:对每个IP的新建连接速率进行检测,超过设置的阀值报 文将被丢弃并将IP添加黑名单; (5) 源IP信任检测模块:对每个IP的网络行为进行分析,如果属于正常流量则将源IP 加入白名单一段时间; 具体步骤如下 并发链接检测模块(1)接收数据包输入并将检测结果添加到黑名单(3)中;新建链接 速率检测模块(2)接收数据包输入并将检测结果添加到黑名单(3)中;源IP信任检测模块 (4)接收数据包输入并将检测结果添加到白名单(5)中;黑名单(3)接收数据包并根据匹 配结果做相应动作;白名单(5)接收数据包并根据匹配结果做相应动作。
[〇〇11] 除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【权利要求】
1. 一种防御tcp全链接攻击的方法,其特征在于配合使用netfilter提供的防DDOS 攻击系统,实现对真实IP发起的全链接攻击进行丢弃并将攻击源加入黑名单以阻断攻击 源已建立的链接,或将确定发起正常链接的源IP加入白名单以加速正常链接的访问速度, 防DD0S攻击系统,包含动态黑白名单控制模块(1)、最大并发链接数检测模块(2)、新建链 接速率检测模块(3)和源IP信任检测模块(4),其中: (1) 动态黑白名单控制模块,通过检测最大并发链接数检测模块(2 )和新建链接速率检 测模块(3)的发包速率来判断一个IP是否需要加入黑名单;通过源IP信任检测模块(4)判 断一个IP是否需要加入白名单,具体步骤如下; 黑名单的检查在协议栈的处理中应该尽量早的提前,这样在检查到源IP为非法IP后 就直接丢弃,避免数据包继续往后处理以浪费资源; 白名单的检查应在最大并发链接数检测模块和新建链接速率检测模块这两个模块之 前进行,检查到源IP在白名单将跳过最大并发链接数检测模块和新建链接速率检测模块 这两个模块的检查,以避免这两个模块对合法的IP做错误的控制; (2) 最大并发链接数检测模块,对单个IP的最大并发链接数进行检测,需要设置一个 阀值,当检测的结果大于这个阀值,则认为这个源IP是一个攻击源,此时需要将此报文阻 断并将此IP加入黑名单,同时根据配置决定是否需要进行日志报警; (3) 新建链接速率检测模块,对单个IP的新建链接速率进行检测,需要设置一个阀值, 当检测的结果大于这个阀值,则认为这个源IP是一个攻击源,此时需要将此报文阻断并将 此IP加入黑名单,同时根据配置决定是否需要进行日志报警; (4) 源IP信任检测模块,对单个IP的网络行为进行分析,如果在一段时间内该IP都是 发送的正常流量则允许将该IP加入白名单一段时间,在加入白名单的这段时间内该IP的 流量是直接放过的; 防御DD0S攻击的步骤包括: (1) 最大并发链接数检测模块:对netfilter中的connlimit模块进行修改,在检测到 单个IP的并发链接数超过设置的阀值时将数据包丢弃并将源IP添加黑名单; (2) 新建链接速率检测模块:对netfilter中的hashlimit模块进行修改,在检测到单 个IP的新建链接速率超过设置的阀值时将数据包丢弃并将源IP添加黑名单; (3) 源IP信任检测模块:基于netfilter实现一个单独的hook处理模块,对单个IP的 网络行为进行分析,如果没有发现异常流量,则将该IP加入白名单; (4) 黑名单检查:基于netfilter实现一个单独的hook处理模块,其优先级靠前,获取 报文的源IP与黑名单中的IP地址进行匹配,如果匹配成功则将报文直接丢弃; (5) 白名单检查:基于netfilter实现一个单独的hook处理模块,其优先级在最大并发 链接数检测模块和新建链接速率检测模块前面,获取报文的源IP与白名单中的IP地址进 行匹配,如果匹配成功则将报文直接放过不需要再经过最大并发链接数检测模块和新建链 接速率检测模块。
【文档编号】H04L29/06GK104113559SQ201410396483
【公开日】2014年10月22日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】崔士伟 申请人:浪潮电子信息产业股份有限公司