如何查看服务器是否被ddos攻击?

如何查看服务器是否被ddos攻击?,第1张

ddos攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动攻击,从而成倍地提高拒绝服务攻击的威力。ddos的攻击方式有很多种,最基本的dos攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。

第一,宽带被占用,宽带占用资源,一般是ddos攻击中最重要的一个手段。毕竟对于中小型企业来讲,能够享受到的宽带资源还是很有限的。Ddos攻击之后,宽带资源被占据,正常的流量很难满足服务器运行需求。如果你的服务器宽带占用比率为百分之九十的话,很有可能是遭受到ddos攻击了。

第二,连接不到服务器,一旦网站被ddos攻击之时,是会造成电脑死机或者是蓝屏的。这就代表着你使用的电脑服务器连接不成功。服务器连接不成功或者是连接出现错误的话,服务器能不能出现故障等问题,在进行服务器连接的同时,做好相关防御。

第三,内存被大量占用,如何查看服务器是否被ddos攻击,这一点是最重要的。Ddos攻击本身就是在恶意导致资源被占用。攻击者们利用攻击软件,针对服务器发送大量的垃圾请求。最后导致服务器被大量的所占用。因为正常网站进程,不能得到有效的处理,而且还会出现缓慢打开情况。就会出现服务器内存被大量的占据。

防御ddos攻击的方法可以使用蔚可云的ddos云清洗功能

DOS,是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DOS的攻击行为被称为DOS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DOS攻击有计算机网络带宽攻击和连通性攻击。

DOS攻击类型有哪些常见方式如下:

SYN FLOOD

利用服务器的连接缓冲区,利用特殊的程序,设置TCP的header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。

如果SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求;其他合法用户的连接都被拒绝,可以持续SYN请求发送,直到缓冲区中都是自己的只有SYN标志的请求。

IP欺骗

DOS攻击这种攻击利用RST位来实现的,比如现在有一个合法用户已经同服务器建立正常连接,攻击者构造攻击的TCP数据,伪装自己的IP为正常ip,向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从合法用户发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户再发送合法数据,服务器就已经没有这样的连接了,该用户必须重新开始建立连接。

带宽DOS攻击

如果连接带宽足够大而服务器又不是很大,可以发送请求,来消耗服务器的缓冲区消耗服务器的带宽。这种攻击就是人多力量大,配合上SYN一起实施DOS,威力巨大。

自身消耗的DOS攻击

这种是老式的攻击手法。说老式,是因为老式的系统有这样的自身BUG,比如win 95这样的系统。这种DOS攻击就是把请求客户端IP和端口弄成主机的IP端口相同,发送给主机。使得主机给自己发送TCP请求和连接。这种主机的漏洞会很快地把资源消耗光,直接导致宕机。这种伪装对一些身份认证系统威胁还是很大的。

塞满服务器的硬盘

如果服务器可以没有限制地执行写操作,那么都能成为塞满硬盘造成DOS攻击的途径:

1、发送垃圾邮件:一般公司的服务器可能把邮件服务器和Web服务器都放在一起,破坏者可以发送大量的垃圾邮件,这些邮件可能都塞在一个邮件队列中或者就是坏邮件队列中,直到邮箱被撑破或者把硬盘塞满。

2、让日志记录满:入侵者可以构造大量的错误信息发送出来,服务器记录这些错误,可能就造成日志文件非常庞大,甚至会塞满硬盘。同时会让管理员痛苦地面对大量的日志,甚至就不能发现入侵者真正的入侵途径。

3、向匿名FTP塞垃圾文件,这样也会塞满硬盘空间。

通常所说的DOS有两种不同的概念,即拒绝服务或一种磁盘操作系统,通常DoS(O小写)指的是拒绝服务,DOS(O大写)指的是一种磁盘操作系统

随着计算机技术的发展,网络也在迅猛地普及和发展。人们在享受着网络带来的各种便利的同时,也受到了很多黑客的攻击。在众多的攻击种类中,有一种叫做 DoS(Denial of Service 拒绝服务)的攻击,是一种常见而有效的网络攻击技术,它通过利用协议或系统的缺陷,采取欺骗或伪装的策略来进行网络攻击,最终使得受害者的系统因为资源耗尽或无法作出正确响应而瘫痪,从而无法向合法用户提供正常服务。它看上去平淡无奇,但是攻击范围广,隐蔽性强、简单有效而成为了网络中一种强大的攻击技术,极大地影响了网络和业务主机系统的有效服务。其中,DDoS(Distubuted Denial of Service 分布式拒绝服务)更以其大规模性、隐蔽性和难防范性而著称。

在对Linux 2 4 内核防火墙netfilter 的原理深入研究后,分析了在netfilter 架构下防火墙的设计、实现和开发过程。以kylix3 0为开发环境,作者基于netfilter 架构开发了一款包过滤和应用代理的混合型防火墙,并对其做了测试。该防火墙系统是由包过滤管理模块、路由记录模块、应用代理模块(syn proxy)、扫描防御模块和日志记录模块构成。其中包过滤是基于netfilter 中的iptables 来实现的,网络地址转换也在包过滤管理模块中实现;路由记录模块通过修改Linux 内核中TCP/IP程序和重新编译内核使内核支持路由记录功能来实现的;在应用代理模块中实现了HTTP代理和一个通用代理服务,HTTP代理程序基于SQUID 实现,而通用代理由一个代理进程来实现;扫描防御模块中主要是通过一个网络扫描防御Demo 进程来监控是否有扫描发生;日志记录模块主要是选择记录日志的位置,有本机和邮件通知两种选择方式。针对常见的IP 地址欺骗、IP 源路由欺骗、ICMP 重定向欺骗、IP 劫持等常见网络攻击给予了分析并在过滤管理模块中加以解决实现,其中IP 劫持实现是用一个钩子函数注入协议栈中来实现的。文中还分析了加固操作系统而关闭一些危险和不使用的服务,使防火墙架设在一个相对安全的基础上,同时也将系统编译升级为最新的稳定内核。

DoS攻击是网络攻击最常见的一种。它故意攻击网络协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法捉供正常的服务或资源访问,使目标系统服务停止响应甚至崩溃,而在此攻击中并不入侵目标服务器或目标网络设备。这些服务资源包括网络宽带、系统堆栈、开放的进程。或者允许的连接。这种攻击会导致资源耗尽,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。任何资源都有一个极限,所以总能找到一个方法使请求的值大于该极限值,导致所提供的服务资源耗尽。

DoS攻击有许多种类,主要有Land攻击、死亡之ping、泪滴、Smurf攻击及SYN洪水等。

据统计,在所有黑客攻击事件中,syn洪水攻击是最常见又最容易被利用的一种DoS攻击手法。

1攻击原理

