电脑常识文选 | QQ专区 | 硬件Diy | 电脑教程 | 电脑应用 | 网络应用 | Office | 操作系统 | 电脑学习 | 电脑知识库 | 网页制作 | 应用软件 | 电脑硬件
电脑故障 | 电脑网络 | 病毒防治 | 安全防护 | 电脑爱好者 | 电脑知识 | 软件应用 | 电脑医生 | cpu | 主板 | 硬盘 | 内存 | 显卡 | 显示器 | 键盘鼠标
本文相关内容
·防御DDOS攻击终极指南
·防御DDoS的六大绝招
·防Java炸弹、拒收病毒邮件二三招
·访问网页时出问题
·访问权限问题问答集锦
·封ID是什么意思啊,上不了网了吗
·封锁疯狂下载的好办法
·封锁疯狂下载的办法 route-map
·封锁常见网页插件的安装提示
·防杀病毒有什么办法
·封杀FSO躲避木马程序的侵扰
·防DDoS攻击11招
·二级    计算机等级考 试
·二次代理的使用技巧
·二、帐号等私人信息的防盗措施
·防御局域网攻击 ZT
·防治网络蠕虫病毒的技巧及其策略
·防治电脑病毒的有效方法
·防止ASP木马在服务器上运行
·防止E-MAIL信箱被攻击
·防止E-mail信箱被攻击的秘诀
·防止入侵 两步修改XP远程管理默认端口
·防止入侵--安全设置企业拨号网络
·防止Serv_U6.0.0.2权限提升的方法
·防止SYN泛洪攻击 开启路由器的TCP拦截
·防止内部IP地址泄漏的2种方法
·防止别人用ipc$和默认共享入侵
·防止别人用ipc$空连接和默认共享入侵
·防止非法修改IE浏览器标题栏
·防止黑客鉴别你的操作系统
  ★防御额外访问量带来的拒绝服务式攻击

防御额外访问量带来的拒绝服务式攻击

添加记录: 网络应用  类别: 网络应用  发布日期: 2006.09.20

现在网上流传一种方法,就是利用额外访问量来进行拒绝服务式攻击,这种攻击,只需要一个文件,短短的几行代码,就可以通过访问该文件的用户,在他们不知不觉的情况下给你的目标带来数十倍,甚至上百倍的访问量,当该文件的访问量达到一定数目时,给对方带来的压力将是非常可怕的。而且,这种攻击由于攻击源都是普通用户,无法在放火墙上面做任何设置,可以说是防不胜防。但是道高一尺,魔高一丈,有矛必有盾,这样的攻击方式很难维护,但是也绝对不是不能防护。下面讨论一下防御办法。
1:利用参数变换保护数据库访问率:对于使用到数据库或者其它文件资源的动态页面可以使用参数变换,比如我们设定函数Encrypt(id)把 id转化成String的参数,我们的页面news.asp?id=acehj.我们可以通过Decrypt(string)进行解码,把它们解回id这样一来,客户很难伪造一个合法的参数访问页面,页面在解码的过程中利用验证码就拒绝了非法客户的访问,避免了恶意客户的数据库访问,通过牺牲一点点的 CPU计算时间获得了数据库访问的安全。大家先看几个例子看能不能猜出里面的函数变换139<=>adkl.110<=> abba.80<=>hag.11234567890<=>abdfhjlnprjs。
看出来了吗?Encrypt和Decrypt的代码如下:
<%
Function Encrypt (id)
StrR=""
Chk=0
For x=1 to len(id)
      StrR=StrR&chr(95+x+cint(mid(id,x,1)))
      Chk=Chk+Cint(mid(id,x,1))
  Next
  Chk=Chk mod 26
  StrR=StrR&chr(95+chk)
  Encrypt=StrR
End Function
Function Decrypt(str)
   StrR=""
   For x=1 to len(str)-1
     u=(asc(mid(str,x,1))-x-95)
     StrR=""
     For x=1 to len(str,x,1))-x-95
         u=(asc(mid(str,x,1))-x-95)
         StrR=StrR&u
   Next
   Chk=Chk mod 26
   if right(str,1)<>chr(95+chk) then
         response.write "验证错误"
         response.end
         end if
     Decrypt=StrR
  End Function
