当前位置: 首页 > 图文教程 > 服务器 > Windows服务器 > 不用防火墙自动对付CC攻击防范vbs

Windows服务器
win2003 3389手工修改方法
windows2003 shtml支持设置方法
由于这台计算机没有终端服务器客户端访问许可证,远程会话被中断
Microsoft VBScript 运行时错误 错误 ''800a0046'' 没有权限
win2003 sp2 iis 上传文件不能超过200K的解决方案
win7 iis7.5 乱码 和 解析不了ASP的ADO连接数据库 的解决方法
让IIS支持Flv的详细设置方法
Win2003 服务器安全配置技巧
win2003 服务器安全设置教程(权限+防火墙)
win2003 服务器 安全设置 技术实例(比较安全的方法)
windows 服务器 目录 安全详细设置(PJblog 博客)
WinRAR 任务计划 免费定时备份
Windows7 apache启动失败的解决方法
Windows服务器SNMP服务的配置方法
Windows2008 AHCI功能开启方法(提升硬盘加速)
Windows2003 MSSQL 安全设置教程
IIS 服务器 防范攻击3条安全设置技巧
win2003 administrator 内置系统管理员账号名称修改方法
IP策略实现服务器禁止Ping
有史以来最好的windows 虚拟主机安全配置

Windows服务器 中的 不用防火墙自动对付CC攻击防范vbs


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-04   浏览: 59 ::
收藏到网摘: n/a

CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢 CC攻击原理
  CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观,现在知道为什么很多空间服务商都说大家不要上传论坛,聊天室等东西了吧.
  一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大.
  CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面).
  攻击现象:
  服务器的流量瞬间可达到几十M以上,网站打不开。重启iis会发现流量马上就降下来。查看IIS日志会发现很多不同的IP都反复访问一个相同的文件。查看C:WINDOWSsystem32LogFilesHTTPERR 会发现很多出错的IIS日志,如下:
  2007-08-22 06:05:28 61.140.127.206 61905 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 221.8.137.99 3916 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
  503 30 ConnLimit pool21
  2007-08-22 06:05:28 220.187.143.183 4059 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 218.18.42.231 1791 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 125.109.129.32 3030 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 58.216.2.232 1224 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
  503 30 ConnLimit pool21
  ...
  可以看出很多不同的IP都在访问list.asp这个文件。以上现象就是CC攻击的特征。根据发动CC攻击所使用的肉机数量,小的攻击可以导致网站很慢或者不稳定,大的攻击可以让网站一直都无法打开。
  因这类攻击,是模拟正常用户不断请求一个网页。所以一般的防火墙很难防御。下面我们根据实际工作经验,讲一下如何不用防火墙来解决这个攻击问题。
  因为CC攻击都是使用的肉机或代理来访问我们的服务器的,它跟synflood攻击不一样。synfoold一直是不断变化的虚假IP,而CC攻击的IP都是真实的IP而基本上不变化的,只要我们用安全策略把这些IP全部封掉就可以了。
  看过有网友介绍的方法,不过是手工一条一条地封,而攻击IP一般都是数千个不同的IP。用手工封IP的办法太麻烦。下面我们用程序来实现自动封这些IP!
  程序主要是读取这个网站的iis日志,分析出其中的IP地址,用安全策略自动封闭。VBS代码如下:
复制代码 代码如下:

  '代码开始
  Set fileobj=CreateObject("Scripting.filesystemobject")
  logfilepath="E:w3logW3SVC237ex070512old.log" '注意指定受攻击网站的日志路径。
  '如果是虚拟主机,要查是哪个网站受攻击,可以查看:C:WINDOWSsystem32LogFilesHTTPERR ,
  根据错误日志很容易分析出来。
  writelog "netsh ipsec static add policy name=XBLUE"
  writelog "netsh ipsec static add filterlist name=denyip"
  overip=""
  f_name=logfilepath
  '指定日志文件
  '程序功能:把logfiles中的IP提取成ipsec需要的过滤格式,导入ipsec中过滤。适合某个网站受大量CC攻击的情况。
  set fileobj88=CreateObject("Scripting.FileSystemObject")
  Set MYFILE=fileobj88.OpenTextFile(f_name,1,false)
  contentover=MYFILE.ReadAll()
  contentip=lcase(contentover)
  MYFILE.close
  set fileobj88=nothing
  on error resume next
  myline=split(contentip,chr(13))
  for i=0 to ubound(myline)-1
  myline2=split(myline(i)," ")
  newip=myline2(6)
  '指定分离的标识字符串!
  if instr(overip,newip)=0 then '去除重复的IP。
  overip=overip&newip
  dsafasf=split(newip,".")
  if ubound(dsafasf)=3 then
  writelog "netsh ipsec static add filter filterlist=denyip srcaddr="&newip&" dstaddr=Me
  dstport=80 protocol=TCP"
  end if
  else
  wscript.echo newip &" is exits!"
  end if
  next
  writelog "netsh ipsec static add filteraction name=denyact action=block"
  writelog "netsh ipsec static add rule name=kill3389 policy=XBLUE filterlist=denyip
  filteraction=denyact"
  writelog "netsh ipsec static set policy name=XBLUE assign=y"
  Sub writelog(errmes) '导出IPsec的策略文件为一个bat文件。
  ipfilename="denyerrorip.bat"
  Set logfile=fileobj.opentextfile(ipfilename,8,true)
  logfile.writeline errmes
  logfile.close
  Set logfile=nothing
  End Sub
  '代码结束

  把上述代码存为一个.vbs文件,设置好其中日志的路径。双击运行即可,运行完毕后生成一个denyerrorip.bat文件,这个是ipsec所需要的策略文件,直接双击运行即可。
  运行完毕即可解决CC攻击问题。