下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

使用Web防护系统OpenWAF开源CC防护模块

作者:课课家教育     来源: http://www.kokojia.com点击数:857发布时间: 2017-07-10 13:00:17

标签: CC攻击OpenWAFWeb应用

  OpenWAF是第一个全面开源的web应用防护系统(WAF),他基于nginx_lua API分析HTTP请求信息。OpenWAF由行为分析引擎和规则引擎两大功能引擎构成。其中规则引擎主要对单个请求进行分析,行为分析引擎主要负责跨请求信息追踪。

  OpenWAF自从去年10月开源,半年来已经陆陆续续开源了各大模块,受到了多方的大量关注。最近更是刚刚开源了大家都很期待的CC模块!

  什么是CC?OpenWAF的CC防护又能做些什么?下面我们就会为您详细介绍。

  什么是CC?

  举个例子,城东新开了一家牛肉面馆,生意红火,顾客络绎不绝。某天,一个地方恶霸召集了手下一批小弟,一窝蜂涌入牛肉面馆,霸占了所有座位,只聊天不点菜,导致真正的顾客无法进店消费。由此,牛肉面馆的生意受到影响,损失惨重。

  如果把这家牛肉面馆看作是一家互联网企业,那么这群地痞的恶行,就是典型的分布式拒绝服务,也就是我们所说的DDoS攻击。

  CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS,和伪装就叫:CC(ChallengeCollapsar)。

  这种攻击你见不到真实源IP,见不到特别大的异常流量,却会造成服务器无法进行正常连接。诸如电商和游戏运营商都是CC攻击的常见受害者。

  CC攻击的原理如下:

  传统CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

使用Web防护系统OpenWAF开源CC防护模块_CC攻击_OpenWAF_Web应用_课课家教育

  OpenWAF的防CC攻击:

  传统的CC防护,会时刻判断是否达到CC清洗阈值,找到攻击源进行拦截,往往效率很低而且误报率高。

  OpenWAF的CC防护分为流量监控和流量清洗两个阶段。在流量监控阶段时,未达到服务器性能瓶颈前,不需记录各IP的详细信息。也就是堵车了才进行限速,不堵车你想开多快开多快。这样即节约资源,又有效的提升了引擎性能。当流量达到设置的触发阈值,才真正进入流量清洗阶段,时刻记录分析IP及路径流量,进行“限速”。

  当流量达到清洗阈值,传统的CC防护仅支持阻断请求,"误杀"概率高,用户体验差。而OpenWAF提供了丰富的拦截动作,不仅支持阻断,还提供连接重置,人机识别(JS代码验证或验证码验证,此功能4月份开源)。就好像遇到了事故,我们不是直接吊销驾照,而是进行责任判断,从而有效提升了用户体验度,减少了误报。

  OpenWAF的流量监控当前支持监控每秒请求流量及每秒请求数,流量清洗阶段当前支持IP级每秒新建连接数、IP级连接总数、IP级每秒请求数及路径级每秒请求数。再配合OpenWAF的安全策略,可以进行站点级、路径级、IP级的多重配置,有效进行多重防护,让你可以轻松自定义你想要的“交通限速规则”。

  我们始终坚信“愈分享,愈安全”,希望有更多人能够尝试OpenWAF,并加入防护WEB安全的队伍,并给我们提出您的宝贵意见。

  知识分享:Open Source软件定义

  Open Source(即开放 源代码)的定义由 (曾是 Debian的创始人之一)定义如下:

  ●自由再散布(Free Distribution):获得源代码的人可自由再将此源代码散布。

  ●源代码(Source Code):程序的可执行档在散布时,必需随附完整 源代码或是可让人方便的事后取得源代码。

  ●衍生著作(Derived Works):让人可依此源代码修改后,在依照同一授权条款的情形下再散布。

  ●原创作者程序 源代码的完整性(Integrity of The Author’s Source Code):意即修改后的版本,需以不同的版本号码以与原始的程序码做分别,保障原始的程序码完整性。

不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups)

  ●不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups): 开放源代码软件不得因性别、团体、国家、族群等设定限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。

  ●对程序在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。

  ●散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之。

授权条款不得专属于特定产品(License Must Not Be Specific to a Product)

  ●授权条款不得专属于特定产品(License Must Not Be Specific to a Product):若多个程序组合成一套软件,则当某一开放源代码的程序单独散布时,也必需要符合开放源代码的条件。

  ●授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一 开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光碟片),不得限制其他软件的授权条件也要遵照开放源代码的授权。

  ●授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。

  小结:学习一个技术,不是一看见源代码就是copy,而是仔细阅读后,找到自己想要的,并且自己写出来,自己理解了,下次遇到同样的问题,自己才能解决。当然如果大家还想了解更多相关方面的详细内容的话,课课家教育平台欢迎大家的咨询!

赞(13)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程