欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

DDoS的攻击方法及防范介绍

程序员文章站 2022-09-29 21:07:26
DDoS攻击其实就是一种利用某种技术手段将目标服务器与互联网连接的所有通道堵死,从而造成服务器与互联网失去联系,正常访问者无法获取服务器上的数据。我们这样解释详细很多站长应该... 14-08-25...

很多新手站长对ddos攻击这一名词并不陌生,但什么是ddos攻击,应该怎么防范不太清楚,现在我们用很通俗的语言来给大家解释一下:

ddos攻击其实就是一种利用某种技术手段将目标服务器与互联网连接的所有通道堵死,从而造成服务器与互联网失去联系,正常访问者无法获取服务器上的数据。我们这样解释详细很多站长应该能看懂!

那么ddos攻击怎么防范呢?其实很简单,任何一个网站服务器在互联网中都有ip地址,而ddos攻击需要找到这个ip地址,如果有一种办法能够隐藏服务器真实的ip地址那么ddos攻击就失去了真实的目标。对于新手站长来说,这就是一种最简单的ddos攻击防范措施了,服务ip地址怎么隐藏呢?目前在国内有几个比较知名而且免费的网站安全服务,我们这里介绍较为出名的2个:百度加速乐和360网站卫士。

百度加速乐和360网站卫士注册并设置后,网站的域名将解析到它们所提供的服务器ip上,自动将网站服务器上的内容缓存到加速乐或360网站卫士的服务器上,用户浏览的时候与之通讯的是它们的服务器,而真实的网站服务器及ip是无法直接获取到的,这样就实现了真实ip隐藏的效果。(另外这种方式从理论上还可以节约网站服务器的带宽,并且提升网站浏览速度)

百度加速乐:
360网站卫士:

这里为大家推荐一个:  国内专业的抗攻击cdn。

下面这篇文章适合有一定技术基础的站长阅读,此文详细介绍了ddos攻击的各种方法和高级防范知识:

尽管大型网站经常受到攻击,并且在超负荷的负载下,这些公司和网络仍然要竭尽所能地去转移这些攻击,而且是最最重要是要保持他们的网站能够正常地浏览。即便你管理的是一个小站点,比如小公司或者小型网站这种规模的网络,你仍然不知道什么时候就有人会对你下黑手。那么接下来,让我们一起来看看ddos”背后”的一些细节和攻击方式,以便于我们能够让我们的网络更加地安全。

ddos攻击的多种途径

拒绝服务曾经是一种非常简单的攻击方式。有些人开始在他们的电脑上运行ping命令,锁定目标地址,让其高速运转,试图向另一端发送洪水般的icmp请求指令或者数据包。当然,因为这边发送速度的改变,攻击者需要一个比对方站点更大的带宽。首先,他们会搬到有大型主机的地方,类似有大学服务器或者教研所那样的大型带宽的地方,然后从这里发出攻击。但现代的僵尸网络在任何情况下几乎都能使用,相对来说它的操作更简单,使攻击完全分布开来,显得更加隐蔽。

事实上,因为恶意软件的制造者,僵尸网络的运营已经成为了一条鲜明的产业链。实际他们已经开始出租那些肉机,并且按小时收费。如果有人想要搞垮一个网站,只要给这些攻击者付够钱,然后就会有成千上万的僵尸电脑去攻击那个网站。一台受感染的电脑或许无法把一个站点搞垮,但若是有10000台以上的电脑同时发送请求,它们会将把未受保护的服务器”塞满”。

多种攻击类型

用ping命令就可以执行操作icmp请求,这个请求非常容易造成网络堵塞。ddos攻击可以通过多种途径来完成,icmp也只是其中之一。

此外,有一种syn攻击,发动这种攻击时,实际上仅仅是打开了一个tcp链接,之后通常会连接到一个网站上,但关键是,这个操作并没有完成初始握手,就离开了挂靠的服务器。

