DDOS跟DOS攻击有什么区别?
常说的一般是指DOS(Denial of Service)攻击,即拒绝服务,其主要危害是使计算机或网络无法提供正常的服务。
对于DDOS(Distributed Denial of Service)攻击来说,即“分布式拒绝服务”,它是属于DoS攻击的一种。DDOS攻击主要是将多个计算机联合起来,并对一个或多个目标计算机/服务器发动攻击,从而攻击的威力会成倍增加。
虽然都是拒绝服务攻击,但DOS和DDOS攻击还是有一定区别的。DOS攻击侧重于通过对服务器特定的漏洞,利用DOS攻击导致网络连接失败、系统崩溃、电脑死机等情况的发生。而DDOS攻击则通过很多“僵尸主机”向目标主机发送大量“看似”合法的流量包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务。
平常我们在租用服务器时,一般机房遭到攻击大多属于DOS攻击,这个会使整个服务器崩溃、宕机。当然,如果是我们个人主机遭到攻击(主要是DDOS攻击)的话,那么,会消耗大量的服务器资源,例如流量和带宽,这种情况机房那边也会封停你的账户的。
随着DOS和DDOS攻击事件的频发,防范工作就显得迫在眉睫了。尤其是对于咱们租用服务器的站长来说,防范DOS和DDOS攻击不能仅仅依靠主机商或者数据机房,更应该加强自身的网络安全防范意识。
当然,对付DOS和DDOS攻击是一个系统性工程,做好安全防范肯定是可以。不过,要想完全杜绝的话,有点不大现实。目前,很多主机商为解决这一问题,都提供高防服务器产品,也就是增强抵御DOS和DDOS攻击的能力,其效果也很显著。
现在每天都有很多网站遭受到DDOS攻击,相关的数据丢失、连带责任纠纷、商业损失等等问题也层出不穷。为此,作为站长来说,咱们在租用海外服务器时,应该注重以下几点,以便做好DOS和DDOS攻击的安全防范工作。
带宽资源要充足。带宽直接决定了抗DDOS攻击的能力,以目前主流的5M、100带宽的服务器来说,无论采取那种措施都很难应对。当下,至少要选择100M带宽的,越多越好。例如,RAKsmart美国高防服务器基本都是100M带宽、10T流量,基本能到底10G DDoS防护能力。
服务器的硬件配置。在带宽以及流量有充分保障的前提下,服务器的硬件配置必须的跟上。当然,主要的因素还是CPU和内存,大家在选择时千万别贪图便宜。其实,现在能够高防御DDOS攻击的服务器价格也不贵,为了网站的数据安全着想,大家也别吝啬这一点费用。
规范自身操作设置。对于DOS和DDOS攻击的防范,主要的防御能力还是取决于服务器以及机房本身。但是,对于咱们用户来说,也需要做到安全操作才行。例如,不要上传陌生、特殊后缀名的文件到服务器上、不要点击来历不明的链接、不安装来路不明的软件,从而杜绝因自身操作问题而导致服务器被攻击。同时,最好是定期对网站的文件进行安全扫描,这样对新出现的漏洞、病毒文件也能及时的发现并清理。
机房防火墙的配置。一般来说,在骨干节点配置防火墙的话,能有效抵御DOS和DDOS攻击。因为防火墙在发现受到攻击时,可以将攻击导向一些“无用”的服务器,这样可以保护运行中的服务器不被攻击。因此,机房的防火墙配置也很重要,大家在租用服务器时,建议选择防火墙性能配置比较高、比较完善的数据机房,这样对网站数据安全也多带来一层安全防护。
如何防御DDoS攻击
怎么抵御DDOS?
对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御90%的DDOS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDOS攻击。以下为笔者多年以来抵御DDOS的经验和建议,和大家分享!
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDOS攻击是非常有效的。
2、尽量避免NAT的使用
无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
3、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
4、升级主机服务器硬件
在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它吧,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别只贪IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是Realtek的还是用在自己的PC上吧。
5、把网站做成静态页面
大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器,当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。
6、增强操作系统的TCP/IP栈
Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看微软的文章吧!《强化 TCP/IP 堆栈安全》。也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》
DDOS几种常见攻击方式的原理及解决办法
DOS的表现形式
DDOS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
如何判断网站是否遭受了流量攻击呢?可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的网络服务端口来测试,效果是一样的。不过有一
点可以肯定,假如平时Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就Ping不通接在同一交换机上的主机了。
当前主要有三种流行的DDOS攻击:
1、SYN/ACK Flood攻击:这种攻击方法是经典最有效的DDOS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat -na
命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。
2、TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多网络服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量 的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。
3、刷Script脚本攻击:这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。
完全抵御住DDOS攻击是不可能的
对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御90%的DDOS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDOS攻击。
以下几点是防御DDOS攻击几点:
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDOS攻击是非常有效的。
2、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。
但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
3、安装专业抗DDOS防火墙
专业抗DDOS防火墙采用内核提前过滤技术、反向探测技术、指纹识别技术等多项专利技术来发现和提前过滤DDoS非法数据包,做到了智能抵御用户的DoS攻击。但也不能100%阻止对DDoS非法数据包准确检查。
如何防御DDOS攻击
分布式拒绝服务攻击(DDoS)是一种特殊形式的拒绝服务攻击。它是利用多台已经被攻击者所控制的机器对某一台单机发起攻击,在带宽相对的情况下,被攻击的主机很容易失去反应能力。作为一种分布、协作的大规模攻击方式,分布式拒绝服务攻击(DDoS)主要瞄准比较大的站点,像商业公司,搜索引擎和政府部门的站点。由于它通过利用一批受控制的机器向一台机器发起攻击,来势迅猛,而且往往令人难以防备,具有极大的破坏性。
对于此类隐蔽性极好的DDoS攻击的防范,更重要的是用户要加强安全防范意识,提高网络系统的安全性。专家建议可以采取的安全防御措施有以下几种。
1.及早发现系统存在的攻击漏洞,及时安装系统补丁程序。对一些重要的信息(例如系统配置信息)建立和完善备份机制。对一些特权账号(例如管理员账号)的密码设置要谨慎。通过这样一系列的举措可以把攻击者的可乘之机降低到最小。
2.在网络管理方面,要经常检查系统的物理环境,禁止那些不必要的网络服务。建立边界安全界限,确保输出的包受到正确限制。经常检测系统配置信息,并注意查看每天的安全日志。
3.利用网络安全设备(例如:防火墙)来加固网络的安全性,配置好这些设备的安全规则,过滤掉所有可能的伪造数据包。
4.与网络服务提供商协调工作,让网络服务提供商帮助实现路由的访问控制和对带宽总量的限制。
5.当用户发现自己正在遭受DDoS攻击时,应当启动自己的应付策略,尽可能快地追踪攻击包,并且及时联系ISP和有关应急组织,分析受影响的系统,确定涉及的其他节点,从而阻挡从已知攻击节点的流量。
6.如果用户是潜在的DDoS攻击受害者,并且用户发现自己的计算机被攻击者用作主控端和代理端时,用户不能因为自己的系统暂时没有受到损害而掉以轻心。攻击者一旦发现用户系统的漏洞,这对用户的系统是一个很大的威胁。所以用户只要发现系统中存在DDoS攻击的工具软件要及时把它清除,以免留下后患。
DDoS 攻击与防御
分布式拒绝服务攻击(Distributed Denial of Service),是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击。
DDoS 是一种基于 DoS 的特殊形式的拒绝服务攻击。单一的 DoS 攻击一般是采用一对一方式,利用网络协议和操作系统的缺陷,采用欺骗和伪装的策略来进行网络攻击,使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。与 DoS 相比,DDos 借助数百上千台攻击机形成集群,发起的规模更大,更难防御的一种进攻行为。
ICMP 用于在 IP 主机,路由器之间传递控制消息(网络是否连通,主机是否可达,路由是否可用等)。ICMP 虽然不传递用户数据,但是对于用户数据的传递起着重要的作用。ICMP Flood 通过对目标系统发送海量的数据报,就可以令目标主机瘫痪,形成洪泛攻击。
UDP 协议是一种无连接的协议,在 UDP Flood 中,攻击者通常发送大量伪造 IP 地址的 UDP 报去冲击 DNS 服务器,Radius 认证服务器,流媒体视频服务器等,造成服务不可用。 上述的两种是比较传统的流量型攻击,技术含量较低,以占满网络带宽使得正常用户无法得到服务为攻击方式,攻击效果通常依赖于攻击者本身的网络性能,而且容易被查找攻击源头。
NTP 是标准的基于 UDP 协议的网络时间同步协议。由于 UDP 无连接的特性,NTP 服务器并不能保证收到报文的源 IP 的正确性。所以,攻击者通过将 IP 报文的源 IP 地址换为靶机的 IP 地址,并向 NTP 服务器发送大量的时间同步报文,这样,NTP 服务器的响应报文就会达到靶机上,沾满靶机网络段的带宽资源,同时也很难去追溯攻击源头。
SYN Flood 是一种利用 TCP 协议缺陷,发送大量伪造的 TCP 连接请求,从而使目标服务器资源耗尽的攻击方式。如果客户端只发起第一次握手,而不响应服务端的第二次握手,那么这条连接就处于半连接状态,服务端会维持这条连接一段时间(SYN Timeout)并不断地重试。但攻击者大量的模拟这种情况,就会沾满整个服务端的连接符号表,并消耗大量的 CPU 资源进行重试操作。而对于 SNY Flood 的防御目前有两种常见的方式,一种是算短 SYN Timeout,另一种是设置 SYN Cookie,并开辟一个数组存放 Cookie,单连接没有真正建立时,不去占用连接符号表。
DNS Query Flood 通过操纵大量的傀儡机,向本网段的域名服务器发送大量域名解析请求,通常这些请求解析的域名是随机生成或网络上根本不存在的域名,由于本地域名服务器无法找到对应的结果,就会通过层层上次给更高级的域名服务器,引起连锁反应,导致本网段内的域名解析服务瘫痪,但一般最多只会瘫痪一小段网络。
HashDos 是一种新型的,基于 Hash 碰撞形成的攻击。随着现在 RESTful 风格的不断普及,json 格式作为数据传输的格式愈发成为主流。但是 json 反序列化为对象时,底层是通过 hash 算法来将字段与属性,属性值进行一一匹配。所以,一旦攻击者知道了我们序列化方式,构造出一段具有严重哈希碰撞的 json 数据,就会使我们服务端序列化的复杂度从 O(1) 暴增到 O(n)。
DDos 的防御主要有两种,一种是针对流量带宽,一种是针对服务端资源。流量带宽一般需要通过运营商采用 ISP 黑洞,近源清洗等策略,在源头(即攻击者所在的网段)进行拦截,而不是等到所有的细流汇聚成猛水时才进行拦截。
而对于服务端的资源,则是当下 DDos 的重灾区,本文以攻防对抗的方式讲述 DDos 的发展历程。
参考文献:
企业如何防御ddos攻击?
步骤一:布局网络足够性能的设备:
硬件设备建设运用最基础的网络架构、设施设备:扩充带宽硬抗、使用硬件防火墙、选用高性能设备,有了它们整个系统可以顺畅运作,充分利用网络设备足够的容量去承受攻击,是一种较为理想的保护网络资源的应对策略,在对方攻击的时候他们同时也是在消耗,这时候谁的资源强大,谁就能得到最后的胜利。当然大家需要根据自身情况作出平衡的选择。
步骤二:有效的抗DDOS攻击方案:
只有高性能的服务器是远远是不够的,而且高性能的服务器和防火墙投入的资金也不小,一旦遭受攻击后会出现不同的问题,这样成本就更高了。这时就需要重新调整架构布局,整合资源来提高网络的负载能力、分摊局部过载的流量,同时要借助高防来清洗流量,过滤识别并拦截恶意行为,实施分布式集群防御,这样就可以降低成本而且对抗效果也会明显提高。
步骤三:提前做好预防,保安全:
之前说DdoS攻击的发生是无法预知的,在你没有反应的时候突然来临,就会造成服务器瘫痪打不开,无法正常访问,数据被窃取丢失,泄露,勒索等等。因此网站的预防措施和应急预案就显得特别重要。形成良好的运维操作习惯,定期筛查系统漏洞,做到资源优化,过滤不必要的服务和端口,限制特定的流量,让系统稳固没有漏洞可钻,降低服务器被攻陷的可能,将攻击带来的损失降低到最小。
0条大神的评论