4000-618-418

什么是DoS攻击?如何防范(dos攻击)

2020年08月19日

DoS攻击

DoS(Denial of Service),拒绝服务,顾名思义这种攻击是为了让服务器无法提供正常服务,最常见的DoS攻击是网络带宽攻击和连通性攻击。

  • 带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。

  • 连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。

可以看出来,DoS攻击本身也受网络规模和网络速度的限制,单个计算机没办法做到攻破一台服务器,所以DoS攻击者开发了分布式攻击DDoS(Distributed Denial of Service),集合许多计算机的带宽来同时对一台服务器发动攻击。

黑客.jpg

下面我们来看三种典型的DoS攻击:SYN洪水攻击、IP欺骗和Land攻击。

1.SYN洪水攻击

SYN洪水攻击是利用TCP协议的缺陷,通过发送大量的半连接请求消耗资源,造成网络拥塞甚至宕机以达到攻击者不可告人的秘密。

2.IP欺骗

这种攻击同样是利用TCP协议栈的漏洞,我们知道TCP协议有一个RST位用于连接出错时的复位。

这种攻击利用IP欺骗,使得服务器将合法的用户连接复位,影响正常用户的使用。

  • 比如说现在有一个合法连接(172.111.222.123),攻击者构造一个TCP数据报,伪装自己的IP是172.111.222.123,并向服务器发送一个带RST位的数据报。

  • 服务器接收到后会认为该连接发生错误,将该连接从缓冲区中移除

  • 所以正常用户只能重新发起连接。

3.Land攻击

进行Land攻击时,黑客特别打造一个源地址和目标地址都被设置成某一个服务器的SYN包,此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时。大量的连接将严重影响服务器性能。

那么我们面对DoS攻击是否是束手无策呢?当然不是,我们可以做以下防范:

  1. 缩短SYN超时时间,以减少缓冲区中保留的半连接个数。

  2. 限制同时打开的半连接个数,当半连接个数已经达到上限时,后面未成功的TCP连接将被丢弃而不会保存在缓冲区中。

  3. 设置SYN Cookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被一概丢弃。

  • 一般来说,第三种方法在防范该类问题上表现更佳。

  • 同时可以在Web服务器端采用分布式组网、负载均衡、提升系统容量等可靠性措施,增强总体服务能力



上一篇:云服务被黑后如何做安全加固

下一篇:什么是CSRF攻击?(Csrf攻击)