提到 DDoS 攻击,不少人不会陌生。上周,美国当地时间 12 月 29 日,专用虚拟服务器提供商 Linode 遭到 DDoS 攻击,直接影响其 Web 服务器的访问,其中 API 调用和管理功能受到严重影响,在被攻击的一周以内仍有部分功能不可用,严重影响其业务和成千上万使用 Linode 服务的用户。html
什么是 DDoS 攻击?node
DDoS,即分布式拒绝服务(Distributed Denial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来做为攻击平台,对一个或多个目标发动攻击,从而成倍地提升拒绝服务攻击的威力。缓存
DDoS 的攻击方式有不少种,最基本的 DDoS 攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户没法获得服务的响应。单一的 DoS 攻击通常是采用一对一方式,当攻击目标 CPU 速度低、内存小或者网络带宽小等各项指标值不高时,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增加,内存大大增长,同时也出现了千兆级别的网络,这使得 DoS 攻击的困难程度加大了——目标对恶意攻击包的消化能力增强了很多。这时候分布式的拒绝服务攻击手段(DDoS)就应运而生。DDoS 就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。安全
据统计,2015 年针对企业的 DDoS 攻击持续增加,根据 Akamai 的调查报告,2015 年 DDoS 攻击增加了前所未有的 180% !对于本次事件的 Linode 来讲,早在 2013 年,Linode 就曾受到过大规模的 DDoS 攻击。面对 DDoS 这样的周期性挑衅,咱们应该找出被攻击的缘由,创建有效的防护体系来抵御攻击。服务器
防止 DDoS 攻击的方式网络
1.减小公开暴露负载均衡
以前曝光的的 Booter 网站或者是臭名昭著的 LizardSquad 旗下站 LizardStresser,都提供付费 DDoS 攻击某一目标的服务,并且这些网站都会将攻击假装成合法的载入测试来进行攻击。这个黑客组织在 2014 年的圣诞节期间利用 DDoS 攻击了微软的 Xbox Live 和索尼的 PSN 网络,令许多玩家很长时间没法正常娱乐。分布式
对于企业来讲,减小公开暴露是防护 DDoS 攻击的有效方式,对 PSN 网络设置安全群组和私有网络,及时关闭没必要要的服务等方式,可以有效防护网络黑客对于系统的窥探和入侵。具体措施包括禁止对主机的非开放服务的访问,限制同时打开的 SYN 最大链接数,限制特定 IP 地址的访问,启用防火墙的防 DDoS 的属性等。性能
(图片来源:OneRASP)测试
2.利用扩展和冗余
DDoS 攻击针对不一样协议层有不一样的攻击方式,所以咱们必须采起多重防御措施。利用扩展和冗余能够防患于未然,保证系统具备必定的弹性和可扩展性,确保在 DDoS 攻击期间能够按需使用,尤为是系统在多个地理区域同时运行的状况下。任何运行在云中的虚拟机实例都须要保证网络资源可用。
微软针对全部的 Azure 提供了域名系统(DNS)和网络负载均衡,Rackspace 提供了控制流量流的专属云负载均衡。结合 CDN 系统经过多个节点分散流量,避免流量过分集中,还能作到按需缓存,使系统不易遭受 DDoS 攻击。
3.充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,倘若仅仅有 10M 带宽的话,不管采起什么措施都很难对抗当今的 SYNFlood 攻击,至少要选择 100M 的共享带宽,最好的固然是挂在1000M 的主干上了。但须要注意的是,主机上的网卡是 1000M 的并不意味着它的网络带宽就是千兆的,若把它接在 100M 的交换机上,它的实际带宽不会超过 100M,再就是接在 100M 的带宽上也不等于就有了百兆的带宽,由于网络服务商极可能会在交换机上限制实际带宽为 10M,这点必定要搞清楚。
4.分布式服务拒绝 DDoS 攻击
所谓分布式资源共享服务器就是指数据和程序能够不位于一个服务器上,而是分散到多个服务器。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会致使中心主机资源紧张与响应瓶颈的缺陷,分布式数据中心规模越大,越有可能分散 DDoS 攻击的流量,防护攻击也更加容易。
5.实时监控系统性能
除了以上这些措施,对于系统性能的实时监控也是预防 DDoS 攻击的重要方式。不合理的 DNS 服务器配置也会致使系统易受 DDoS 攻击,系统监控可以实时监控系统可用性、API、CDN 以及 DNS 等第三方服务商性能,监控网络节点,清查可能存在的安全隐患,对新出现的漏洞及时进行清理。骨干节点的计算机由于具备较高的带宽,是黑客利用的最佳位置,所以对这些主机增强监控是很是重要的。
另外,经过缩短 SYN 半链接的 time out 时间也能有效防止 DDoS 攻击,系统监控可以经过自主设置的 Time out 阈值发送报警,对系统状况进行总体的把控。
(图片来源:Cloud Test)
Cloud Test 是基于云技术的实时监控系统,可以帮你们实时监控网站性能,监控CDN、DNS、API等第三方服务提供商的可用性,实现应用性能及时监测及时报警。想阅读更多技术文章,请访问 OneAPM 官方技术博客。 本文转自 OneAPM 官方博客