DDos(Distributed Denial of Service),分布式拒绝服务,在游戏、在线业务等方面常会发现这样的攻击,一般是竞争对手所为。那DDOS攻击的方式有哪些呢?
1流量攻击(四层)
主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机。
1.1 SYN/ACK Flood攻击
这个是很古老的攻击方法了,不过前期还是挺凑效的,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK 包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。
2资源耗尽攻击(七层,也称应用攻击)
主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
2.1TCP全连接攻击
这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,这里发送大量貌似正常的TCP连接请求,使服务器性能迅速下降。TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的。
2.2刷脚本攻击
一般站点几个常见的弱点模块:1、登录认证 2、评论 3、用户动态 4、ajax api等,他们要对数据库进行读或写操作,建立大量的连接。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,
攻击是多样的,怎么应对这样的攻击呢,还是有些方法的。
1.对于流量攻击,现在对应方案也很成熟,一般建立防火墙,用流量监控软件查看分析是否受到流量估计,在防火墙建立相应的规则,可以减少攻击。
2.使用云服务器和CDN服务,一般能构建云服务的服务商,带宽是很大的,他们也有相应的防DDOS攻击的应急方案;利用CDN可以保住静态化的页面可以访问,对于动态网站功能不凑效。
3.从应用层封杀。当攻击者的 IP 段巨广、无法 DROP 的 IP 还是会进到应用层的,这时绝不能让这些请求进入 运行的环节。使用过kangle 的 都知道,web 管理面版里有一个非常实用的功能叫做:请求控制 + 回写数据。知道 host 和 UA 以后,设置请求控制:杀掉所有 UA 的访问,同时关掉连接,回写数据。nginx 服务器也有类似的功能,要使用nginx的http_limit_conn和http_limit_req模块来防御。ngx_http_limit_conn_module 可以限制单个IP的连接数,ngx_http_limit_req_module 可以限制单个IP每秒请求数,通过限制连接数和请求数能相对有效的防御CC攻击。
版权声明:本文为博主原创文章,未经博主允许不得转载。