月光博客 » 网站建设 » 网站防止CC攻击的方法

网站防止CC攻击的方法

  CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。

  CC攻击的攻击技术含量低,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施攻击。不过,如果了解了CC攻击的原理,那就不难针对CC攻击实施一些有效的防范措施。

  通常防止CC攻击的方法有几种,一个是通过防火墙,另外一些网络公司也提供了一些防火墙服务,例如XX网站卫士和XX宝,还有一种方法是自己写程序预防,昨天网站遇到CC攻击,这也让我尝试了一下各种防止CC攻击方法的有效性。

  一开始我想使用某某网站卫士来预防攻击,从界面上看,似乎是防止了大量的CC攻击,但登录网站后发现,流量依旧异常,攻击还是依旧,看起来这个网站卫士的效果并没有达到。

网站防止CC攻击的方法

  从原理上看,基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。但如果IP的数量足够大,使得单个IP的连接数较少,那么防火墙未必能阻止CC攻击。

  不仅如此,我还发现,启用了某某网站卫士之后,反而更容易被CC攻击,因为这个网站卫士并不能过滤掉CC攻击,攻击的IP经过其加速后,更换成为这个网站卫士的IP,在网站服务器端显示的IP都是相同的,导致服务器端无法过滤这些IP。

  实际上,不使用网站卫士类的服务,直接通过分析网站日志,还是很容易分辨出哪个IP是CC攻击的,因为CC攻击毕竟是通过程序来抓取网页,与普通浏览者的特性区别还是很大的,例如普通浏览者访问一个网页,必定会连续抓取网页的HTML文件、CSS文件、JS文件和图片等一系列相关文件,而CC攻击者仅仅只会抓取一个URL地址的文件,不会抓取其他类型的文件,其User Agent也大部分和普通浏览者不同,这就可以在服务器上很容易分辨出哪些访问者是CC攻击了,既然可以判断出攻击者的IP,那么预防措施就很简单,只需要批量将这些IP屏蔽,即可达到防范CC攻击的目的。

  最终,我花了半个小时写了一段小程序,运行之后自动屏蔽了数百个IP,网站才算正常,从而证明,防火墙对于CC攻击的防御并不有效,最有效的方法还是在服务器端通过程序自动屏蔽来预防。

  看来CC攻击的门槛还真低啊,搞个几百个代理或者肉鸡就能攻击别人了,其成本非常低,但效果比较明显,如果攻击者流量巨大的话,通过耗费带宽资源的方式都可以进行攻击。但是,CC攻击也有明显的技术缺陷,就是攻击者的IP并不是海量的,通常就是几百数千的级别,并且是真实访问了网站页面,这就使得网站可以通过程序过滤的方式,轻松获取到这些攻击者IP,批量进行屏蔽,那么这种CC攻击就会得到预防。

  对于站长来说,通过程序来过滤CC攻击门槛较高,要有一定的编程技术,因此还是建议使用第三方网站提供的预防CC的服务,目前主要的网站有:云锁、安全狗、Cloudflare、百度云加速、360网站卫士等。

  此外,下面还提供了一段基于ASP的防止CC攻击的代码,也供大家参考。

