赞
踩
1.常见DDOS类型
1.ICMP FLood
ping Flood 是一种拒绝服务攻击,攻击者试图用 ICMP 回显请求数据包淹没目标设备,导致目标设备无法访问正常流量。当攻击流量来自多个设备时,攻击就变成了DDoS或分布式拒绝服务攻击。
ICMP Flood 的攻击原理和ACK Flood原理类似,属于流量型的攻击方式,也是利用大的流量给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文,因此ICMP Flood出现的频度较低。
Ping (ICMP) Flood 的 DDoS 形式可以分解为 2 个重复步骤:
1.攻击者使用多个设备向目标服务器发送许多 ICMP 回显请求数据包。
2.然后,目标服务器向每个请求设备的 IP 地址发送一个 ICMP 回显回复数据包作为响应。
Ping Flood 的破坏性影响与向目标服务器发出的请求数量成正比。与NTP放大、DNS放大等基于反射的DDoS攻击不同,Ping Flood攻击流量是对称的;目标设备接收的带宽量只是从每个机器人发送的总流量的总和。
防御方法:
通过禁用目标路由器、计算机或其他设备的 ICMP 功能,最容易禁用 ping 泛洪。网络管理员可以访问设备的管理界面并禁用其使用 ICMP 发送和接收任何请求的能力,从而有效地消除对请求的处理和回声回复。这样做的结果是所有涉及 ICMP 的网络活动都被禁用,使设备对 ping 请求、traceroute 请求和其他网络活动无响应。
2.TCP Flood
原理:
1.攻击者先向目标机发送SYN包,请求建立TCP连接
2.目标机接收到SYN包之后,便会进入SYN_RCVD状态,然后又给攻击者回一个SYN-ACK包
3.如果攻击者发送SYN包时用的是伪造IP地址,那么目标机发送的SYN-ACK就很可能不可达,得不到ACK来建立完整的三次握手连接,这时目标机就会保持SYN_RCVD状态直到timeout。想象一下,如果我们一直发送SYN包请求连接,但是又不和目标机器建立完整的TCP连接,一会大家看看我的攻击脚本就知道这是一件多么可怕的事了
4.如果攻击者用的是本主机真实的IP地址的话,那么攻击者接受到ACK之后正常情况下会回复一个RST包(为什么不是ACK呢,因为攻击时我们是用pyhton的scapy库来发包的,本地网卡并不认为自己发送了SYN包,莫名奇妙接收到一个SYN-ACK包当然会回复RST包啦)
攻击方法:
在KAli Linux上使用 Hping3工具进行攻击
hping3 -q -n -a 2.2.2.2 -S -s 53 --keep -p 445 --flood 192.168.73.138
(hping3 -q -n -a 伪造源IP -S -s 伪造源端口 --keep -p 目的端口 --flood 目的IP)然后查看Windows XP的任务管理器。可以看出,Windows XP的性能利用率已经达到100%(居高不下),表明已经攻击成功。
防御方法:
1.如果某个端口和同一个IP建立了多个不完整连接,直接禁IP
2.减少SYN-RECEIVED的过期时间
3.设置SYN Cookie
4.设置防火墙的进站和入站规则
5.记录日志方便溯源追踪真凶
3.udp flood
正是UDP协议的广泛应用,为黑客们发动UDP Flood攻击提供了平台。UDP Flood属于带宽类攻击,黑客们通过僵尸网络向目标服务器发起大量的UDP报文,这种UDP报文通常为大包,且速率非常快,通常会造成以下危害:
消耗网络带宽资源,严重时造成链路拥塞。
大量变源变端口的UDP Flood会导致依靠会话转发的网络设备,性能降低甚至会话耗尽,从而导致网络瘫痪。
防火墙对UDP Flood的防御并不能像SYN Flood一样,进行源探测,因为它不建立连接。那应该怎么防御呢?
最初防火墙对UDP Flood的防御方式就是限流,通过限流将链路中的UDP报文控制在合理的带宽范围之内。
防火墙上针对UDP Flood的限流有三种:
基于目的IP地址的限流:即以某个IP地址作为统计对象,对到达这个IP地址的UDP流量进行统计并限流,超过部分丢弃。
基于目的安全区域的限流:即以某个安全区域作为统计对象,对到达这个安全区域的UDP流量进行统计并限流,超过部分丢弃。
基于会话的限流:即对每条UDP会话上的报文速率进行统计,如果会话上的UDP报文速率达到了告警阈值,这条会话就会被锁定,后续命中这条会话的UDP报文都被丢弃。当这条会话连续3秒或者3秒以上没有流量时,防火墙会解锁此会话,后续命中此会话的报文可以继续通过。
限流虽然可以有效缓解链路带宽的压力,但是这种方式简单粗暴,容易对正常业务造成误判。为了解决这个问题,防火墙又进一步推出了针对UDP Flood的指纹学习功能。
指纹学习是通过分析客户端向服务器发送的UDP报文载荷是否有大量的一致内容,来判定这个UDP报文是否异常。防火墙对到达指定目的地的UDP报文进行统计,当UDP报文达到告警阈值时,开始对UDP报文的指纹进行学习。如果相同的特征频繁出现,就会被学习成指纹,后续命中指纹的报文判定这是攻击报文,作为攻击特征进行过滤。
因为大多数IP并不提供UDP服务,直接丢弃UDP流量即可。所以现在纯粹的UDP流量攻击比较少见了,取而代之的是UDP协议承载的DNS Query Flood攻击。简单地说,越上层协议上发动的DDoS攻击越难以防御,因为协议越上层,与业务关联越大,防御系统面临的情况越复杂。
4.DNS Query Flood攻击
DNS查询攻击全称UDP DNS Query Flood,攻击采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络上根本不存在的域名,被攻击的DNS 服务器在接收到域名解析请求的时候首先会在服务器上查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS 服务器会向其上层DNS服务器递归查询域名信息。域名解析的过程给服务器带来了很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。
根据微软的统计数据,一台DNS服务器所能承受的动态域名查询的上限是每秒钟9000个请求。而我们知道,在一台P3的PC机上可以轻易地构造出每秒钟几万个域名解析请求,足以使一台硬件配置极高的DNS服务器瘫痪,由此可见DNS 服务器的脆弱性。目前最常用的DNS服务器软件是Bind、PowerDNS等。
通常攻击者采用的手段包括:
CC攻击类型有一下几种
1、直接攻击:主要针对有重要缺陷的Web应用程序,这种情况比较少见,一般只有在程序写出错的时候才会出现。
2、代理攻击:代理攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现DOS和伪装。攻击者模拟多个用户不停地进行访问那些需要大量数据操作,需要大量CPU时间的页面。
3、僵尸网络攻击:攻击者通过各种途径传播僵尸程序,然后当用户感染并激活病毒时,攻击者就可以控制电脑,并下发各种远程命令,最后随着被感染的电脑越来越多,就形成了庞大的僵尸网络。
CC攻击常见防御策略
1.完善日志
要有保留完整日志的习惯,通过日志分析程序,能够尽快判断出异常访问,同时也能收集有用信息,比如发现单一IP的密集访问,特定页面的URL请求激增等等。
2.屏蔽IP
通过命令或查看日志如果发现CC攻击的源IP,就可以在IIS(Web页面服务组件)、防火墙中设置屏蔽该IP,使该IP没有对Web站点的访问权限,从而达到防御的目的。
3.更改Web端口
通常情况Web服务器都是通过80端口提供对外服务,所以黑客发起攻击的默认端口也是80端口,那么修改Web端口,可以起到防护CC攻击的目的。
4.取消域名绑定
黑客发起攻击时,很可能使用攻击工具设定攻击对象为域名,然后实施攻击,取消域名绑定后,可以让CC攻击失去目标,Web服务器的资源占用率也能够迅速恢复正常,因为通过IP还是可以正常访问的,所以对针对IP的CC攻击取消域名绑定是没用的。
5.网站程序防御
利用网站程序限制IP访问频率,并对程序进行优化进少,生成纯静态页,减少动态情况,可一定程度上减少CC攻击的压力。
6.云防火墙
如高防CDN、高防IP,高防CDN会对CC攻击访问进行拦截,对正常访客放行,同时利用边缘节点缓存网站资源,适用于网站被大量CC攻击防御;高防IP则是DDOS防火墙,利用高带宽、高硬防的特点,对CC攻击进行识别拦截,如正常用户就放行,也适用于被大量CC攻击防御
CC攻击常见防御方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。