您的位置:首页 > 其它

什么是CC?CC攻击原理及防御方法

2010-11-18 12:42 260 查看
概念:

cc(connection)攻击是用大量的访问某个页面,而造成网站程序不能正常响应的一种新型攻击。

cc攻击一般使用代理的方式来进行,一来可以隐藏自己的IP,二来可以增加攻击效果(找多台代理)。

不多说了,大概就是这个意思,废话连篇大家就晕了~~

防御:

第一种方法(硬防):

传统的硬件防火墙只能从限制tcp的最大会话数来限制,如果大点的网站,每IP的最大会话数要放开到300设置更多,这样的就起不到咱们想要的结果,除非专业做抗DDOS或CC攻击的防火墙。

第二种方法(代码) :

以下是asp程序语言

1. 使用Cookie认证.这时候朋友说CC里面也允许Cookie,但是这里的Cookie是所有连接都使用的,所以启用IP+Cookie认证就可以了。

2. 利用Session.这个判断比Cookie更加方便,不光可以IP认证,还可以防刷新模式,在页面里判断刷新,是刷新就不让它访问,没有刷新符号给它刷新符号.给些示范代码吧,Session:
  程序代码:
  〈%
  if session(“refresh”)〈〉 1 then
  Session(“refresh”)=session(“refresh”)+1
  Response.redirect “index.asp”
  End if
  %〉
 这样用户第一次访问会使得Refresh=1,第二次访问,正常,第三次,不让他访问了,认为是刷新,可以加上一个时间参数,让多少时间允许访问,这样就限制了耗时间的页面的访问,对正常客户几乎没有什么影响。
 3. 通过代理发送的HTTP_X_FORWARDED_FOR变量来判断使用代理攻击机器的真实IP,这招完全可以找到发动攻击的人,当然,不是所有的代理服务器都发送,但是有很多代理都发送这个参数.详细代码:
  程序代码:
  〈%
  Dim fsoObject
  Dim tsObject
  dim file
  if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
  response.write "无代理访问"
  response.end
  end if
  Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
  file = server.mappath("CCLog.txt")
  if not fsoObject.fileexists(file) then
  fsoObject.createtextfile file,true,false
  end if
  set tsObject = fsoObject.OpenTextFile(file,8)
  tsObject.Writeline Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  &"["Request.ServerVariables("REMOTE_ADDR")&"]"&now()
  Set fsoObject = Nothing
  Set tsObject = Nothing
  response.write "有代理访问"
  %〉
 这样会生成CCLog.txt,它的记录格式是:真实IP [代理的IP] 时间,看看哪个真实IP出现的次数多,就知道是谁在攻击了.将这个代码做成Conn.asp文件,替代那些连接数据库的文件,这样所有的数据库请求就连接到这个文件上,然后马上就能发现攻击的人。
4. 还有一个方法就是把需要对数据查询的语句做在Redirect后面,让对方必须先访问一个判断页面,然后Redirect过去。
5. 在存在多站的服务器上,严格限制每一个站允许的IP连接数和CPU使用时间,这是一个很有效的方法。
 代码层的防御需要从点点滴滴做起,一个脚本代码的错误,可能带来的是整个站的影响,甚至是整个服务器的影响,慎之!
第三种方法(第三方程序):
冰盾等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: