1.DDOS/DOS攻击过滤
DDOS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。如果说以前网络管理员对抗DOS可以采取过滤IP地址方法的话,那么面对当前DDOS众多伪造出来的地址则无计可施。常见的DOS/DDOS攻击类型如下:
Ping of Death:许多操作系统的TCP/IP协议栈规定ICMP报文大小为64KB,并为此分配缓冲区。Ping of Death故意产生畸形报文,声称自己的大小超过64KB,使得协议栈出现内存分配错误,导致死机。
Teardrop:攻击利用UDP包重组时重叠偏移的漏洞,对系统主机发动拒绝服务攻击,最终导致主机宕掉。
UDP flood:又称UDP洪水攻击或UDP淹没攻击,UDP是没有连接状态的协议,因此可以发送大量的 UDP 包到某个端口,如果是个正常的UDP应用端口,则可能干扰正常应用,如果是没有正常应用,服务器要回送ICMP,这样则消耗了服务器的处理资源,而且很容易阻塞上行链路的带宽。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k pps的UDPFlood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。
TCP SYN泛洪攻击:一个正常的 TCP 连接需要进行三方握手操作。首先,客户端向服务器发送一个 TCP SYN 数据包而后,服务器分配一个控制块,并响应 一个 SYN ACK 数据包。服务器随后将等待从客户端收到一个ACK数据包。如果服务器没有收到ACK数据包,TCP连接将处于半开状态,直到服务器从客户端收到ACK数据包或者连接因为time-to-live(TTL)计时器设置而超时为止。在连接超时的情况下,事先分配的控制块将被释放。当一个攻击者有意地、重复地向服务器发送SYN数据包,但不对服务器发回SYN ACK数据包答复ACK数据包时,就会发生TCP SYN泛洪攻击。这时,服务器将会失去对资源的控制,无法建立任何新的合法TCP连接。
Smurf 攻击:攻击者会向接收站点中的一个广播地址发送一个IP ICMP ping(即“请回复我的消息”)。Ping 数据包随后将被广播到接收站点的本地网络中的所有主机。该数据包包含一个“伪装的”源地址,即该DoS攻击的对象的地址。每个收到此 ping 数据包的主机都会向伪装的源地址发送响应,从而导致这个无辜的、被伪装的主机收到大量的ping 回复。如果收到的数据量过大,这个被伪装的主机就将无法接收或者区分真实流量。
Stacheldraht:Stacheldraht基于客户机/服务器模式,其中Master程序与潜在的成千个代理程序进行通讯。在发动攻击时,侵入者与master程序进行连接。Stacheldraht增加了新的功能:攻击者与master程序之间的通讯是加密的,对命令来源做假,而且可以防范一些路由器用RFC2267过滤,若检查出有过滤现象,它将只做假IP地址最后8位,从而让用户无法了解到底是哪几个网段的哪台机器被攻击;同时使用rcp (remote copy,远程复制)技术对代理程序进行自动更新。Stacheldraht 同TFN一样,可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。Stacheldraht所发动的攻击包括UDP 冲击、TCP SYN 冲击、ICMP 回音应答冲击等。
铱迅抗拒绝服务系统可以对网络中的流量做实时的分析,自动过滤非法的攻击流量,让合法的流量能够顺利通过。
2.CC攻击过滤
CC攻击主要针对 WEB 应用程序比较消耗资源的地方进行疯狂请求,比如,论坛中的搜索功能,如果不加以限制,任由人搜索,普通配置的服务器在几百个并发请求下,MYSQL 服务就挂掉了。
想要防御CC攻击,就要知道它的的种类有三种,直接攻击,代理攻击,僵尸网络攻击。
直接攻击主要针对有重要缺陷的WEB 应用程序,一般说来是程序写的有问题的时候才会出现这种情况,比较少见。僵尸网络攻击有点类似于 DDOS 攻击了,从 WEB 应用程序层面上已经无法防御。
CC 攻击者一般会操作一批代理服务器,比方说 100 个代理,然后每个代理同时发出 10 个请求,这样 WEB 服务器同时收到 1000 个并发请求的,并且在发出请求后,立刻断掉与代理的连接,避免代理返回的数据将本身的带宽堵死,而不能发动再次请求,这时 WEB 服务器会将响应这些请求的进程进行队列,数据库服务器也同样如此,这样一来,正常请求将会被排在很后被处理,这时就出现页面打开极其缓慢或者白屏。
传统的手段很难防止CC攻击,因为CC攻击来的IP都是真实的,分散的,而且CC攻击的数据包都是正常的数据包,全都是有效的请求,无法拒绝的请求。
铱迅抗拒绝服务系统可以精确到URL级别对CC攻击进行探测拦截,自动探测代理服务器洪水攻击,并有效进行过滤。