要理解SYN洪水攻击,首先要理解TCP连接的三次握手过程(Three-wayhandshake)。在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送SYN包((SYN=i)到服务器,并进入SYN SEND状态,等待服务器确认;

第二次握手:服务器收到SYN包,必须确认客户的SYN (ACK=i+1 ),同}Jj’自己也发送一个SYN包((SYN j)}即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN十ACK包,向服务器发送确认包ACK(ACK=j+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手,客户端与服务器开始传送数据。

在上述过程中,还有一些重要的概念:

半连接:收到SYN包而还未收到ACK包时的连接状态称为半连接,即尚未完全完成三次握手的TCP连接。

半连接队列:在三次握手协议中,服务器维护一个半连接队列,该队列为每个客户端的SYN包(SYN=i )开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于SYN_ RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。

Backlog参数:表示半连接队列的最大容纳数目。

SYN-ACK重传次数:服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息、从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

上面三个参数对系统的TCP连接状况有很大影响。

SYN洪水攻击属于DoS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从图4-3可看到,服务器接收到连接请求(SYN=i )将此信息加入未连接队列,并发送请求包给客户( SYN=j,ACK=i+1 ),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN 请求

被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。过程如下:

攻击主机C(地址伪装后为C')-----大量SYN包---->彼攻击主机

C'<-------SYN/ACK包----被攻击主机

由于C’地址不可达,被攻击主机等待SYN包超时。攻击主机通过发人量SYN包填满未连接队列,导致正常SYN包被拒绝服务。另外,SYN洪水攻击还可以通过发大量ACK包进行DoS攻击。

2.传统算法

抵御SYN洪水攻击较常用的方法为网关防火墙法、中继防火墙法和SYNcookies。为便于叙述,将系统拓扑图简化为图4-4。图中,按网络在防火墙内侧还是外侧将其分为内网、外网(内网是受防火墙保护的)。其次,设置防火墙的SYN重传计时器。超时值必须足够小,避免backlog队列被填满;同时又要足够大保证用户的正常通讯。

(1) 网关防火墙法

网关防火墙抵御攻击的基本思想是:对于内网服务器所发的SYN/ACK包,防火墙立即发送ACK包响应。当内网服务器接到ACK包后,从backlog队列中移出此半连接,连接转为开连接,TCP连接建成。由于服务器处理开连接的能力比处理半连接大得多,这种方法能有效减轻对内网服务器的SYN攻击,能有效地让backlog队列处于未满状态,同时在重传一个未完成的连接之前可以等待更长时间。

以下为算法完整描述:

第一步,防火墙截获外网客户端发向内网服务器SYN数据包,允许其通过,抵达内网服务器。同时在连接跟踪表中记录此事件

第二步,防火墙截获服务器发向客户端的SYN/ACK响应包,用连接跟踪表中记录的相应SYN包匹配它

第三步,防火墙让截获的SYN/ACK继续进行(发向客户端)。同时,向内网服务器发送ACK包。这样,对服务器来说,TCP连接三次握手已经完成。系统在backlog队列中删掉此半连接

第四步,看此TCP连接是否有效,相应产生两种解决方法。如果客户端的连接尝试是有效的,那么防火墙将接到来自客户端的ACK包,然后防火墙将它转发到服务器。服务器会忽略这个冗余的ACK包,这在TCP协议中是允许的

如果客户端的IP地址并不存在,那么防火墙将收不到来自客户端的ACK包,重转计时器将超时。这时,防火墙重传此连接

(2) 中继防火墙法

中继防火墙抵御攻击的思想是:防火墙在向内网服务器发SYN包之前,首先完成与外网的三次握手连接,从而消除SYN洪水攻击的成立条件。

以下为算法完整描述:

第一步,防火墙截获外网客户端发向内网服务器SYN数据包

第二步,防火墙并不直接向内网发SYN数据包,而是代替内网服务器向外网发SYNIACK数据包

第三步,只有接到外网的ACK包,防火墙向内网发SYN包

第四步,服务器应答SYN/ACK包

第五步,防火墙应答ACK包

(3) 分析

首先分析算法的性能,可以看出:为了提高效率,上述算法使用了状态检测等机制(可通过本系统的基本模块层得以实现)

对于非SYN包(CSYN/ACK及ACK包),如果在连线跟踪信息表未查找到相应项,则还要匹配规则库,而匹配规则库需比较诸多项(如IP地址、端口号等),花费较大,这会降低防火墙的流量。另外,在中继防火墙算法中,由于使用了SYN包代理,增加了防火墙的负荷,也会降低防火墙的流量。

其次,当攻击主机发ACK包,而不是SYN包,算法将出现安全漏洞。一般地,TCP连接从SYN包开始,一旦 SYN包匹配规则库,此连接将被加到连接跟踪表中,并且系统给其60s延时。之后,当接到ACK包时,此连接延时突然加大到3600s。如果,TCP连接从ACK包开始,同时此连接未在连接跟踪表中注册,ACK包会匹配规则库。如匹配成功,此连接将被加到连接跟踪表中,同时其延时被设置为3600s。即使系统无响应,此连接也不会终止。如果攻击者发大量的ACK包,就会使半连接队列填满,导致无法建立其它TCP连接。此类攻击来自于内网。因为,来自于外网的ACK包攻击,服务器会很快发RST包终止此连接(SOs>。而对于内网的外发包,其限制规则的严格性要小的多。一旦攻击者在某时间段内从内网发大量ACK包,并且速度高于防火墙处理速度,很容易造成系统瘫痪。

(4) SYN cookies

Linux支持SYN cookies,它通过修改TCP协议的序列号生成方法来加强抵御SYN洪水攻击能力。在TCP协议中,当收到客户端的SYN请求时,服务器需要回复SYN-SACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端口、服务器IP地址和服务器端口以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端,如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到。cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。

此算法的优点是:半连接队列满时,SYN cookies仍可以处理新SYN请求。缺点是:某些TCP选项必须禁用,如大窗口等。计算cookies有花销。

/一个IP包,其分片都被放入到一个链表中,作为每一个分片的链表节点用ipfrag结构表示。IP分片的中心组装在此链表进行。/

内核抵御攻击的代码结构如下:

// From

/IP分片结构体/

struct ipfrag

{

int offset; //ip包中此分片的偏移值

int end; //此分片最后一个株距在ip包中的位置

int len; //此分片长度

struct sk_buff skb; //分片数据包

unsigned

if(end<= offset)&&(i>skb->len)

return NF_DRDP;

}

}

return NF_ACCEPT;

组成规则的三个结构体具体解释如下:

(1)ipt

unsigned int nfcache ; //用此位域表示数据报的哪些部分由这个规则检查

; //包含数据包及匹配此规则数据包的计算数值

以下仅列出ipt_entry_match结构体:

struce ipt_entry_match

{

union

{

struct{

u_int16_t target_size;

{

struct list_head list;//链表

struct

u int32 ipaddr; //地址

u_ int16 port; //端口

}src; //源端信息

struct

{

u_ int32 ipaddr;

u_ int 16 port;

} dst; //目的端信息

u_intl6 protonum; //协议号

`常用语法

dir+* 浏览

cls 清屏

cd 打开子目录

cd+* 退出子目录

rd+* 删除子目录

del+* 删除文件

  服务器遭受ddos攻击的影响:

1、网站打不开。该特征主要表现为:网站服务器提供的页面浏览、上传等服务变得极慢或不能再提供服务。但也有可能是网站带宽或其他原因,所以需要综合其他症状进行判断。

  2、CPU超载。如果网站管理员发现原本正常的服务器出现CPU、内存等消耗很大,CPU长期处于100%的状态,极有可能是DDOS引起的。

  3、网路堵塞。如果你网络上出现了大量的非法数据包或伪造数据包,这也是DDOS的症状之一。最典型的案例是同一个IDC下的多个网站都无法访问,这是由于庞大到难以想象的数据涌入到整个IDC入口节点,导致IDC被DDOS击倒,造成整个IDC下的所有网站无法访问,停止服务。

  4、频繁死机。如果遭到了DDOS的攻击,尤其是当CPU一直处于100%使用率的高危,那么服务器会反复重启。

一般游戏行业、电商行业比较容易被ddos攻击,所以建议选择服务器的话要选择高防服务器,确保网站的安全稳定。

  

DDoS攻击是由DoS攻击转化的,这项攻击的原理以及表现形式是怎样的呢?要如何的进行防御呢?本文中将会有详细的介绍,需要的朋友不妨阅读本文进行参考

DDoS攻击原理是什么随着网络时代的到来,网络安全变得越来越重要。在互联网的安全领域,DDoS(Distributed

DenialofService)攻击技术因为它的隐蔽性,高效性一直是网络攻击者最青睐的攻击方式,它严重威胁着互联网的安全。接下来的文章中小编将会介绍DDoS攻击原理、表现形式以及防御策略。希望对您有所帮助。

DDoS攻击原理及防护措施介绍

一、DDoS攻击的工作原理

11 DDoS的定义

DDos的前身 DoS

(DenialofService)攻击,其含义是拒绝服务攻击,这种攻击行为使网站服务器充斥大量的要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷而停止提供正常的网络服务。而DDoS分布式拒绝服务,则主要利用

Internet上现有机器及系统的漏洞,攻占大量联网主机,使其成为攻击者的代理。当被控制的机器达到一定数量后,攻击者通过发送指令操纵这些攻击机同时向目标主机或网络发起DoS攻击,大量消耗其网络带和系统资源,导致该网络或系统瘫痪或停止提供正常的网络服务。由于DDos的分布式特征,它具有了比Dos远为强大的攻击力和破坏性。

12 DDoS的攻击原理

如图1所示,一个比较完善的DDos攻击体系分成四大部分,分别是攻击者( attacker也可以称为master)、控制傀儡机(

handler)、攻击傀儡机( demon,又可称agent)和受害着(

victim)。第2和第3部分,分别用做控制和实际发起攻击。第2部分的控制机只发布令而不参与实际的攻击,第3部分攻击傀儡机上发出DDoS的实际攻击包。对第2和第3部分计算机,攻击者有控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自攻击者的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,这些傀儡机器并没有什么异常,只是一旦攻击者连接到它们进行控制,并发出指令的时候,攻击愧儡机就成为攻击者去发起攻击了。

图1分布式拒绝服务攻击体系结构

之所以采用这样的结构,一个重要目的是隔离网络联系,保护攻击者,使其不会在攻击进行时受到监控系统的跟踪。同时也能够更好地协调进攻,因为攻击执行器的数目太多,同时由一个系统来发布命令会造成控制系统的网络阻塞,影响攻击的突然性和协同性。而且,流量的突然增大也容易暴露攻击者的位置和意图。整个过程可分为:

1)扫描大量主机以寻找可入侵主机目标;

2)有安全漏洞的主机并获取控制权;

3)入侵主机中安装攻击程序;

4)用己入侵主机继续进行扫描和入侵。

当受控制的攻击代理机达到攻击者满意的数量时,攻击者就可以通过攻击主控机随时发出击指令。由于攻击主控机的位置非常灵活,而且发布命令的时间很短,所以非常隐蔽以定位。一旦攻击的命令传送到攻击操纵机,主控机就可以关闭或脱离网络,以逃避追踪要着,攻击操纵机将命令发布到各个攻击代理机。在攻击代理机接到攻击命令后,就开始向目标主机发出大量的服务请求数据包。这些数据包经过伪装,使被攻击者无法识别它的来源面且,这些包所请求的服务往往要消耗较大的系统资源,如CP或网络带宽。如果数百台甚至上千台攻击代理机同时攻击一个目标,就会导致目标主机网络和系统资源的耗尽,从而停止服务。有时,甚至会导致系统崩溃。

另外,这样还可以阻塞目标网络的防火墙和路由器等网络设备,进一步加重网络拥塞状况。于是,目标主机根本无法为用户提供任何服务。攻击者所用的协议都是一些非常常见的协议和服务。这样,系统管理员就难于区分恶意请求和正连接请求,从而无法有效分离出攻击数据包

二、DDoS攻击识别

DDoS ( Denial of Service,分布式拒绝服务) 攻击的主要目的是让指定目标无注提供正常服务,甚至从互联网上消失,是目前最强大、最难防御的攻击方式之一。

21 DDoS表现形式

DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的政击,即通过大量攻击包导致主机的内存被耗尽或CPU内核及应用程序占完而造成无法提供网络服务。

22 攻击识别

流量攻击识别主要有以下2种方法:

1) Ping测试:若发现Ping超时或丢包严重,则可能遭受攻击,若发现相同交换机上的服务器也无法访问,基本可以确定为流量攻击。测试前提是受害主机到服务器间的ICMP协议没有被路由器和防火墙等设备屏蔽;

2)

Telnet测试:其显著特征是远程终端连接服务器失败,相对流量攻击,资源耗尽攻击易判断,若网站访问突然非常缓慢或无法访问,但可Ping通,则很可能遭受攻击,若在服务器上用Netstat-na命令观察到大量

SYN_RECEIVED、 TIME_WAIT, FIN_

WAIT_1等状态,而EASTBLISHED很少,可判定为资源耗尽攻击,特征是受害主机Ping不通或丢包严重而Ping相同交换机上的服务器正常,则原因是攻击导致系统内核或应用程序CPU利用率达100%无法回应Ping命令,但因仍有带宽,可ping通相同交换机上主机。

三、DDoS攻击方式

DDoS攻击方式及其变种繁多,就其攻击方式面言,有三种最为流行的DDoS攻击方式。

31 SYN/ACK Flood攻击

这种攻击方法是经典有效的DDoS攻击方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源P和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伤造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持,少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用

Netstat-na命令会观察到存在大量的 SYN

RECEIVED状态,大量的这种攻击会导致Ping失败,TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。

攻击流程如图2所示,正常TCP连接为3次握手,系统B向系统A发送完 SYN/ACK分组后,停在 SYN

RECV状态,等待系统A返回ACK分组;此时系统B已经为准备建立该连接分配了资源,若攻击者系统A,使用伪造源IP,系统B始终处于“半连接”等待状态,直至超时将该连接从连接队列中清除;因定时器设置及连接队列满等原因,系统A在很短时间内,只要持续高速发送伪造源IP的连接请求至系统B,便可成功攻击系统B,而系统B己不能相应其他正常连接请求。

图2 SYN Flooding攻击流程

32 TCP全连接攻击

这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤

TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多网络服务程序(如:IIS、

Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽面被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此此种DDOs攻击方容易被追踪。

33 TCP刷 Script脚本攻击

这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用 MSSQL Server、My SQL Server、

Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过

Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Poxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些代理会暴露DDOS攻击者的IP地址。

四、DDoS的防护策略

DDoS的防护是个系统工程,想仅仅依靠某种系统或产品防住DDoS是不现实的,可以肯定的说,完全杜绝DDoS目前是不可能的,但通过适当的措施抵御大多数的DDoS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDoS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDoS攻击。

41 采用高性能的网络设备

抗DDoS攻击首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDoS攻击是非常有效的。

42 尽量避免NAT的使用

无论是路由器还是硬件防护墙设备都要尽量避免采用网络地址转换NAT的使用,除了必须使用NAT,因为采用此技术会较大降低网络通信能力,原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间。

43 充足的网络带宽保证

网络带宽直接决定了能抗受攻击的能力,假若仅有10M带宽,无论采取何种措施都很难对抗现在的

SYNFlood攻击,当前至少要选择100M的共享带宽,1000M的带宽会更好,但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M。

44 升级主机服务器硬件

在有网络带宽保证的前提下,尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P4

24G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,要保障硬件性能高并且稳定,否则会付出高昂的性能代价。

45 把网站做成静态页面

大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,到现在为止还没有出现关于HTML的溢出的情况,新浪、搜狐、网易等门户网站主要都是静态页面。

此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问我们网站的80%属于恶意行为。

五、总结

DDoS攻击正在不断演化,变得日益强大、隐密,更具针对性且更复杂,它已成为互联网安全的重大威胁,同时随着系统的更新换代,新的系统漏洞不断地出现,DDoS的攻击技巧的提高,也给DDoS防护增加了难度,有效地对付这种攻击是一个系统工程,不仅需要技术人员去探索防护的手段,网络的使用者也要具备网络攻击基本的防护意识和手段,只有将技术手段和人员素质结合到一起才能最大限度的发挥网络防护的效能。相关链接

DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。 

DoS攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。

1.确保所有服务器采用最新系统,并打上安全补丁。计算机紧急响应协调中心发现,几乎每个受到DDoS攻击的系统都没有及时打上补丁。

2.确保管理员对所有主机进行检查,而不仅针对关键主机。这是为了确保管理员知道每个主机系统在 运行什么?谁在使用主机?哪些人可以访问主机?不然,即使黑客侵犯了系统,也很难查明。

3.确保从服务器相应的目录或文件数据库中删除未使用的服务如FTP或NFS。Wu-Ftpd等守护程序存在一些已知的漏洞,黑客通过根攻击就能获得访问特权系统的权限,并能访问其他系统甚至是受防火墙保护的系统。

4.确保运行在Unix上的所有服务都有TCP封装程序,限制对主机的访问权限。

5.禁止内部网通过Modem连接至PSTN系统。否则,黑客能通过电话线发现未受保护的主机,即刻就能访问极为机密的数据

6.禁止使用网络访问程序如Telnet、Ftp、Rsh、Rlogin和Rcp,以基于PKI的访问程序如SSH取代。SSH不会在网上以明文格式传送口令,而Telnet和Rlogin则正好相反,黑客能搜寻到这些口令,从而立即访问网络上的重要服务器。此外,在Unix上应该将rhost和hostsequiv文件删除,因为不用猜口令,这些文件就会提供登录访问!

7.限制在防火墙外与网络文件共享。这会使黑客有机会截获系统文件,并以特洛伊木马替换它,文件传输功能无异将陷入瘫痪。

8.确保手头有一张最新的网络拓扑图。这张图应该详细标明TCP/IP地址、主机、路由器及其他网络设备,还应该包括网络边界、非军事区(DMZ)及网络的内部保密部分。

9.在防火墙上运行端口映射程序或端口扫描程序。大多数事件是由于防火墙配置不当造成的,使DoS/DDoS攻击成功率很高,所以定要认真检查特权端口和非特权端口。

10.检查所有网络设备和主机/服务器系统的日志。只要日志出现漏洞或时间出现变更,几乎可以肯定:相关的主机安全受到了危胁。

11.利用DDoS设备提供商的设备。

遗憾的是,目前没有哪个网络可以免受DDoS攻击,但如果采取上述几项措施,能起到一定的预防作用

分类: 电脑/网络 >> 互联网

问题描述:

什么叫DOS攻击?

他们怎么对我发动攻击?

我又如何能够发觉到他的攻击呢?

解析:

DOS攻击原理以及常见方法介绍

已经有很多介绍DOS(Denial of Service,即拒绝服务)攻击的文章,但是,多数人还是不知道DOS到底是什么,它到底是怎么实现的。本文主要介绍DOS的机理和常见的实施方法。因前段时间仔细了解了TCP/IP协议以及RFC文档,有点心得。同时,文中有部分内容参考了Shaft的文章翻译而得。要想了解DOS攻击得实现机理,必须对TCP有一定的了解。

1、什么是DOS攻击

DOS:即Denial Of Service,拒绝服务的缩写,可不能认为是微软的dos操作系统了。好象在5·1的时候闹过这样的笑话。拒绝服务,就相当于必胜客在客满的时候不再让人进去一样,呵呵,你想吃馅饼,就必须在门口等吧。DOS攻击即让目标机器停止提供服务或资源访问。

2、有关TCP协议的东西

TCP(tran ission control protocol,传输控制协议),是用来在不可靠的因特网上提供可靠的、端到端的字节流通讯协议,在RFC793中有正式定义,还有一些解决错误的东西在RFC 1122中有记录,RFC 1323则有TCP的功能扩展。我们常见到的TCP/IP协议中,IP层不保证将数据报正确传送到目的地,TCP则从本地机器接受用户的数据流,将其分成不超过64K字节的数据片段,将每个数据片段作为单独的IP数据包发送出去,最后在目的地机器中再组合成完整的字节流,TCP协议必须保证可靠性。发送和接收方的TCP传输以数据段的形式交换数据,一个数据段包括一个固定的20字节,加上可选部分,后面再跟上数据,TCP协议从发送方传送一个数据段的时候,还要启动计时器,当数据段到达目的地后,接收方还要发送回一个数据段,其中有一个确认序号,它等于希望收到的下一个数据段的顺序号,如果计时器在确认信息到达前超时了,发送方会重新发送这个数据段。

上面,我们总体上了解一点TCP协议,重要的是要熟悉TCP的数据头(header)。因为数据流的传输最重要的就是header里面的东西,至于发送的数据,只是header附带上的。客户端和服务端的服务响应就是同header里面的数据相关,两端的信息交流和交换是根据header中的内容实施的,因此,要实现DOS,就必须对header中的内容非常熟悉。

下面是TCP数据段头格式。RFC793中的

(请大家注意网页显示空格使下面的格式错位了)



0123

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Source Port |Destination Port|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Sequence Number|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Acknowledgment Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Data ||U|A|P|R|S|F||

| Offset| Reserved |R|C|S|S|Y|I|Window |

|||G|K|H|T|N|N||

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Checksum| Urgent Pointer|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Options|Padding|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| data |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 TCP Header Format

Source Port和 Destination Port :是本地端口和目标端口

Sequence Number 和 Acknowledgment Number :是顺序号和确认号,确认号是希望接收的字节号。这都是32位的,在TCP流中,每个数据字节都被编号。

Data offset :表明TCP头包含多少个32位字,用来确定头的长度,因为头中可选字段长度是不定的。

Reserved : 保留的6位,现在没用,都是0

接下来是6个1位的标志,这是两个计算机数据交流的信息标志。接收和发送断根据这些标志来确定信息流的种类。下面是一些介绍:

URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断

ACK:(Acknowledgment field significant)置1时表示确认号(Acknowledgment Number)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。

PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。

RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。

SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。

FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。

知道这重要的6个指示标志后,我们继续来。

16位的WINDOW字段:表示确认了字节后还可以发送多少字节。可以为0,表示已经收到包括确认号减1(即已发送所有数据)在内的所有数据段。

接下来是16位的Checksum字段,用来确保可靠性的。

16位的Urgent Pointer,和下面的字段我们这里不解释了。不然太多了。呵呵,偷懒啊。

我们进入比较重要的一部分:TCP连接握手过程。这个过程简单地分为三步。

在没有连接中,接受方(我们针对服务器),服务器处于LISTEN状态,等待其他机器发送连接请求。

第一步:客户端发送一个带SYN位的请求,向服务器表示需要连接,比如发送包假设请求序号为10,那么则为:SYN=10,ACK=0,然后等待服务器的响应。

第二步:服务器接收到这样的请求后,查看是否在LISTEN的是指定的端口,不然,就发送RST=1应答,拒绝建立连接。如果接收连接,那么服务器发送确认,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求序号加1,本例中发送的数据是:SYN=100,ACK=11,用这样的数据发送给客户端。向客户端表示,服务器连接已经准备好了,等待客户端的确认

这时客户端接收到消息后,分析得到的信息,准备发送确认连接信号到服务器

第三步:客户端发送确认建立连接的消息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位加1。即:SYN=11,ACK=101。

这时,连接已经建立起来了。然后发送数据,<SYN=11,ACK=101><DATA>。这是一个基本的请求和连接过程。需要注意的是这些标志位的关系,比如SYN、ACK。

3、服务器的缓冲区队列(Backlog Queue)

服务器不会在每次接收到SYN请求就立刻同客户端建立连接,而是为连接请求分配内存空间,建立会话,并放到一个等待队列中。如果,这个等待的队列已经满了,那么,服务器就不在为新的连接分配任何东西,直接丢弃新的请求。如果到了这样的地步,服务器就是拒绝服务了。

如果服务器接收到一个RST位信息,那么就认为这是一个有错误的数据段,会根据客户端IP,把这样的连接在缓冲区队列中清除掉。这对IP欺骗有影响,也能被利用来做DOS攻击。

上面的介绍,我们了解TCP协议,以及连接过程。要对SERVER实施拒绝服务攻击,实质上的方式就是有两个:

一, 迫使服务器的缓冲区满,不接收新的请求。

二, 使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接这就是DOS攻击实施的基本思想。具体实现有这样的方法:

1、SYN FLOOD

利用服务器的连接缓冲区(Backlog Queue),利用特殊的程序,设置TCP的Header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。

如果你的SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求了。其他合法用户的连接都被拒绝掉。可以持续你的SYN请求发送,直到缓冲区中都是你的只有SYN标记的请求。现在有很多实施SYN FLOOD的工具,呵呵,自己找去吧。

2、IP欺骗DOS攻击

这种攻击利用RST位来实现。假设现在有一个合法用户(1111)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1111,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从1111发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户1111再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。

攻击时,伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务。

3、带宽DOS攻击

如果你的连接带宽足够大而服务器又不是很大,你可以发送请求,来消耗服务器的缓冲区消耗服务器的带宽。这种攻击就是人多力量大了,配合上SYN一起实施DOS,威力巨大。不过是初级DOS攻击。呵呵。Ping白宫??你发疯了啊!

4、自身消耗的DOS攻击

这是一种老式的攻击手法。说老式,是因为老式的系统有这样的自身BUG。比如Win95 (winsock v1), Cisco IOS v10x, 和其他过时的系统。

这种DOS攻击就是把请求客户端IP和端口弄成主机的IP端口相同,发送给主机。使得主机给自己发送TCP请求和连接。这种主机的漏洞会很快把资源消耗光。直接导致当机。这种伪装对一些身份认证系统还是威胁巨大的。

实施DOS攻击最主要的就是构造需要的TCP数据,充分利用TCP协议。这些攻击方法都是建立在TCP基础上的。当然还有更多的实施方法,可以自己去研究。

本文只是一种技术讨论,不存在任何恶意。如果有人利用做过什么坏事情,同本人无关。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何查看服务器是否被ddos攻击?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情