'防止CC攻击
Dim CC_Info(4),strInfo,strTemp 
If Session("CC_Info") = "" Then 
CC_Info(0) = "cclog.txt" '日志文件名 
CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR") 
CC_Info(2) = Request.ServerVariables("REMOTE_ADDR") 
CC_Info(3) = 4 'N秒内禁止刷新当前页面 
CC_Info(4) = "badip.txt" 'IP黑名单文件名 
Session("CC_Info") = CC_Info(0) &"|"& CC_Info(1) &"|"& CC_Info(2) &"|"& CC_Info(3) &"|"& CC_Info(4) 
Else 
strInfo = Split(Session("CC_Info"),"|") 
CC_Info(0) = strInfo(0) 
CC_Info(1) = strInfo(1) 
CC_Info(2) = strInfo(2) 
CC_Info(3) = strInfo(3) 
CC_Info(4) = strInfo(4) 
End If 
Const chkRefresh = 1 '0关闭防刷新 
Const chkProxy = 1 '0关闭代理验证 
Const chkBadIP = 1 '0关闭IP黑名单 
If Session("BadIP") = "" Then 
strInfo = ReadFile(CC_Info(4)) 
If strInfo = "" Then strInfo = "williamlong.info" 
Session("BadIP") = strInfo 
Else 
strInfo = Session("BadIP") 
End If 
'/*第一层判断,N秒内禁止刷新*/ 
If chkRefresh = 1 Then 
If Session("RefreshTime")="" Then 
Session("RefreshTime")=Now() 
Else 
If DateDiff("s", Session("RefreshTime"), Now()) < CInt(CC_Info(3)) Then 
SaveLog CC_Info(0),CC_Info(1) & "["& CC_Info(2) & "]" & Now() &vbCrLf 
Response.Write("系统繁忙,请稍候再试!错误代码001") 
Response.End() 
Else 
Session("RefreshTime")=Now() 
End If 
End If 
End If 
'/*第二层判断,代理禁止查看*/ 
If chkProxy = 1 Then 
If CC_Info(1) <> "" Then 
If InStr(strInfo,CC_Info(1)) = 0 Then 
strTemp = CC_Info(1) & vbCrLf 
If InStr(strInfo,CC_Info(2)) = 0 Then 
strTemp = strTemp & "[" & CC_Info(2) & "]" & vbCrLf 
End If 
SaveLog CC_Info(4),strTemp 
strInfo = strInfo & strTemp 
Session("BadIP") = strInfo 
End If 
'记录CC攻击日志 
SaveLog CC_Info(0),CC_Info(1) & "["& CC_Info(2) & "]" & Now() &vbCrLf 
Response.Write("系统繁忙,请稍候再试!错误代码002") 
Response.End() 
End If 
End If 
'/*第三层判断,IP黑名单禁止查看*/ 
If chkBadIP = 1 Then 
If InStr(strInfo,CC_Info(2))>0 Then 
Response.Write("系统繁忙,请稍候再试!错误代码003") 
Response.End() 
End If 
End If 
'ForReading=1,ForWriting=2,ForAppending=8 
Function SaveLog(filename, filecontent) 
On Error Resume Next 
Dim fso, thisfile 
filename = Server.MapPath(filename) 
Set fso = CreateObject("Scripting.FileSystemObject") 
If Err <> 0 Then 
Response.Write("写入文件"&filename&"失败,可能您的系统不支持FSO!") 
Response.End() 
End If 
Set thisfile = fso.OpenTextFile(filename, 8, True) 
thisfile.write (filecontent) 
thisfile.Close 
Set fso = Nothing 
End Function 
Function ReadFile(filename) 
On Error Resume Next 
Dim fso, thisfile 
Set fso = CreateObject("Scripting.FileSystemObject") 
If Err <> 0 Then 
Response.Write("读取文件"&filename&"失败,可能您的系统不支持FSO!") 
Response.End() 
End If 
Set thisfile = fso.OpenTextFile(Server.MapPath(filename), 1, True) 
ReadFile = thisfile.ReadAll 
thisfile.Close 
Set thisfile = Nothing 
Set fso = Nothing 
End Function

