DOS、DOS攻击、DDOS攻击、DRDOS攻击

DOS:中文名字是拒绝服务,一切引起DOS行为的攻击被称为DOS攻击。该攻击的效果是使得计算机或者网络无法提供正常的服务。常见的DOS攻击有针对计算机网络带宽和连通性的攻击。DOS是单机与单机之间的攻击。

DOS攻击的原理:首先攻击者向被攻击的服务器发送大量的虚假IP请求,被攻击者在收到请求后返回确认信息,等待攻击者进行确认,(此时需要拥有HTTP协议工作方式和tcp三次握手的基本知识)该过程需要TCP三次握手,由于攻击者发送的请求信息是虚假的,所以服务器接受不到返回的确认信息,在一段时间内服务器会处于等待状态,而分配给这次请求的资源却没有被释放。当攻击者等待一定的时间后,会因为连接超时而断开,这时攻击者再次发送新的虚假信息,这样最终服务器的资源被耗尽,直到瘫痪。

DDOS中文名称是分布式拒绝服务攻击。指的是攻击者控制多台主机同时向同一台主机或网络发送DOS攻击。

DOS攻击、DDOS攻击和DRDOS攻击想信大家已经早有耳闻了吧。DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service的简写就是分布式拒绝服务,而DRDoS就是Distributed Reflection Denial of Service的简写,这是分布反射式拒绝服务的意思。

不过这三种攻击方法中最厉害的还是DDOS攻击。那个DRDOS攻击虽然是新近出现的一种攻击方法,但是它只是DDOS攻击的变形,它的唯一不同的就是不占用大量的“肉鸡”。这三种方法都是利用TCP三次握手的漏洞进行攻击的,所以对他们的防御方法都是差不多的。

DOS攻击是最早出现的。他的攻击方法说说白了就是单挑,是比谁的机器性能好、速度快。但是现在的科技飞速发展,一般的网站主机都有十几台主机,而且各个主机的处理能力、内存大小和网络速度都有飞速的发展
,有的网络带宽甚至超过了千兆级别。这样我们的一对一单挑式攻击就没有什么作用了,搞不好自己的机子就会死掉。举个这样攻击的例子,假如你的机器每秒能够发送10个攻击的数据包,而你被攻击的机器(性能、网络带宽都是顶尖的)每秒能够接受并处理100个以上的攻击数据包,那样的话,你的攻击就没有什么用处了。而且非常有死机的可能。要知道,你若发送这样1V1的攻击,你的机器占用的CPU资源使用率是90%以上。你的机器要是配置不够高的话,那你就死定了。
DOS、DOS攻击、DDOS攻击、DRDOS攻击
不过,科学在发展,黑客在进步。正所谓道高一尺魔高一丈。经过无数次宕机,黑客们终于又找到一种新的DOS攻击方法,这就是DDOS攻击。他的原理说白了就是群殴,用好多机器对目标机器发起DOS攻击,但这不是很多黑客一起参与的,这种攻击只是由一名黑客来操作的。这名黑客不是拥有很多机器,他是通过他的机器在网络上占用很多肉鸡,并且控制这些肉鸡来发起DDOS攻击,要不然怎么叫做分布式呢。还是刚才的那个例子,你的机器每秒能发送10个攻击数据包,而被攻击者每秒能接受的100个数据包,这样你的攻击肯定不会起做作用,而你再用10台或者更多的机器来攻击被攻击者的机器,嘿嘿,结果就不说了。

DOS、DOS攻击、DDOS攻击、DRDOS攻击

DRDOS分布反射拒绝服务攻击是DDOS攻击的变形,它与DDOS不同之处就是DRDOS不需要在攻击前占用大量的肉鸡。他的攻击原理和Smurf攻击原理相近,不过DRDOS是可以在广域网上进行的,而Smurf攻击是在局域网进行的。他的作用原理是基广播地址与回应请求的。一台计算机向另外一台计算机发送一些特殊的数据包如ping请求时,会接收到他的回应;如果向本网络的广播地址发送请求包,实际上会到达网络上的所有计算机,这时会得到所有计算机的回应。这些回应事需要被接受的计算机处理的,每处理一个就要占用一份系统资源,如果同时接收到网络上所有计算机的回应,接收方的系统可能会吃不消,就像是遭到了DDOS攻击一样。不过是没有人笨到自己攻击自己的,
不过这样方法被黑客加以改进就具有很大的威力了。黑客向广播地址发送请求数据包,所有计算机得到请求后,却不会把回应发送到黑客那里,而是发送到被攻击主机上。

这是因为黑河冒充了被攻击主机。黑客发送的请求包所有的软件是可以伪造源地址的,接到伪造数据包的主机会根据源地址把回应发送回去,这当然是被攻击的地址。黑客同时还会把发送请求包的时间间隔减小,这样在短时间内能发送大量的请求包,使被攻击主机接到从被欺骗主机哪里传来的洪水般的回应。就像是遭受到了DDOS攻击导致系统奔溃。骇客借助网络中所有计算机来攻击受害者,而不需要事先占用这些被欺骗的主机,这就是Smurf攻击。而DRDOS攻击正是这个原理。黑客同样利用特殊的发包工具,首先把伪造源地址的syn连接请求数据包发送到哪些被欺骗的计算机上,根据TCP三次握手的规则,这些计算机会向源IP发出SYN+ACK或者RST包响应这个请求。同Smurf攻击一样,黑客所发送的请求包的源IP地址是被攻击者主机的地址,这样受骗的主机就都会把回应发送到主机处,造成被共攻击主机忙于处理这些回应而瘫痪。

DOS、DOS攻击、DDOS攻击、DRDOS攻击

解释:
SYN 用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1 ACK=1.
即 SYN和ACK来区分Connection Request和Connection Accepted。
RST用于复位因某种原因引起出现的错误连接,也是用来拒绝非法数据和请求。如果接收到RST位时,通常发生了某些错误。
ACK: (Acknowledgment field significant)置1时表示确认号(Acknowledgment Number)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。

TCP三次握手:DOS、DOS攻击、DDOS攻击、DRDOS攻击
假设我们要准备建立连接,服务器整处于正常接听的状态。
第一步:我们也就是客户端法欧莎一个带SYN位的请求,向服务器表示需要连接,假设请求包的***为10,那么则为SYN=10,
ACK=0,然后等待服务器的回应。
第二步:服务器接收到这样的请求包后,查看是否在监听指定的端口,如果不是就发送RST=1的回应,拒绝建立连接。如果接受请求包,那么服务器发送确认回应,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求***加1,本例中发送的数据是 SYN=100 ACK=1 用这样的数据回应给我们。向我们表示,服务器连接已经准备好了,等待我们的确认。这时我们接受到回应后,分析得到的信息,准备发送确认连接信号到服务器。
第三步:我们发送确认建立连接的信息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位为1.
即:SYN=11,ACK=101.

这样我们的链接就建立好了。

DDOS究竟是如何攻击?目前最流行也是最好的攻击方法是SYN-FLOOD进行攻击,也就是SYN洪水攻击。SYN-FLOOD不会完成TCP三次握手中的第三步,也就是不发送确认连接的信息给服务。这样,服务器无法建立完成三次握手,但是服务器不会理立即放弃,服务器会不停的重试并且等待一定的时间后放弃这个未完成的链接,这段时间叫做SYN timeout,这段时间大概为30秒-2分钟左右。若是一个用户在连接时出现问题而导致服务器的一个线程等待一分钟并不是什么大不了的问题,但是若是有人用特殊的软件大量模拟这样情况,那后果接可想而知了。一个服务器若是处理这些大量的半连接信息而消耗大量的系统资源和网络带宽,这样服务器就不会再用空余去处理普通用户的正常请求(因为客户端的正常请求比率很小)。这样这个服务器就无法工作了,这种攻击就叫做SYN-FLOOD攻击。

到目前为止,进行DDOS攻击的防御还是比较困难的。首先,这种攻击的特点是利用里TCP/IP协议的漏洞,除非你不用TCP/IP协议,才有可能完全抵御DDOS攻击。不过这不等于我们就没有办法阻挡DDOS攻击,我们可以尽力减少DDOS的攻击。下面就是一些防御方法:

1、确保服务器的系统文件是最新版本,并且及时更新系统补丁。
2、关闭不必要的服务
3、限制同时打开SYN半连接的数量。
4、缩短SYN半连接的timeout时间
5、正确设置防火墙
禁止对主机的非开放服务的访问
限制特定IP地址的访问
启用防火墙的DDOS的属性
严格限制对外开放的服务器的向外访问
运行端口映射程序端口扫描程序,要认真检查特权端口和非特权端口。
6、认真检查网络设备和主机/服务器系统的日志。只要日志出下漏洞或者是时间变更,那这台服务器就可能遭受到了攻击。
7、限制在防火墙外与网络文件系统共享。这样会给黑客截取系统文件的机会。主机的信息会暴露给黑客,无疑是给了对方入侵的机会。
8、购买高仿ip
9、路由器

以Cisco路由器为例

Cisco Express Forwarding(CEF)

使用 unicast reverse-path

访问控制列表(ACL)过滤

设置SYN数据包流量速率

升级版本过低的ISO

为路由器建立log server

能够了解DDoS攻击的原理,对我们防御的措施在加以改进,我们就可以挡住一部分的DDoS攻击,知己知彼,百战不殆嘛。

原文地址
https://www.cnblogs.com/leftJS/p/11098020.html