DDos攻击的常见方法及防御方法
什么是DDoS?
DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。分布式拒绝服务攻击一旦被实施,攻击网络包就会从很多DOS攻击源(俗称肉鸡)犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDOS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等。
目前而言,黑客甚至对攻击进行明码标价,打1G的流量到一个网站一小时,只需50块钱。DDoS的成本如此之低,而且攻击了也没人管。
关于DDos攻击的常见方法
1. SYN Flood:利用TCP协议的原理,这种攻击方法是经典最有效的DDOS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK 包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务。TCP通道在建立以前,需要三次握手:
a. 客户端发送一个包含SYN标志的TCP报文, 同步报文指明客户端所需要的端口号和TCP连接的初始序列号
b. 服务器收到SYN报文之后,返回一个SYN+ ACK报文,表示客户端请求被接受,TCP初始序列号加1
c.客户端也返回一个确认报文ACK给服务器,同样TCP序列号加1
d. 如果服务器端没有收到客户端的确认报文ACK,则处于等待状态,将该客户IP加入等待队列,然后轮训发送SYN+ACK报文
所以攻击者可以通过伪造大量的TCP握手请求,耗尽服务器端的资源。
2. HTTP Flood:针对系统的每个Web页面,或者资源,或者Rest API,用大量肉鸡,发送大量http request。这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。缺点是对付只有静态页面的网站效果会大打折扣。
3. 慢速攻击:Http协议中规定,HttpRequest以\r\n\r\n结尾来表示客户端发送结束。攻击者打开一个Http 1.1的连接,将Connection设置为Keep-Alive, 保持和服务器的TCP长连接。然后始终不发送\r\n\r\n, 每隔几分钟写入一些无意义的数据流, 拖死机器。
4. P2P攻击:每当网络上出现一个热门事件,比如XX门, 精心制作一个种子, 里面包含正确的文件下载, 同时也包括攻击目标服务器的IP。这样,当很多人下载的时候, 会无意中发起对目标服务器的TCP连接。
DDOS攻击现象判定方法
1.SYN类攻击判断:A.CPU占用很高;B.网络连接状态:netstat –na,若观察到大量的SYN_RECEIVED的连接状态;C.网线插上后,服务器立即凝固无法操作,拔出后有时可以恢复,有时候需要重新启动机器才可恢复。
2.CC类攻击判断:A.网站出现service unavailable提示;B.CPU占用率很高;C.网络连接状态:netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条;D.用户无法访问网站页面或打开过程非常缓慢,软重启后短期内恢复正常,几分钟后又无法访问。
3.UDP类攻击判断:A.观察网卡状况 每秒接受大量的数据包;B.网络状态:netstat –na TCP信息正常。
4.TCP洪水攻击判断:A.CPU占用很高;B.netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条
DDoS攻击防御方法
1. 过滤不必要的服务和端口:可以使用Inexpress、Express、Forwarding等工具来过滤不必要的服务和端口,即在路由器上过滤假IP。比如Cisco公司的CEF(Cisco Express Forwarding)可以针对封包Source IP和Routing Table做比较,并加以过滤。只开放服务端口成为目前很多服务器的流行做法,例如WWW服务器那么只开放80而将其他所有端口关闭或在防火墙上做阻止策略。2. 异常流量的清洗过滤:通过DDOS硬件防火墙对异常流量的清洗过滤,通过数据包的规则过滤、数据流指纹检测过滤、及数据包内容定制过滤等顶尖技术能准确判断外来访问流量是否正常,进一步将异常流量禁止过滤。单台负载每秒可防御800-927万个syn攻击包。
3. 分布式集群防御:这是目前网络安全界防御大规模DDOS攻击的最有效办法。分布式集群防御的特点是在每个节点服务器配置多个IP地址(负载均衡),并且每个节点能承受不低于10G的DDOS攻击,如一个节点受攻击无法提供服务,系统将会根据优先级设置自动切换另一个节点,并将攻击者的数据包全部返回发送点,使攻击源成为瘫痪状态,从更为深度的安全防护角度去影响企业的安全执行决策。
4. 高防智能DNS解析:高智能DNS解析系统与DDOS防御系统的完美结合,为企业提供对抗新兴安全威胁的超级检测功能。它颠覆了传统一个域名对应一个镜像的做法,智能根据用户的上网路线将DNS解析请求解析到用户所属网络的服务器。同时智能DNS解析系统还有宕机检测功能,随时可将瘫痪的服务器IP智能更换成正常服务器IP,为企业的网络保持一个永不宕机的服务状态。
DDoS攻击的网络流量清洗
当发生DDOS攻击时,网络监控系统会侦测到网络流量的异常变化并发出报警。在系统自动检测或人工判断之后,可以识别出被攻击的虚拟机公网IP地址。这时,可调用系统的防DDOS攻击功能接口,启动对相关被攻击IP的流量清洗。流量清洗设备会立即接管对该IP地址的所有数据包,并将攻击数据包清洗掉,仅将正常的数据包转发给随后的网络设备。这样,就能保证整个网络正常的流量通行,而将DDOS流量拒之门外。
采用云DDoS清洗方式,可以为企业用户带来诸多好处。其表现在不仅可以提升综合防护能力,用户能够按需付费,可弹性扩展,而且还能够基于大数据来分析预测攻击,同时能够免费升级。对于企业用户来说,则可实现零运维、零改造。