zoukankan      html  css  js  c++  java
  • DDOS防护原理

    1.常见DDoS攻击分类

    DDoS粗略分类为流量型攻击和CC攻击。流量型攻击主要是通过发送报文侵占正常业务带宽,甚至堵塞整个数据中心的出口,导致正常用户访问无法达到业务服务器。CC攻击主要是针对某些业务服务进行频繁访问,重点在于通过精心选择访问的服务,激发大量消耗资源的数据库查询、文件IO等,导致业务服务器CPU、内存或者IO出现瓶颈,无法正常提供服务。比较狡猾的攻击者会混合使用这两种攻击。

    流量型攻击细分起来还有许多种,下面介绍其中几种典型的。

    ·TCP SYN FLOOD——一个正常的TCP连接需要进行三方握手操作。首先,客户端向服务器发送一个TCP SYN数据包。而后服务器分配一个控制块,并响应一个SYN ACK数据包。服务器随后将等待从客户端收到一个ACK数据包。如果服务器没有收到ACK数据包,TCP连接将处于半开状态,直到服务器从客户端收到ACK数据包或者连接因为time-to-live(TTL)计时器设置而超时为止。在连接超时的情况下,事先分配的控制块将被释放。当一个攻击者有意地、重复地向服务器发送SYN数据包,但不对服务器发回的SYN ACK数据包答复ACK数据包时,就会发生TCP SYN泛洪攻击。通常黑客会伪造TCP SYN的源地址为一个不存在的地址,让服务器根本没法回包,并且增加TCP SYN的报文长度,同时堵塞机房出口。

    ·UDP FLOOD——又称UDP洪水攻击或UDP淹没攻击,UDP是没有连接状态的协议,因此可以发送大量的UDP包到某个端口,如果是个正常的UDP应用端口,则可能干扰正常应用,如果是没有正常应用,服务器要回送ICMP,这样就消耗了服务器的处理资源,而且很容易阻塞上行链路的带宽。通常黑客会发送大量长度较长,源IP伪造成不存在地址的UDP报文,直接堵塞机房出口。

    ·反射型攻击——反射拒绝服务攻击又称DRDoS攻击(Distributed Reflection Denial of Service),或分布式反射拒绝服务攻击。其原理如图2-22所示,是黑客伪造成被攻击者的IP地址,向互联网上大量开放特定服务的服务器发起请求,接收到请求的那些主机根据源IP地址将响应数据包返回给受害者。整个过程中,返回响应的服务器并不知道请求源的恶意动机。

    黑客往往会选择那些响应包远大于请求包的服务来利用,这样才可以用较小的流量换取更大的流量,获得几倍甚至几十倍的放大效果。一般来说,可以被利用来做放大反射攻击的服务包括DNS服务、NTP服务、SNMP服务、Chargen服务等。根据US-CERT在2014年1月发布的预警(Alert TA14-017A),DNS、NTP、SNMP等协议的反射放大效果以及脆弱性如图2-23所示,可见利用NTP协议的反射放大效果最好,超过500倍。也就是说攻击者只需要发起100Mbps的请求流量,经过NTP服务器的反射放大,可以换来5Gbps的攻击流量。2014年2月,在国外某云计算服务提供商遭受的400Gbps DDoS攻击中,黑客就采用了NTP反射放大攻击

    2.DDoS云防护的基本原理

    DDoS云防护的基本原理就是替身防护,即通过A记录、CNAME或者NS的方式将被攻击网站的域名指向云清洗机房,云清洗机房利用囤积的大量带宽进行流量清洗,把清洗后的正常业务访问转发给网站,过滤掉攻击流量。

  • 相关阅读:
    笨方法学python中执行argv提示ValueError: not enough values to unpack (expected 4, got 1)
    VMware workstation安装
    Redis bigkey分析
    MySQL drop table 影响及过程
    MySQL 大表硬连接删除
    ES elasticsearch 各种查询
    ES elasticsearch 各种聚合
    ES elasticsearch 聚合统计
    ES elasticsearch 实现 count单字段,分组取前多少位,以地理位置中心进行统计
    MySQL行溢出、varchar最多能存多少字符
  • 原文地址:https://www.cnblogs.com/pythonal/p/9584413.html
Copyright © 2011-2022 走看看