网络攻击——DoS攻击、DDoS攻击

DoS攻击

全称为Denial of Service——拒绝服务,通过协议方式或捉住系统漏洞,集中对目标进行网络攻击,直到对方网络瘫痪。

攻击技术门槛较低,并且效果明显,防范起来比较棘手,一度成为黑客的必杀武器,进而出现的DDoS攻击。

扩展访问列表是防止DoS攻击的有效工具,其中Show IP access-list命令可以显示匹配数据包,数据包的类型反映了DoS攻击的种类,由于DoS攻击大多是利用了TCP协议的弱点,所以网络中如果出现大量建立TCP连接的请求,说明洪水攻击来了。此时管理员可以适时的改变访问列表的配置内容,从而达到阻止攻击源的目的。

如果用户的路由器具备TCP拦截功能,也能抵制DoS攻击。在对方发送数据流时可以很好的监控和拦截,如果数据包合法,允许实现正常通信,否则,路由器将显示超时限制,以防止自身的资源被耗尽,说到底,利用设备规则来合理的屏蔽持续的、高频度的数据冲击是防止DoS攻击的根本。

DDoS攻击

DDoS(Distubuted Denial of Service)攻击,即分布式拒绝服务攻击。
通过程序控制大量的计算机,然后通过这个计算机群在同一个时间,发送大量的请求到目标服务器,从而达到服务器处理不过来,请求超时的情况。

DDOS 不是一种攻击,而是一大类攻击的总称。它有几十种类型,新的攻击方法还在不断发明出来。网站运行的各个环节,都可以是攻击目标。只要把一个环节攻破,使得整个流程跑不起来,就达到了瘫痪服务的目的。

常用方式
SYN Flood

tcp半链接攻击也称SYN Flood(SYN洪水)
效果是服务器TCP连接资源耗尽,停止响应正常的TCP连接请求
这个攻击是通过TCP连接建立的,攻击前先建立TCP连接,这个需要对TCP的三次握手和四次挥手协议有一定了解。
tcp发送需要经过三次握手,需要client应答ack代表连接接收到,如果client一直建立连接而不应答,server就会一直阻塞等待,知道listen的数量达到上限从而停止服务;

DNS Query Flood

通过程序控制,向目标服务器的DNS服务器,发送大量的域名解析请求,不过这些域名基本是随机生成的,比如改下端口什么的。
DNS服务器接收到域名之后,先去缓存里查找是否有这个域名,然后发现没有,之后,DNS服务器就会向上层的DNS服务器递归查询了,指导向上查询了全球13台根DNS服务器。这时候肯定会出现域名解析超时的情况。

预防网站被DoS/DDoS攻击

DoS/DDoS预防涉及硬件和软件,这里只介绍Web应用如何预防,如果我们的web系统遭受攻击,整个系统可能会因为内存泄漏,CPU资源耗尽,连接数被耗尽等,使得网站无法提供服务。

  1. 首先,所有的http/https请求,必须通过身份的验证,没有登录的用户拒绝响应。这是必须做的,身份验证会增加攻击的难度。
  2. 控制数据包的大小,根据自己的业务,设置数据包的最大值,当大于这个值的情况下可以拒绝服务。(业务最大只需要3M, 那么100M的请求就被拒绝了)
  3. 对调用的参数进行校验,比如传输一个很大的数组给后台服务器,在多个请求同时遍历大数组的情况下,会导致CPU资源耗尽。
  4. 除登录用户的校验,还必须增加随机数校验,解决跨站请求伪造的同时,大大增加了Dos攻击的难度。
  5. 在服务器响应中,不能无限启动新的线程。如果需要多线程处理,需要使用线程池的机制,并控制线程的数量。同时保证线程池不能过多,不能再请求中生成线程池。
  6. 请求要有超时机制,防止请求线程被长时间占用,从而导致线程中的资源无法释放。

若有错误,希望大神们指点指点 ?

参考链接:

网络攻击的常见手段与防范措施
四大网络攻击常见手段及防护
DDOS攻击的防范教程
常见的网络攻击方法
如何预防网站被DoS攻击

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值