DDOS
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,是指攻击者利用大量“肉鸡”对攻击目标发动大量的正常或非正常请求、耗尽目标主机资源或网络资源,从而使被攻击的主机不能为正常用户提供服务。
DoS
在介绍DDoS之前,需要先简单介绍一下什么是DoS。
DoS(拒绝服务,Denial of Service)就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。这是早期非常基本的网络攻击方式。
举一个简单的例子,京东便利店,有三名服务员。然后经营的很好,但是呢,某宝看到便利店很赚钱,就想通过一些下作的手段谋取私利。于是他装扮成普通的客户,在便利店勾搭店员,影响店员工作,比如问这个多少,那个多少。然后还是不是提供一些虚假的信息,比如缺货等等。使得店员都被他搞的团团转。
由于开门做生意,和气生财,便利店老板东哥也不能直接骂街,不让他们进。但是由于店内的服务员有限,这样一来,很多其他的顾客就可能受到了冷落。
映射到网站上,道理是一样的。网站就像京东便利店,对于一个网站来说,他是要搭建在服务上的。而由于硬件资源有限,所以服务能力也是有限的。如果有人频繁访问或者长时间占用资源,就会导致其他用户的体验有所下降。
这种,利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应的行为,就是DoS攻击。
在信息安全的三要素——保密性、完整性和可用性中,DoS针对的目标正是可用性。
DDoS
如果只是这某宝的话,只要能够识别出来,然后阻止他进入店铺就行了。
随着某宝被发现之后,他也想了一个办法,这次他不再自己一个人跑去店里捣乱了,而是找了一些某猫,而这些无赖每天都换,店铺里面的服务员根本识别不出来到底谁是恶霸派来的。
无赖们扮作普通客户一直拥挤在商场,赖着不走,真正的购物者却无法进入;或者总是和营业员有一搭没一搭的东扯西扯,让工作人员不能正常服务客户;也可以为商铺的经营者提供虚假信息,商铺的上上下下忙成一团之后却发现都是一场空,最终跑了真正的大客户,损失惨重。一个无赖去胡闹,就是 DoS攻击,而一群无赖去胡闹,就是 DDoS攻击。
一般来说,DDoS 攻击可以具体分成两种形式:带宽消耗型以及资源消耗型。它们都是透过大量合法或伪造的请求占用大量网络以及器材资源,以达到瘫痪网络以及系统的目的。
DDoS的危害
当服务器被DDos攻击时,一般会出现以下现象:
被攻击主机上有大量等待的TCP连接;
网络中充斥着大量的无用的数据包;
受害主机无法正常和外界通讯;
受害主机无法处理所有正常请求;严重时会造成系统死机。
对于用户来说,在常见的现象就是网站无法访问。
DDoS的防范
为了对抗 DDoS攻击,你需要对攻击时发生了什么有一个清楚的理解。简单来讲,DDoS 攻击可以通过利用服务器上的漏洞,或者消耗服务器上的资源(例如 内存、硬盘等等)来达到目的。
一般来说,可以用以下办法防范:
1、如果可以识别出攻击源,如机器IP等,可以在防火墙服务器上放置一份 ACL(访问控制列表) 来阻断这些来自这些 IP 的访问。
2、对于带宽消耗型攻击,最有效的办法那就是增加带宽。
3、提高服务器的服务能力,增加负载均衡,多地部署等。
4、优化资源使用提高 web server 的负载能力。例如,使用 apache 可以安装 apachebooster 插件,该插件与 varnish 和 nginx 集成,可以应对突增的流量和内存占用。
5、使用高可扩展性的 DNS 设备来保护针对 DNS 的 DDOS 攻击。可以考虑购买 Cloudfair 的商业解决方案,它可以提供针对 DNS 或 TCP/IP3 到7层的 DDOS 攻击保护。
6、启用路由器或防火墙的反IP欺骗功能。
7、付费,使用第三方的服务来保护你的网站。
8、监控网络和 web 的流量。时刻观察流量变化
9、保护好 DNS 避免 DNS 放大攻击。
对于网络攻击,没有任何办法彻底阻止和避免 ,只能尽最大努力不断提高黑客攻击成本。