%>
调用Encrypt(1235)得到acehj("aech?")时,只有?为j时能得到正确结果1234,除此之外的任何字符都将返回"现验证错误"。
通过这样的保护变化,客户访问的就是news.asp?id=acehj.无法看到实际id为1235,随机生成的id又无法通过验证过程,就无法通过软件模拟来制造多线程的合法访问,避免因为非法访问使得数据库资源耗尽而拒绝服务。另外,在这样的保护下,SQL lnjection漏洞也得到了很好的防御。
这仅仅是个示范代码,这个函数还有许多可以改进的地方:
1)可以增加函数变化的强度,降低函数被猜测出具体过程的概率。
2)可以把函数运用到Cookie中,对于Cookie做相应的变化,增加防御手段的隐蔽性。
3)可以把客户IP加入函数运算,不光节约增强了函数强度,还达到防止盗链的功能。一旦用户改变IP或伪造COOKIE及ID,马上就发现
4)可以把时间加入函数运算,不光节约服务器的存储空间,而且服务器只要通过对客户发送的字符串进行解码就能判断出客户信息。
程序可以改进的地方还有好多每虽然能从多方面保护服务器,但也要注意使用方法,比如第四点提到的对空间的节约,就需要考虑空间和时间综合因素。
2:在代码层提高程序运行效率,增加服务器运行能力,减少被拒绝服务的可能。程序代码非常关键,实现同样的功能,代码的好坏,效率差别极大,这里有两个添加数据的代码大家比较下:
代码一
<%
sql="select * from users"
rs.open sql,conn.1.3
rs.addnew
rs("username")="TEST"
rs("password"="123456"
rs.updatw
rs.close
%>
代码二
<%
sql="insert into users (username,password) values ('TEST','!23456')"
      rs.open sql,conn,1,3
%>
明显的代码二的效率比一要高的多,特别是当数据库体积较大或者进行对次的重复操作时效率的提升是相当可观的,代码的好坏决定了程序的优劣,决定了服务器所能支持的客户数,进而决定了服务器的抗击DDOS的能力。
3:限制代理用户的访问:对代理用户访问的限制可以有效的防止黑客利用CC之类的工具进行攻击,限制黑客对代理的使用,增加他暴露的可能,所以禁止代理访问能够降低被攻击的可能。这个代码能够识别出大部分的代理访问。这段代码可以按用户自己的要求修改后写在Conn.asp里面,就能起作用拉,当然,代理是个双刃剑,对代理的限制也一样,禁止代理访问会给一部分用户的正常访问带来不变,所以要考虑后使用。
4:使用HTTPS协议,使用HTTPS协议可以说好处多多,可以多传输数据的安全性给予充分的保障,由于HTTPS协议的复杂性,能对 HTTPS协议进行攻击也相对少的多,HTTPS协议如果使用的非标准端口,基本可以杜绝所有的代理攻击,还避免了多线程的下载,降低服务器压力,但是由于HTTPS协议的复杂性,服务器新跟能够相对HTTPS协议来说会低些,对客户电脑性能的要器乐也就有所提高。
5:减少动态文件的使用,增加景泰文件使用,动态文件可以带来丰富的页面,实现很多功能,节省开发时间,但是方便的同时就是服务器资源消耗的提升,所以许多大论坛都把访问大的帖子做成静态的,还有许多文章系统也事用的静态页面[比如Wwww.Cnhacks.CoM]以增加服务器的抗攻击能力。
6:合理设置防火墙,防火墙能够有效地检测出功能,并对攻击进行积极的防御,但是如果对防火抢的设置不合理,发有可能出现防火墙负担能力比服务器还差的情况,拒绝服务器攻击产生的根源变成防火墙
7:有条件的服务器可以使用端口重定向功能,80端口只负责做页面转向,具体提供服务的端口由系统动态决定,通过80端口的转往。
8:对于已经遭受攻击的服务器,可以在使用以上手段防御的同时,考虑增加服务器集群增加服务器的服务能力。
(出处:http://www.8s8s.net)



上一篇:防御DDOS攻击终极指南 下一篇:防御技巧:击败盗QQ密码高手FalseQQ破解软件

电脑常识文选风云榜
声卡音箱 | 软驱光驱 | 打印机 | 机箱电源 | BIOS | 操作系统 | 局域网 | 浏览器 | 网卡 | 电脑死机

电脑常识文选 © 2006 版权所有

提示:本站致力于电脑使用常识,电脑故障排除,计算机使用小窍门的分享与传播,内容仅供参考,按此操作责任自负。