另一种聪明的做法是使用dns。有很多网络供应商都有自己的dns服务器,而且允许任何人进行查询,甚至有些人都不是他们的客户。并且一般dns都使用udp,udp是一种无连接的传输层协议。有了以上两个条件作为基础,那些攻击者就非常容易发动一场拒绝服务攻击。所有攻击者要做的就是找到一个开放的dns解析器,制作一个虚拟udp数据包并伪造一个地址,对着目标网站将其发送到dns服务器上面。当服务器接收到攻击者发送的请求,将会信以为真,并且向伪造地址发送请求回应。事实上是目标网站接收了互联网上一群开放的dns解析器的请求与回复,从而代替了僵尸网络的攻击。另外,这类攻击具有非常大的伸缩性,因为你可以给dns服务器发送一种udp数据包,请求某一侧的转存,造成一个大流量的回应。

如何保护你的网络

正如你所见,ddos攻击五花八门,防不胜防,当你想建立一个防御系统对抗ddos的时候,你需要掌握这些攻击的变异形态。

最笨的防御方法,就是花大价钱买更大的带宽。拒绝服务就像个游戏一样。如果你使用10000个系统发送1mbps的流量,那就意味着你输送给你的服务器每秒钟10gb的数据流量。这就会造成拥堵。这种情况下,同样的规则适用于正常的冗余。这时,你就需要更多的服务器,遍布各地的数据中心,和更好的负载均衡服务了。将流量分散到多个服务器上,帮助你进行流量均衡,更大的带宽能够帮你应对各种大流量的问题。但现代的ddos攻击越来越疯狂,需要的带宽越来越大,你的财政状况根本不允许你投入更多的资金。另外,绝大多数的时候,你的网站并不是主要攻击目标,很多管理员都忘了这一点。

网络中最关键的一块就是dns服务器。将dns解析器处于开放状态这是绝对不可取的,你应当把它锁定,从而减少一部分攻击风险。但这样做了以后,我们的服务器就安全了吗?答案当然是否定的,即使你的网站,没有一个可以链接到你的dns服务器,帮你解析域名,这同样是非常糟糕的事情。大多数完成注册的域名需要两个dns服务器,但这远远不够。你要确保你的dns服务器以及你的网站和其他资源都处于负载均衡的保护状态下。你也可以使用一些公司提供的冗余dns。比如,有很多人使用内容分发网络(分布式的状态)给客户发送文件,这是一种很好的抵御ddos攻击的方法。若你需要,也有很多公司提供了这种增强dns的保护措施。

若是你自己管理你的网络和数据,那么就需要着重保护你的网络层,要进行很多配置。首先确保你所有的路由器都能够屏蔽垃圾数据包,剔除掉一些不用的协议,比如icmp这种的。然后设置好防火墙。很显然,你的网站永远不会让随机dns服务器进行访问,所以没有必要允许udp 53端口的数据包通过你的服务器。此外,你可以让你的供应商帮你进行一些边界网络的设置,阻止一些没用的流量,保证你能够得到一个最大的最通畅的带宽。很多网络供应商都给企业提供这种服务,你可以与其网络运营中心联系,让他们帮你优化流量,帮你监测一下你是否到了攻击。

类似syn的攻击,也有很多方法来阻止,比如通过给tcp积压,减少syn-receive定时器,或者使用syn缓存等等。

最后,你还得想想如何在这些攻击到达你网站前就将它们拦截住。例如,现代网站应用了许多动态资源。在受到攻击的时候其实带宽是比较容易掌控的,但最终往往受到损失的是数据库或是你运行的脚本程序。你可以考虑使用缓存服务器提供尽可能多的静态内容,还要快速用静态资源取代动态资源并确保检测系统正常运行。

最糟糕的一种情况就是你的网络或站点完全瘫痪了,你应该在攻击刚刚开始的时候就做好预备方案。因为攻击一旦开始,想要从源头阻止ddos是非常困难的。最后,你应该好好琢磨琢磨如何让你的基础建设更加合理与安全,并且要着重注意你的网络设置。这些都是非常重要的。