基于nginx的web服务器CC攻击保护实现.docx
- 文档编号:9290572
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:9
- 大小:92.10KB
基于nginx的web服务器CC攻击保护实现.docx
《基于nginx的web服务器CC攻击保护实现.docx》由会员分享,可在线阅读,更多相关《基于nginx的web服务器CC攻击保护实现.docx(9页珍藏版)》请在冰豆网上搜索。
基于nginx的web服务器CC攻击保护实现
开题报告
毕业设计题目:
基于nginx的web服务器CC攻击保护实现
本科毕业设计(论文)开题报告
班级
姓名
课题名称
目录:
一、选题意义与可行性分析
二、国内外研究现状
三、研究的基本内容与拟解决的主要问题
四、总体研究思路(方法与技术路线)
五、预期研究成果
六、研究工作计划
参考文献
成绩:
答辩
意见
答辩组长签名:
年月日
系
主
任
审
核
意
见
签名:
年月日
一、选题意义与可行性分析
1.1选题意义
据中国互联网络信息中心(CNNIC)发布的统计报告显示,截至2010年6月底,中国网民规模达到了4.2亿,突破了4亿大关,其中大部分为年轻一代,他们每天总上网的时间也已突破10亿小时,随着网民快速增长,中国地区的中文网站总数达到了363万家,中国的年轻一代已离不开网络。
可是随着互联网的快速发展,CC攻击却也成为一种被广泛使用的、典型的应用层攻击,它实施简单,攻击效果显著,它是针对应用层的DDoS攻击是一种新型的DDoS攻击[1]。
起先,拒绝服务(DoS)攻击开始可能只是为了“取乐”,或是对系统操作员进行某种报复。
因此,这种情况下攻击都是有限制的行为,对网站服务器等造成的影响也是微乎其微的。
但是如今,网络已经成为一种重要的交流通信平台,hacktivism(网络激进主义)越来越流行。
地理政治形势、战争、宗教问题、生态等任何动机都可能成为对公司、政治组织或甚至国家的IT基础网络架构发动进攻的动机[2]。
前一段时间,拒绝服务攻击更多的是与网络游戏有关。
有些玩家对在游戏中被人杀死或丢失他们喜爱的武器而感到不满,因此对游戏服务器发动拒绝服务攻击,已许多服务器在这种攻击下受到损害,瘫痪。
事实上,这还不是最严重的,目前已出现通过拒绝服务攻击而达到敲诈勒索的案件。
如今,越来越多的企业对网络的依赖程度呈直线上升的趋势。
邮件、关键数据、甚至电话都通过网络来处理。
如果没有这些主要的通信渠道,大多数公司都难以在竞争中幸存。
而且,网络已成为一种生产工具。
例如,搜索引擎和博彩web站点等都完全依赖网络连接。
因此,随着公司直接或间接地依赖网络,犯罪分子就开始进行有目的有组织的拒绝服务攻击,迫使受害者就不得不支付“保护费”[3,4,5]。
当然,也有可能是同行业的恶意竞争,这都已成为当今互联网的一大害。
1.2可行性分析
如今,庞大的网民造就了中国互联网的辉煌,而如此数量的网站,都离不开web服务器。
而Nginx就是一个高性能的HTTP和反向代理服务器[6,7],也是一个IMAP/POP3/SMTP代理服务器。
Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半。
虽然时间短暂,但是Nginx已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
所以Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性:
在高连接并发的情况下,Nginx是Apache服务器不错的替代品:
Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一,能够支持高达50,000个并发连接数的响应。
[8]
Nginx作为负载均衡服务器:
Nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。
Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多。
Nginx的安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs也非常好,而且启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。
你还能够不间断服务的情况下进行软件版本的升级。
正因为如此优秀,国内已有大量网站开始引进并在web服务器上安装Nginx。
如新浪、网易、腾讯等门户网站,六间房、酷6等视频分享网站,Discuz!
、水木社区等知名论坛,豆瓣、YUPOO等新兴Web2.0网站,宏博cms等建站系统网站。
Nginx作为一款年轻的高性能服务器,随着它的普及,其受到CC攻击的现象也在大量增加。
[9]
二、国内外研究现状
在2005年的时候,CC的作者Fr.Qaker在国内知名网络安全技术杂志上公开了CC攻击的原理和防范方法[10],这种新型的攻击方式立即引起了网络安全界的滔天大浪,虽然当时Fr.Qaker只发布了一份简单的示例代码,也就是CC1.0。
此后CC攻击,凭其攻击的高效性,在网上快速蔓延,针对它的防御方法也层出不穷,概括起来主要有五种,但都有自己的优缺点:
1、使用Cookie认证。
这时候朋友说CC里面也允许Cookie,但是这里的Cookie是所有连接都使用的,所以启用IP+Cookie认证就可以了。
2、利用Session。
这个判断比Cookie更加方便,不光可以IP认证,还可以防刷新模式,在页面里判断刷新,是刷新就不让它访问,没有刷新符号给它刷新符号。
这样用户第一次访问会使得Refresh=1,第二次访问,正常,第三次,不让他访问了,认为是刷新,可以加上一个时间参数,让多少时间允许访问,这样就限制了耗时间的页面的访问,对正常客户几乎没有什么影响。
3、通过代理发送的HTTP_X_FORWARDED_FOR变量来判断使用代理攻击机器的真实IP[11],这招完全可以找到发动攻击的人,当然,不是所有的代理服务器都发送,但是有很多代理都发送这个参数。
通过代码,可以生成一个CCLog.txt,它的记录格式是:
真实IP(代理的IP)时间,看看哪个真实IP出现的次数多,就知道是谁在攻击了。
将这个代码做成Conn.asp文件,替代那些连接数据库的文件,这样所有的数据库请求就连接到这个文件上,然后马上就能发现攻击的人。
4、还有一个方法就是把需要对数据查询的语句做在Redirect后面,让对方必须先访问一个判断页面,然后Redirect过去[12]。
5、在存在多站的服务器上,严格限制每一个站允许的IP连接数和CPU使用时间,这是一个很有效的方法。
三、研究的基本内容与拟解决的主要问题
本课题研究的内容为如何保护Nginx高性能服务器来自网络的安全问题,尤其是现在最热的CC攻击的防护问题。
最主要的研究问题是如何找到一种优秀的算法,实现服务器对于CC攻击的保护最优化。
本课题的主要解决问题有:
1、熟悉在linux下的C语言开发
2、Web服务器访问次数统计
3、了解nginx的web服务器,反向代理实现原理
4、CC攻击的实现和预防方法
四、总体研究思路
针对CC攻击的保护,主要需从两个方面实施,一是CC攻击的检测,这是最重要的,因为CC攻击的链接请求都属于正常请求,很难做出判定,二是对检测出的攻击进行处理。
4.1基于令牌桶算法的CC攻击检测
4.1.1令牌桶算法
令牌桶算法[13,14]是控制网络流量中最常使用的一种算法。
典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。
令牌桶这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。
令牌桶中的每一个令牌都代表一个字节。
如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。
因此,如果突发门限被合理地配置并且令牌桶中有足够的令牌,那么流量就可以以峰值速率发送。
但是当访问请求流量突破这个门限时,则需要引起重视,因为这有可能服务器正受到攻击,比如CC攻击。
4.1.2算法实现
令牌桶算法的基本过程如下:
假如用户配置的平均发送速率为r,则每隔1/r秒一个令牌被加入到桶中;
假设桶最多可以存发b个令牌。
如果令牌到达时令牌桶已经满了,那么这个令牌会被丢弃;
当一个n个字节的数据包到达时,就从令牌桶中删除n个令牌,并且数据包被发送到网络;
如果令牌桶中少于n个令牌,那么不会删除令牌,并且认为这个数据包在流量限制之外;
算法允许最长b个字节的突发,但从长期运行结果看,数据包的速率被限制成常量r。
对于在流量限制外的数据包可以以不同的方式处理:
它们可以被丢弃;
它们可以排放在队列中以便当令牌桶中累积了足够多的令牌时再传输;
它们可以继续发送,但需要做特殊标记,网络过载的时候将这些特殊标记的包丢弃。
这里,我们将对超出限制外的流量进行等待处理。
图1令牌桶算法示意图
4.1.3防御策略
在正常访问情况下,由于客户访问的稳定性,总体的访问流量浮动在一个相对稳定的水平上,而CC攻击将会严重破坏这种稳定性,导致流量瞬间突破峰值,我们可以设置一个定时器,当这种情况持续超过一定时间T,即判断为发生CC攻击,并启动防御策略。
防御策略是对接下来的访问请求实施重定向[15,16],然后再检测客户端对重定向报文的响应,若在规定时间内没有收到响应或收到响应错误,则判断该客户为攻击者,阻断其连接,直至网络访问情况恢复正常。
由于CC攻击是通过代理服务器发动的请求,而代理服务器不具备正确解析重定向报文的能力,因此通过重定向的方法也可以很好的过滤掉CC攻击的请求。
4.1.4总体设计
这种利用令牌桶算法实现CC攻击检测的方法,其实是属于基于流量检测的范畴。
在检测防御模块中,通过令牌桶算法,设定一个网络上限(上限根据网站实际访问量和服务器处理能力计算得出,即为令牌桶容量B),对所有进入流量进行控制,当访问流量超过设定上限时,则有可能收到攻击,启动安全策略。
但是,实际应用中,由于上限是人为指定,存在一定局限性,有时突发事件,也会造成正常的访问在短时间内超过上限,为了排除这种误报率,在模块中,增加一个计数器t(t根据现有突发事件发生时产生的超流量持续时间计算得),只有当访问流量超限持续一定时间后,才启动安全策略,这样在最大努力检测CC攻击的同时,减少了因误报造成正常访问失败的情况发生,避免对正常客户端访问的影响。
当安全策略启动,并阻止攻击后,则重置t=0,检测防御模块重新正常工作。
图2CC攻击的检测
4.2测试环境搭建
4.2.1环境描述
实验环境为一个简单的模拟站点[17],三台网络服务器,系统都为Linuxfedora,一台安装nginx0.9.1修正版作为反向代理服务器,两台安装apache2.2作为web服务器,提供网络服务。
另外设一台客户端,运行winXP系统,其作用为在测试时,实现模拟CC攻击。
图3测试环境示意图
4.2.2性能测试
首先,我们在服务器上使用Webload来进行正常情况下的性能测试。
它是RadView公司推出的一个性能测试和分析工具。
Webload能通过模拟真实用户的操作,生成压力负载来测试web的性能。
并能在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果将会通过一个易读的图形界面显示出来。
然后我们在客户端安装一个超强CC攻击器,用来模拟CC攻击,并在webload上读取攻击前后的web服务器的性能数据变化,从而得出基于此算法的CC攻击检测防御的实际效果示意图。
五、预期研究成果
1、通过令牌桶算法实现网络流量控制
2、通过linux下C语言实现令牌桶算法
3、实现对进出网络流量峰值控制
4、实现及时发现CC攻击企图
5、实现对CC攻击企图的防御策略
6、实现web服务器在CC攻击中正常工作
六、研究工作计划
计划进度:
起止时间
内容
2010.10.15-2010.11.30
开题报告、文献综述、英文翻译上交
2010.12.01-2010.12.25
开题报告、文献综述、英文翻译修改,开题报告答辩
2010.12.26-2011.1.10
基于Nginx的web服务器环境搭建
2011.01.10-2011.02.10
Linux下C语言算法实现
2011.02.11-2011.02.28
模拟实验环境并对算法进行测试
2011.03.01-2011.03.26
撰写论文,修改程序
2011.03.27
论文初稿上交,指导教师评阅
2011.03.28-2011.04.02
根据导师意见,再次修改论文和程序
2011.04.03-2011.04.08
论文定稿上交,评阅教师评阅
2011.04.10
论文答辩
参考文献
[1]P.Ferguson,D.Senie.RFC2267,NetworkIngressFiltering:
DefeatingDenialofServiceAttackswhichemployIPSourceAddressSpoofing.CiscoSystemsInc.,BlazeNetInc,January1998.Page(s):
61-62
[2]嵇海进.DDOS攻击的原理及防御对策[J].科技信息,2009(28),231
[3]孙知信,李清东.路由器端防范DDos攻击机制综述[J].南京邮电大学学报,2007,27
(1),89-96
[4]严芬,王佳佳,赵金凤等.DDoS攻击检测综述[J].计算机应用研究,2008,25(4),966-969
[5]XiangYang,ZhouWanlei,LiZhongwen.AnAnalyticalModelforDDoSAttacksandDefense[C].ComputingintheGlobalInformationTechnology,2006.ICCGI'06.InternationalMulti-ConferenceonAug.2006Page(s):
66
[6]张宴.实战Nginx:
取代Apache的高性能Web服务器[M].北京:
电子工业出版社,2010,3
[7]郭欣.构建高性能Web站点[M].北京:
电子工业出版社,2009,8
[8]ZhijunWu,ZhifengChen.AThree-LayerDefenseMechanismBasedonWEBServersAgainstDistributedDenialofServiceAttacks[C].CommunicationsandNetworkinginChina,2006.ChinaCom'06.FirstInternationalConferenceon25-27Oct.2006Page(s):
1-5
[9]伍云辉.Linux服务器配置与管理指南作[M].北京:
清华大学出版社,2010,11-12
[10]JieYu,ZhoujunLi,HuowangChen,XiaomingChen.ADetectionandOffenseMechanismtoDefendAgainstApplicationLayerDDoSAttacks[C].NetworkingandServices,2007.ICNS.ThirdInternationalConferenceon19-25June2007Page(s):
54-55
[11]张敏.基于安全策略模型的安全功能测试用例生成方法[J].计算机研究与发展,2009(10),1686-1692
[12]陈仲华.CC攻击检测方法研究[J].电信科学,2009(5),62-65
[13]李建宝,桑海.令牌桶算法在IPQoS中的应用[J].华南金融电脑,2006,14(4),98-99
[14]HeinanenJ,GuerinR.IETFRFC2697:
Asingleratethreecolormarker[R].Philadelphia,PA,USA:
UniversityofPennsylvania,1999.
[15]RichardStevensW.TCP/IP详解.范建华,胥光辉,张涛,等译.北京:
机械工业出版社.2000.24-37
[16]陈莉君.深入分析Linux内核源代码[M].北京:
人民邮电出版社.2002.227-476
[17]王玮,赵铁莉,宫百香等.Web应用开发技术简介[J].长春工业大学学报(自然科学版),2001,22
(2),362381
[18]CabreraJBD,etal.ProactivedetectionofdistributeddenialofserviceattacksusingMIBtrafficvariables-Afeasibilitystudy.In:
TheseventhIEEE/IFIPInternationalSymposiumonIntegratedNetworkManagementProceeding,May2001.609-622
[19]余天文.基于TCP协议的DOS攻击原理及防范[J].民营科技,2007
(1).21
[20]熊春心,黄心汉,王敏.交换式设备和网络的安全缺陷与改进措施[J].计算机工程,2000,26(10),60-64
[21]M.Matsui,“LinearCryptanalysisMethodforDESCipher,”AdvancesinCryptology—EUROCRYPT’93Proceedings,Springer-Verlag,1994,page(s):
386-397
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 nginx web 服务器 CC 攻击 保护 实现