服务器如何防御ddos攻击?

服务器如何防御ddos攻击?,第1张

一、确保服务器系统安全

云霸天下IDC高防

1、确保服务器的系统文件是最新的版本,并及时更新系统补丁。

2、管理员需对所有主机进行检查,知道访问者的来源。

3、关闭不必要的服务:在服务器上删除未使用的服务,关闭未使用的端口。

4、限制同时打开的SYN半连接数目,缩短SYN半连接的time out 时间,限制SYN/ICMP流量。

5、正确设置防火墙,在防火墙上运行端口映射程序或端口扫描程序。

6、认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可能遭到了攻击。

7、限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,若黑客以特洛伊木马替换它,文件传输功能无疑会陷入瘫痪。

二、其他方法

云霸天下IDC高防IP

1、隐藏服务器真实IP

2、关闭不必要的服务或端口

3、购买高防提高承受能力

4、限制SYN/ICMP流量

5、网站请求IP过滤

6、部署DNS智能解析

7、提供余量带宽

目前而言,DDOS攻击并没有最好的根治之法,做不到彻底防御,只能采取各种手段在一定程度上减缓攻击伤害。所以平时服务器的运维工作还是要做好基本的保障。

ICMP是完成IP层主要控制功能的辅助协议,它可弥补IP在网络控制方面的不足;而端口通信则是由集成到 *** 作系统内核中的TCP/IP协议,通过软件形式与任何一台具有类似接口计算机进行通信的方式。一台安装有防病毒、网络防火墙的个人电脑,如果还频频受到来自网络上的攻击,除了没有经常更新相应病毒库和网墙数据库,其症结一般都出自 *** 作系统中诸多可随意被打开但并不常用的端口。为了避免恶意者通过网络对你的计算机进行扫描和进一步的入侵动作,关闭ICMP协议及多余的端口是简单并切实有效的解决方法,足以应付大多数恶作剧式的网络攻击。其中后者不仅可以通过Win2000及以上 *** 作系统内部设置进行调整,更能够依靠相应网络防火墙进行关闭工作。
关闭ICMP协议的步骤如下:开始→设置→控制面板→管理工具→本地安全策略→右击“IP安全策略在本地计算机”→管理IP筛选器表和筛选器 *** 作→所有ICMP通讯量→添加→起任意名称后点击“添加”→下一步→任何IP地址→下一步→我的IP地址→协议类型选择“ICMP”→完成。
而要关闭非信任主机对135、TCP4444、UDP69等计算机端口的访问,则有两种方法:其一是通过“管理IP筛选器表和筛选器 *** 作”→添加→起任意名称后点击“添加”→下一步→任何IP地址→下一步→我的IP地址→协议类型选择“TCP”→“从任意端口”到“此端口”并填入相应端口号→完成,这样就成功对一个端口进行了封堵,重复上述步骤即可对其它端口进行相关设置;
另一种方法则是利用目前多数网络防火墙提供的规则设置,对端口号、各IP地址、协议类型、传输方向等选项进行一一添加或更改,同样能够达到封阻可疑端口的目的。
此外,通过关闭DCOM协议也能达到预防部分蠕虫病毒的效能,只是由于禁用该协议会截断一切本地计算机与网络上其余计算机相同对象间的通信,因此运用起来具有一定的风险。预防胜于治疗,良好的用机及上网习惯仍旧是杜绝黑客程序感染的最好方法,毕竟砖石结构的城堡是最容易由内部被攻破的
如果你不想关掉ICMP ,建议你安装一个防火墙,比如下面这款:BitDefender,Jetico Personal Firewall,等等,都能抵御洪水攻击

1、连接好路由器,在网址栏输入19216811进入路由器的登录界面。

2、输入好登录名和密码。

3、进入路由器的管理页面后,点击右上角的高级设置。

4、 进入高级设置后就会看到“安全设置”。

5、 在安全设置里就会看到DOS攻击防范。开启DOS攻击防范,点击下方的保存按钮即可。

SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,它是利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式,最终导致系统或服务器宕机。
在讨论SYN Flood原理前,我们需要从TCP连接建立的过程开始说起:
TCP与UDP不同,它是基于连接的,为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟电路,也就是TCP连接。也就是我们经常听说的TCP协议中的三次握手(Three-way Handshake),建立TCP连接的标准过程如下:
首先,客户端发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;
其次,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK(即确认Acknowledgement)的报文,表示客户端的请求被接受,同时TCP初始序号自动加一。
最后,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。
SYN Flood攻击正是利用了TCP连接的三次握手,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不会对服务器端造成什么大的影响,但如果有大量的等待丢失的情况发生,服务器端将为了维护一个非常大的半连接请求而消耗非常多的资源。我们可以想象大量的保存并遍历也会消耗非常多的CPU时间和内存,再加上服务器端不断对列表中的IP进行SYN+ACK的重试,服务器的负载将会变得非常巨大。如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃。相对于攻击数据流,正常的用户请求就显得十分渺小,服务器疲于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户会表现为打开页面缓慢或服务器无响应,这种情况就是我们常说的服务器端SYN Flood攻击(SYN洪水攻击)。
从防御角度来讲,存在几种的解决方法:
第一种是缩短SYN Timeout时间,由于SYN Flood攻击的效果取决于服务器上保持的SYN半连接数,这个值=SYN攻击的频度 x SYN Timeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间,例如设置为20秒以下,可以成倍的降低服务器的负荷。但过低的SYN Timeout设置可能会影响客户的正常访问。
第二种方法是设置SYN Cookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,并记录地址信息,以后从这个IP地址来的包会被一概丢弃。这样做的结果也可能会影响到正常用户的访问。
上述的两种方法只能对付比较原始的SYN Flood攻击,缩短SYN Timeout时间仅在对方攻击频度不高的情况下生效,SYN Cookie更依赖于对方使用真实的IP地址,如果攻击者以数万/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,以上的方法将毫无用武之地。

随着Internet互联网络带宽的增加和多种DDoS黑客工具的不断发布,DDoS拒绝服务攻击的实施越来越容易,DDoS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素,导致很多IDC托管机房、商业站点、游戏服务器、聊天网络等网络服务商长期以来一直被DDoS攻击所困扰,随之而来的是客户投诉、同虚拟主机用户受牵连、法律纠纷、商业损失等一系列问题,因此,解决DDoS攻击问题成为网络服务商必须考虑的头等大事。
DDoS是英文Distributed Denial of Service的缩写,意即分布式拒绝服务,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。
虽然同样是拒绝服务攻击,但是DDoS和DOS还是有所不同,DDoS的攻击策略侧重于通过很多僵尸主机(被攻击者入侵过或可间接利用的主机) 向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为洪水式攻击。
常见的DDoS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等;而DOS则侧重于通过对主机特定漏洞的利用攻击导致网络栈失效、系统崩溃、主机死机而无法提供正常的网络服务功能,从而造成拒绝服务,常见的DOS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。就这两种拒绝服务攻击而言,危害较大的主要是DDoS攻击,原因是很难防范,至于DOS攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范,后文会详细介绍怎么对付DDoS攻击。三、被DDoS了吗?
DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
当然,这样测试的前提是你到服务器主机之间的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地址。

ICMP是完成IP层主要控制功能的辅助协议,它可弥补IP在网络控制方面的不足;而端口通信则是由集成到 *** 作系统内核中的TCP/IP协议,通过软件形式与任何一台具有类似接口计算机进行通信的方式。一台安装有防病毒、网络防火墙的个人电脑,如果还频频受到来自网络上的攻击,除了没有经常更新相应病毒库和网墙数据库,其症结一般都出自 *** 作系统中诸多可随意被打开但并不常用的端口。为了避免恶意者通过网络对你的计算机进行扫描和进一步的入侵动作,关闭ICMP协议及多余的端口是简单并切实有效的解决方法,足以应付大多数恶作剧式的网络攻击。其中后者不仅可以通过Win2000及以上 *** 作系统内部设置进行调整,更能够依靠相应网络防火墙进行关闭工作。
关闭ICMP协议的步骤如下:开始→设置→控制面板→管理工具→本地安全策略→右击“IP安全策略在本地计算机”→管理IP筛选器表和筛选器 *** 作→所有ICMP通讯量→添加→起任意名称后点击“添加”→下一步→任何IP地址→下一步→我的IP地址→协议类型选择“ICMP”→完成。
而要关闭非信任主机对135、TCP4444、UDP69等计算机端口的访问,则有两种方法:其一是通过“管理IP筛选器表和筛选器 *** 作”→添加→起任意名称后点击“添加”→下一步→任何IP地址→下一步→我的IP地址→协议类型选择“TCP”→“从任意端口”到“此端口”并填入相应端口号→完成,这样就成功对一个端口进行了封堵,重复上述步骤即可对其它端口进行相关设置;
另一种方法则是利用目前多数网络防火墙提供的规则设置,对端口号、各IP地址、协议类型、传输方向等选项进行一一添加或更改,同样能够达到封阻可疑端口的目的。
此外,通过关闭DCOM协议也能达到预防部分蠕虫病毒的效能,只是由于禁用该协议会截断一切本地计算机与网络上其余计算机相同对象间的通信,因此运用起来具有一定的风险。预防胜于治疗,良好的用机及上网习惯仍旧是杜绝黑客程序感染的最好方法,毕竟砖石结构的城堡是最容易由内部被攻破的
如果你不想关掉ICMP ,建议你安装一个防火墙,比如下面这款:BitDefender,Jetico Personal Firewall,等等,都能抵御洪水攻击