网站防止CC攻击的方法

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    vvedit   说道:
    作为一名程序猿,会码字,写IT经济观察,而且建站这么多年也没被墙,肯定是遭人妒忌了,自己得反省一下。
    支持(35反对(16回复
  1. 2
    要改变态度的金忠   说道:
    求代码共享一下,谢谢。
    支持(29反对(15回复
  1. 3
    小喽喽   说道:
    现在网站被cc好多天了,求代码共享!!!发送到邮箱哦!!!!
    支持(18反对(4回复
  1. 4
    汇感舟   说道:
    月光 这段代码能发我邮箱吗 最近网站也被顶上了 我的是php程序
    支持(20反对(11回复
  1. 5
    龙伟进   说道:
    TbGF4/1.3.0,求教这是什么服务器,WIN下的吗?
    支持(25反对(17回复
  1. 6
    Zhou-er   说道:
    那个数字卫士本就很邪恶嘛,哪有那么神奇的功能
    支持(18反对(11回复
  1. 7
    Kam   说道:
    强烈建议博主共享防CC攻击的程序代码!
    支持(20反对(14回复
  1. 8
    babytomas   说道:
    本意是用来压力测试,但是总是有些人用来玩攻击 。。。现在会这些的太多了
    支持(9反对(3回复
  1. 9
    Wait_Mine   说道:
    又不能登录了。。。维护??
    支持(15反对(10回复
  1. 10
    景安老孙   说道:
    求月光大侠共享代码吧,非常感谢,可以发到我的邮箱里,谢谢~~~
    支持(11反对(6回复
  1. 11
    Vince   说道:
    分享一下你寫的程序吧,可以讓其他有需要的人參考一下~
    支持(16反对(12回复
  1. 12
    左新武   说道:
    陕西湖北中枪了
    支持(18反对(14回复
  1. 13
    向日葵媒体设计   说道:
    天朝人民吃的太空了,衣食无忧了。
    支持(18反对(14回复
  1. 14
    lee   说道:
    最近深受CC攻击困扰,真心就帮助!!!能分享下自动屏蔽软件么
    支持(9反对(5回复
  1. 15
    麻壳吐槽   说道:
    针对频繁放包的ip自动给禁止访问?技术上能实现不?
    支持(13反对(10回复
  1. 16
    冰纷Ent   说道:
    CC攻击比DDOS更难防护,因为人与非人的鉴别是屏蔽不必要流量的关键。
    支持(17反对(14回复
  1. 17
    yicol   说道:
    cc攻击多样性,特征不一,不是一段小小的代码能解决,要全面防cc是复杂工程
    支持(8反对(5回复
  1. 18
    郁闷哥   说道:
    我的站也被攻击了,
    原是不停访问一个页面,后面我把这页面删了,看日志还在攻击原来那个页面地址,只是出现404错误页,但APAHCE还是顶不住还是挂了,估计代码也没有什么用
    支持(8反对(5回复
  1. 19
    GoodCMD   说道:
    您的程序是服务器端的asp的吗?

    非常需要,我的网站出现过类似问题,我束手无策,只有等。。。

    不知道能不能发我一份,向您学习。付点费也行。我的邮箱是 feng#goodcmd. com

    谢谢!
    支持(17反对(15回复
  1. 20
    宝马街-冰堂主   说道:
    你才知道啊,互联网协议急需升级到新一代
    支持(17反对(15回复
  1. 21
    刘玮琦MILFEE   说道:
    能写程序就是牛啊。崇拜。
    支持(20反对(18回复
  1. 22
    一击屠夫   说道:
    CC攻击是最没技术含量的…不过肉鸡基数再大一点,请求间隔再长一点,那个程序就捉襟见肘了,可以试试其他软防。
    支持(21反对(19回复
  1. 23
    倍哥也是哥   说道:
    动用WINDOWS防火墙和网站卫士对抗CC?
    支持(20反对(18回复
  1. 看来高手都在民间啊
    支持(15反对(13回复
  1. 此法‘只适用访问量相对较小的网站。
    支持(16反对(14回复
  1. 26
    暴走老鼠   说道:
    这不是DDOS么???
    支持(15反对(14回复
  1. 27
    冰纷Ent   说道:
    nginx有个return 444直接掐断连接。如果有时间建议你还是给博客安插一个前端吧,WINDOWS下的伺服系统承受不了高并发,这是最大的瓶颈,我猜你服务器死在了连接数过大接受不了新连接请求。上次我的阿里云主机硬是被CC得出带宽超限,CPU、内存什么的完全没压力,后来封了ip恢复
    支持(14反对(13回复
  1. 28
    爱在今日   说道:
    有时候还要自己出马!
    支持(15反对(14回复
  1. 29
    Fey飞儿   说道:
    DDos确实防不胜防,封IP不会误伤无辜么?Web server挡不住?
    支持(14反对(13回复
  1. 30
    雨寂xenia   说道:
    ..问个菜的问题,什么是CC,第二次见到却不知是啥
    支持(13反对(12回复
  1. 31
    test   说道:
    有点扯,你把IP屏蔽了,人家正常的访问怎么办?被你拒绝服务了?
    阿驹 于 2013-2-13 15:19:49 回复
    看到55楼的就想笑。攻击者的IP,与正常访问的IP肯定是不同的,通过流量监控,加上有经验的话,就能区别攻击者与正常访问者的IP,误伤非常小。
    支持(16反对(15回复
  1. 32
    lanse   说道:
    求代码,cc攻击真的好头疼
    支持(16反对(15回复
  1. 33
    mu17   说道:
    防止CC直接用软件搞定!@
    支持(8反对(7回复
  1. 34
    小林   说道:
    尊敬的月光博主:
    能否发一下代码?
    支持(7反对(6回复
  1. 35
    达人   说道:
    之前用过加速乐、360网站卫士,先介绍这两个,安全狗放到最后说。
    1、加速乐,这个是百度站长平台官方推荐的,以为有这个后盾,还有引蜘蛛功能,肯定能大幅提高网站SEO效果。使用了一段时间,没啥效果,还是换回之前用过的360网站卫士。
    2、360网站卫士,这款产品我用了一年多时间,比较有发言权。不得不说后台操作体验做得很好,号称200G流量的高防。不过,不知名小站点也无人大流量攻击。用了大半年时间,没事就上去检测下网站漏洞啥的,评分一直是100左右,提示我网站固若金汤……
    直到一天,我登录爱站网一查询,网站标题、关键词都被恶意替换。而且你直接打开网页是看不到被修改的,用JS隐藏了。网站文章目录被上传几百个博彩类静态页面。因为过于相信360的垃圾防御,发现这些问题时,已被修改几个月了。网站权重、收录大幅下降(百度也一直未给我恢复,还是google好,反应快。)。
    3 安全狗,被360忽悠了之后,安装了安全狗。一检测网站几百个一句话木马、各种PHP木马。这该死的360居然一直都没发现,还提示我网站固若金汤???清除后,一直使用到现在。

    也有人建议我,服务器安装安全狗+360网站卫士双重防护。我也使用过,实际测试发现这样会严重影响页面打开速度。可能是安全狗对CDN加速后的网站检测兼容性问题,按照官方的意见,把360的CDN IP全部加入白名单效果也不大。而且这些IP也是经常在变动,并不是固定那几个,所以放弃。

    支持(8反对(7回复
  1. 36
    小暗色   说道:
    楼主分享下防的代码呗!
    支持(6反对(5回复
  1. 37
    1151   说道:
    DDos攻击 CC攻击 300G混合量.1-5W CC位置,实力代表一切 打死付款 V信 178889 点赞 8折o
    支持(1反对(0回复
  1. 38
    ddos886   说道:
    ddos886服务器租用 高防
    支持(1反对(0回复
  1. 39
    时间都给懒偷了   说道:
    小心是卫士“监守自盗”
    支持(16反对(16回复
  1. 40
    杨哈努尔   说道:
    擦,宝刀不老剔龙鳞
    支持(16反对(16回复
  1. 41
    逍遥立博   说道:
    某某卫士,是360吗?
    支持(16反对(16回复
  1. 42
    德国阳光蓄电池   说道:
    支持原创,.ups-supplier.
    支持(15反对(15回复
  1. 43
    我的名字叫麒   说道:
    每天来看几篇,今天看不大懂~
    支持(16反对(16回复
  1. 44
    反对五毛   说道:
    想起8年前疯狂学习iptable。。。

    用linux服务器的站长可以学习下。
    支持(19反对(19回复
  1. 45
    wuer11   说道:
    造成这个提示的后果 “argument fault ”
    谁能防御这个攻击
    wuer11 于 2014-6-16 8:41:15 回复
    知道防御的人 请联系我 785428218
    支持(4反对(4回复
  1. 46
    qiyuansu   说道:
    求共享代码
    支持(0反对(0回复
  1. 47
    米粒博客   说道:
    今天被攻击得一度访问不了,宕机!
    支持(0反对(0回复
  1. 48
    1151   说道:
    DDos攻击 CC攻击 300G混合量.1-5W CC位置,实力代表一切 打死付款 V信 178889 点赞 8折
    支持(0反对(0回复
  1. 49
    牛人   说道:
    我之前的网站一直被CC 用了亚太网络的防CC引擎后 一点问题都没
    支持(0反对(0回复
  1. 50
    蓝焰的小蜗牛   说道:
    这种攻击一般没什么技术含量.靠数量取胜..
    支持(15反对(16回复
  1. 51
    洪囧明   说道:
    弱弱问一下,IDC没有提供安全服务吗?还得自己写脚本?
    支持(12反对(13回复
  1. 52
    邪恶DE小宝   说道:
    大牛啊,我一直以为你是写博客的,没想到技术这么屌
    支持(10反对(11回复
  1. 53
    服了   说道:
    用着别人的服务, 就不要说什么啦. 既然你都用了,好歹也发个文章介绍下啊, 是不是怕分享出来,用户多了,效果就不好了啊 .
    支持(13反对(14回复
  1. 54
    兔八哥   说道:
    拜膜大佬了
    求代码

    邮箱等待拉
    支持(5反对(6回复
  1. 55
    格桑小花花   说道:
    可以把程序放出来共享一下吗?
    支持(14反对(16回复
  1. 56
    小陈   说道:
    尊敬的月光博主:
    我们的小站yjkk刚刚被攻击,能否发一下代码我们?

    不管怎么样,非常感谢!

    小陈
    支持(10反对(12回复
  1. 57
    lancelot   说道:
    无孔不入。。!
    支持(14反对(17回复
  1. 58
    刘天宇   说道:
    好像用合法的压力测试程序就能做到
    支持(13反对(16回复
  1. 59
    网络创富之路   说道:
    靠谁都不如靠自己,呵呵~
    支持(12反对(15回复
  1. 60
    灯雪   说道:
    求程序啊,造福人类
    支持(15反对(18回复
  1. 61
    诸城百姓网   说道:
    原来网站卫士是把每一次的访问记做一次攻击啊
    太假了吧
    支持(11反对(14回复
  1. 62
    阿驹   说道:
    那是你么遇到过真正有威力的CC攻击吧。你做过网游SF么?你去用用SF的服务器救会体会到CC攻击的强大。
    支持(8反对(11回复
  1. 63
    飞天小笨猪   说道:
    最近也深受此害,求大神共享代码软件
    支持(4反对(7回复
  1. 64
    boolfly   说道:
    大神求代码.网站最近被刷了,求共享··感激不尽
    支持(8反对(11回复
  1. 65
    山里人博客   说道:
    防火墙对于CC攻击的防御并不有效,最有效的方法还是在服务器端通过程序自动屏蔽来预防。非常正确
    支持(15反对(19回复
  1. 66
    25度灰   说道:
    通过查看同一IP是否同时加载JS,CSS,HTML,这些来判定好像不能用在有Ajax和图片验证码上面。还有就是User agent也是可以伪造的。

    PS: 我一直手动回复,却总是给我返回“503 Service Temporarily Unavailable”。
    支持(12反对(16回复
  1. 67
    刘天宇   说道:
    在application层记录并拦住恶意ip?
    支持(10反对(15回复
  1. 68
    七夕鹊   说道:
    人家屏蔽的是攻击的ip,不懂装懂。43楼说的对,user agent伪造没有什么难度
    支持(11反对(16回复
  1. 69
    宛川城墙贴   说道:
    同路人,走过,关注。
    支持(14反对(19回复
  1. 70
    小椴   说道:
    求 放CC 的程序呀 能发到我邮箱吗?
    支持(4反对(9回复
  1. 71
    Victor_xus   说道:
    几百个ip就能被击垮?
    支持(12反对(18回复
  1. 72
    liuchen9586   说道:
    我说怎么服务器bad request,原来是这样的啊
    支持(13反对(19回复
  1. 73
    大神BIG01   说道:
    求这段代码~~
    支持(12反对(19回复
  1. 74
    itsean   说道:
    能不能把代码共享一下啊?
    支持(1反对(9回复
  1. 75
    CPU   说道:
    用安全狗就可以了,装在服务器上,防护CC很给力,何必自己动手写
    支持(7反对(15回复
  1. 76
    本无鬼见愁   说道:
    会写程序就是神一般的存在~
    支持(9反对(20回复

发表留言