DOS与DDOS攻击
DOS攻击(Denial of Service 拒绝服务攻击):凡是利用网络安全防护措施不足导致用户不能继续使用正常服务的攻击手段,都可以被称为是拒绝服务攻击,其目的是通过消耗网络宽带或系统资源,使网络或计算机不能提供正常的服务。
分布式拒绝服务(Distributed Denial of Service,简称DDoS),指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
通常,攻击者使用一个非法帐号将DDoS主控程序安装在一台计算机上,在所设定的时间主控程序将与大量代理程序进行通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
畸形报文
畸形报文攻击指通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的IP包时出现崩溃,从而达到拒绝服务的攻击目的。
畸形报文主要包括Frag Flood、Smurf、Stream Flood、Land Flood攻击,以及IP畸形包、TCP畸形包、UDP畸形包。
传输层DDoS攻击
传输层DDoS攻击主要是指Syn Flood,Ack Flood,UDP Flood,ICMP Flood、RstFlood等攻击。
以Syn Flood攻击为例,它利用了TCP协议的三次握手机制,当服务端接收到一个Syn请求时,服务端必须使用一个监听队列将该连接保存一定时间。因此,通过向服务端不停发送Syn请求,但不响应Syn+Ack报文,从而消耗服务端的资源。当等待队列被占满时,服务端将无法响应正常用户的请求,达到拒绝服务攻击的目的。
DNS DDoS攻击
DNS DDoS攻击主要是指DNS Request Flood、DNS Response Flood、虚假源+真实源DNS Query Flood、权威服务器和Local服务器攻击。
以DNS Query Flood攻击为例,其本质上执行的是真实的Query请求,属于正常业务行为。但如果多台肉鸡同时发起海量的域名查询请求,对服务端来说则无法为正常的Query请求返回结果,从而导致拒绝服务。
连接型DDoS攻击
连接型DDoS攻击主要是指TCP慢速连接攻击,连接耗尽攻击,Loic,Hoic,Slowloris, Pyloris,Xoic等慢速攻击。
以Slowloris攻击为例,其攻击目标是Web服务容器的并发上限,当Web服务容器的连接并发数达到上限后,Web服务即无法接受新的请求。具体来说,Web服务接收到新的HTTP请求时,建立新的连接来处理请求,并在处理完成后关闭这个连接;如果该连接一直处于连接状态,收到新的HTTP请求时则需要建立新的连接进行处理;而当所有连接都处于连接状态时,Web将无法处理任何新的请求。
Slowloris攻击利用HTTP协议的特性来达到攻击目的。HTTP请求以\r\n\r\n
标识Headers的结束,如果Web服务端只收到\r\n
,则认为HTTP Headers部分没有结束,将保留该连接并等待后续的请求内容。
Web应用层DDoS攻击
Web应用层攻击主要是指HTTP Get Flood,HTTP Post Flood,CC等攻击。
通常应用层攻击完全模拟用户请求,类似于各种搜索引擎和爬虫一样,这些攻击行为和正常的业务并没有严格的边界,难以辨别。
Web服务中一些资源消耗较大的事务和页面(例如,Web应用中的分页和分表,如果控制页面的参数过大,频繁的翻页将会占用较多的Web服务资源)。尤其在高并发频繁调用的情况下,类似这样的事务就成了早期CC攻击的目标。
由于现在的攻击大都是混合型的,掺杂在正常的业务中,因此一般存在模拟用户行为的频繁操作都可以被认为是CC攻击。但总体来说,CC攻击这类应用层的攻击特点,是和业务应用边界模糊。例如,各种刷票软件对网站的访问,从某种程度上来说就是CC攻击。
CC攻击瞄准的是Web应用的后端业务,除了导致拒绝服务外,还会直接影响Web应用的功能和性能,包括Web响应时间、数据库服务、磁盘读写等,都会导致功能和性能的异常。
DDOS攻击的目的
DDoS攻击只需要通过控制僵尸电脑即可实现,任何熟悉黑客技术的人,都可以针对目标发起攻击,成本很低。所以,不只是黑客或技术人员,普通人也可以雇佣黑客发动。比如,竞争敌手、对网站或单位不满的人,甚至可能是离职员工或撕毁合约的合作伙伴。
总之,攻击者通过DDoS攻击大多是为了勒索或竞争,单纯搞破坏的很少。
一定有很多网站说:我的网站小,不会引起攻击者注意,这样的思路恐怕是要改一改了。只要建立了网站,都可能遭受攻击。并且,由于规模小的网站由于缺乏专业防护,反而更容易被黑客得手。
如何防御DDOS攻击
(1)及时更新系统补丁
(2)安装查杀软硬件,及时更新病毒库
(3)设置复杂口令,减低系统被控制的可能性
(4)关闭不必要的端口与服务
(5)经常检测网络的脆弱性,发现问题及时修复。
(6)对于重要的web服务器可以建立多个镜像实现负载均衡,在一定程度上减轻DDOS的危害
说明:以上内容来说阿里云与csdn博客博文整理而成!