分类: 电脑/网络 >> 互联网
问题描述:

我的机房经常会死机或掉线,他们说是受到了DDOS攻击,请问他的详细攻击资料以及该如何防御呢

解析:

对于DDOS攻击的详细分解

⒈TCP的工作原理

对于TCP的工作原理,最著名莫过于TCP的三次握手。图示,客户端A发送连接的请求数据报文,标识为SYN,并设定一个初始值得Seq=X,若服务器B答应连接,则返回相应数据报文确认为Ack=X+1,并同时发送逆向连接请求Y。A答应逆向连接返回确认Ack=y+1。
发送SYN,Seq=X

发送SYN,Seq=Y

ACK,Ack=X+1

发送ACK,Ack=Y+1

连接成功!

⒉SYN_FLOOD及ACK_FLOOD攻击

DDoS,也就是分布式拒绝服务攻击的缩写(Distributed denial of service )。

简单的说,拒绝服务就是用超出被攻击目标处理能力x的海量数据包消耗可用系统,带宽资源, 致使目标网络服务瘫痪的一种攻击手段。而分布拒绝服务攻击,就是发起攻击的源地址是分布的,而不是单一的或有规律的。

发送SYN

发送SYN

和ACK对方SYN

不发送ACK包对A确认

并继续发送SYN

不断循环

攻击成功!

简要分析:主机A在短时间内大量的发送该SYN请求连接包,服务器B会大量开辟空间以准备一个又一个的新连接,而A却不发送与服务器B第三次握手的确认数据包。导致B空间无法释放,最终B因为空间耗尽而无法响应其他合法主机的正常连接而导致“拒绝服务”。

在这个过程中,A还可以将发送给B的SYN请求连接包的源地址不断的更改,导致攻击难以追查,并且A还可以控制很多其他的“肉机”D,C等等同时发动攻击,加大攻击力度和攻击效果。

⒊CC攻击

对于大多数的WEB服务器和游戏服务器而言,CC攻击恐怕是最具危险性的了。他的具体工作过程如下图:

同时发送页面请求 对C发送页

面请求

攻击成功 !

简要分析:在CC攻击中,对于A而言,获取大量的代理服务器并非难事,发送页面请求后,会有很多代理服务器同时对C请求页面,由于所申请的页面开销较大,很容易导致C的流量超载和资源耗尽,最终走向“拒绝服务”的道路。而该攻击中,代理服务器其实是合法的,很多服务器都需要和他有相关的服务,所以很难屏蔽由他带来的“骚扰”,同时也导致了这种攻击的难以防范。

⒋UDP,ICMP和DRDOS攻击及其变种

控制肉机 发送请求

或连接

攻击成功!

简要分析:很多时候我们会听到有人说PING死某某。其实是用了ICMP的工作原理。他有如下功能:

0 响应应答(ECHO-REPLY)

3 不可到达

4 源抑制

5 重定向

8 响应请求(ECHO-REQUEST)

11 超时

12 参数失灵

13 时间戳请求

14 时间戳应答

15 信息请求(已作废)

16 信息应答(已作废)

17 地址掩码请求

18 地址掩码应答

左边的数字表示ICMP的类型值,后面是对该类型的简要理解,PING死某某,其实是发送了8号响应请求报文,在没有关闭0号响应应答的服务器会返回一个0号响应应答报文。这样一来,如果带宽或资源处理能力B+D+…>C的话,那么C就无法响应正常其他主机的请求而“拒绝服务”。这是最典型的一种ICMP_FLOOD而已。

如果从这种”比带宽,比资源”的角度来说,那么UDP_FLOOD和DRDOS_FLOOD就算是ICMP_FLOOD的一个变种了吧。所不同的是UDP是利用端口的应答回复。

然而更有趣的是DRDOS_FLOOD攻击,因为以上那些都是通过控制肉机来攻击C的话,DRDOS_FLOOD则是通过“欺骗”很多机器(可以不是肉机)去攻击C,这就好像一个“骗子”A告诉大家说C很有钱,然后大家都一起去C那“打劫”,攻击他。这看上去很玄乎,其实很简单,A发送大量的数据包(比如SYN请求包)给很多机器B,D,…,并伪造源地址为C,当B,D等机器收到报文后误以为是C发来的信息,就都不约而同的给C返回信息。这样就很容易达到“拒绝服务”的效果了!正因为A对各种肉机或机器发送的报文不一样,产生的攻击手段也可以不一样,但是最终效果都是“拒绝服务”,所以就有了很多DDOS攻击的变种。这里就不一一介绍了。

详情点击sharesec或QQ


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10313120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存