如何防范tcp syn flood 攻击,第1张

TCP SYN Flood攻 击的原理机制/检测与防范及防御方法 现在的攻击者,无所不在了对于一些攻击手法,很多高 手也都是看在眼里而没什么实质性防范措施除了改端 口,换IP,弄域名还能做什么 本篇文章介绍了TCP SYN Flood攻击的原理机制/检测与防范及防御方法,希望能给大伙一个思路 TCP SYN Flood攻击的机制 客户端通过发送在TCP报头中SYN标志置位的数据分段到服务端来请求建立连接。通常情况下,服务端会按照IP报头中的来源地址来返回SYN/ACK置位 的数据包给客户端,客户端再返回ACK到服务端来完成一个完整的连接(Figure-1)。 在攻击发生时,客户端的来源IP地址是经过伪造的(spoofed),现行的IP路由机制仅检查目的IP地址并进行转发,该IP包到达目的主机后返回 路径无法通过路由达到的,于是目的主机无法通过TCP三次握手建立连接。在此期间因为TCP缓存队列已经填满,而拒绝新的连接请求。目的主机一直尝试直至 超时(大约75秒)。这就是该攻击类型的基本机制。 发动攻击的主机只要发送较少的,来源地址经过伪装而且无法通过路由达到的SYN连接请求至目标主机提供TCP服务的端口,将目的主机的TCP缓存队列 填满,就可以实施一次成功的攻击。实际情况下,发动攻击时往往是持续且高速的。 Figure-3 SYN Flood Attack 这里需要使用经过伪装且无法通过路由达到的来源IP地址,因为攻击者不希望有任何第三方主机可以收到来自目的系 统返回的SYN/ACK,第三方主机会返回一个RST(主机无法判断该如何处理连接情况时,会通过RST重置连接),从而妨碍攻击进行。 Figure-4 IP Spoofing 由此可以看到,这种攻击方式利用了现有TCP/IP协议本身的薄弱环节,而且攻击者可以通过IP伪装有效的隐蔽自己。但对于目的主机来说,由于无法判 断攻击的真正来源。而不能采取有效的防御措施。 TCP SYN Flood检测与防范 一、分析 从上面的分析,可以看出TCP SYN Flood远程拒绝服务攻击具有以下特点: 针对TCP/IP协议的薄弱环节进行攻击; 发动攻击时,只要很少的数据流量就可以产生显著的效果; 攻击来源无法定位; 在服务端无法区分TCP连接请求是否合法。 二、系统检查 一般情况下,可以一些简单步骤进行检查,来判断系统是否正在遭受TCP SYN Flood攻击。 1、服务端无法提供正常的TCP服务。连接请求被拒绝或超时; 2、通过 netstat -an 命 令检查系统,发现有大量的SYN_RECV连接状态。

三、防范 如何才能做到有效的防范呢 1、 TCP Wrapper 使用TCP Wrapper(只有unix-like系统支持该功能,NT可怜)可能在某些有限的场合下有用,比如服务端只处理有限来源IP的TCP连接请求,其它 未指定来源的连接请求一概拒绝。这在一个需要面向公众提供服务的场合下是不适合的。而且攻击者可以通过IP伪装(IP Spoof)来直接攻击受TCP Wrapper保护的TCP服务,更甚者可以攻击者可以伪装成服 务器本身的地址进行攻击。 2、增加TCP Backlog容量 增加TCP Backlog容量是一种治标不治本的做法。它一方面要占用更多的系统内存,另一方面延长了TCP处理缓存队列的时间。攻击者只要不停地的进行SYN Flood一样可以达到拒绝服务的目的。 3、 ISP接入 所有的ISP在边界处理进入的主干网 络的IP数据包时检测其来源地址是否合法,如果非指定来源IP地址范围,可以认为是IP Spoofing行为并将之丢弃。 在实际环境中,应为涉及的范围太过广泛,该方案无法实施。这是一个社会问题而非技 术问题。 TCP SYN Flood检测与防范 一、TCP连接监控(TCP Interception) 为了有效的防范TCP SYN Flood攻击,在保证通过慢速网络的用户可以正常建立到服务端的合法连接的同时,需要尽可能的减少服务端TCP Backlog的清空时间,大多数防 火墙采用了TCP连接监控的工作模式。 1防火墙接到来自用户端Z的SYN连接请求,在本地建立面向该连接的监控表项; 2防火墙将该连接请求之转发至服务端A; 3服务端A相应该连接请求返回SYN/ACK,同时更新与该连接相关联的监控表项; 4防火墙将该SYN/ACK转发至用户端Z; 5防火墙发送ACK至服务端A,同时服务端A中TCP Backlog该连接的表项被移出; 6这时,根据连接请求是否合法,可能有以下两种情况发生: a如果来自用户端Z的连接请求合法,防火墙将该ACK转发至服务端A,服务端A会忽略该ACK,因为一个完整的TCP连接已经建立; b如果来自用户端Z的连接请求非法(来源IP地址非法),没有在规定的时间内收到返回的ACK,防火墙会发送RST至服务端A以拆除该连接。 7开始TCP传输过程。 由此可以看出,该方法具有两个局限: 1不论是否合法的连接请求都直接转发至服务端A,待判断为非法连接(无返回ACK)时才采取措施拆除连接,浪费服务端系统资源; 2防火墙在本地建立表项以监控连接(一个类似TCP Backlog的表),有可能被攻击者利用。 二、天网DoS防御网关 天网防火墙采用经过优化的TCP连接监控工作方式。该方式在处理TCP连接请求的时候,在确定连接请求是否合法以前,用户端Z与服务端A是隔断的。 1防火墙接到来自用户端Z的SYN连接请求; 2防火墙返回一个经过特殊处理的SYN/ACK至客户端Z以验证连接的合法性; 3这时,根据连接请求是否合法,可能有以下两种情况发生: a.防火墙接收到来自客户端Z的ACK回应,该连接请求合法。转至第4步继续; b.防火墙没有接收到来自客户端Z的ACK回应,该连接请求非法,不进行处理; 4防火墙在本地建立面向该连接的监控表项,并发送与该连接请求相关联的SYN至服务端A; 5防火墙接到来自服务端A的SYN/ACK回应; 6防火墙返回ACK以建立一个完整的TCP连接; 7防火墙发送ACK至客户端Z,提示可以开始TCP传输过程。 其中,在第2/3/4/7步过程中,防火墙内部进行了如下操作: 1在第2步中,为了验证连接的合法性,防火墙返回的SYN/ACK是经过特殊处理的,并提示客户端Z暂时不要传送有效数据; 2在第3步中,防火墙接收到来自客户端Z的ACK,检验其合法性。 3在第4步中,防火墙在本地建立面向该连接的监控表项,同时发送与该连接相关的SYN至服务端A; 4在第7步中,防火墙通过将TCP数据传输与监控表项进行比对,并调整序列号和窗口以使之匹配。开始TCP数据传输。 在这里,天网防火墙通过高效的算法(64K位的Hash)提供了超过30万以上的同时连接数的容量,为数据传输的高效和可靠提供了强有力地保障。

希望能帮到你,求采纳。

这台服务器有时候不能完全更新这个应用程序。换句话说,并不是这个应用程序的所有的参数都更新。这时候,纠正这个问题的惟一方法是配置这台服务器  TCP SYN攻击指的是一种常见的拒绝服务攻击。这种攻击可能对主机实施,阻止主机处理连接的工作。这里解释一下,TCP是传输控制协议,是大多数数据在互联网上传输的主要手段。为了使用TCP协议打开互联网上的一台主机的连接,在客户机和服务器之间将产生“三次握手”。  这个握手的第一部分包括客户机发送一个TCP SYN数据包。然后,服务器接受这个数据包。这个问题一般来说可能是服务器在即将完成的握手状态方面有连接数量的限制,在有可用的资源之前,服务器可能拒绝提供进一步的连接服务。这与你介绍的症状相似。由于发送一个SYN数据包的开销很小,即使在一个低带宽连接上的一台客户机也能够实施会造成重大破坏的攻击。网络提供商不采取源地址过滤的措施将使这个问题更加严重,能够让攻击者有效地隐藏他们的身份。  通用的解决方案包括使用能够承受这种攻击的服务器。当然,这种事说起来总比做起来要容易,因此,保护网站安全首选的方式一般都包括使用一种能够阻止这种攻击触及服务器的通信管理设备。当使用这种设备时,人们应该评估这种设备不仅能够封锁这种攻击,而且对用户的使用还不会产生任何不利的影响。

UDP攻击,又称UDP洪水攻击或UDP淹没攻击(英文:UDP Flood Attack)是导致基於主机的服务拒绝攻击的一种。UDP 是一种无连接的协议,而且它不需要用任何程序建立连接来传输数据。当攻击者随机地向受害系统的端口发送 UDP 数据包的时候,就可能发生了 UDP 淹没攻击。

关于SYN攻击防范技术,人们研究得比较早。归纳起来,主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范但必须清楚的是,SYN攻击100%能用防火墙完全阻止,不会设置防火墙者例外。 SYN Flood利用TCP协议缺陷,发送了大量伪造的TCP连接请求,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。一个正常的TCP连接需要三次握手,首先客户端发送一个包含SYN标志的数据包,其后服务器返回一个SYN/ACK的应答包,表示客户端的请求被接受,最后客户端再返回一个确认包ACK,这样才完成TCP连接。在服务器端发送应答包后,如果客户端不发出确认,服务器会等待到超时,期间这些半连接状态都保存在一个空间有限的缓存队列中;如果大量的SYN包发到服务器端后没有应答,就会使服务器端的TCP资源迅速耗尽,导致正常的连接不能进入,甚至会导致服务器的系统崩溃。

希望能帮到楼主 满意请给分 谢谢

一,首先服务器一定要把administrator禁用,设置一个陷阱账号:"Administrator"把它权限降至最低,然后给一套非常复杂的密码,重新建立

一个新账号,设置上新密码,权限为administraor

然后删除最不安全的组件:

建立一个BAT文件,写入

regsvr32/u C:\WINDOWS\System32\wshomocx

del C:\WINDOWS\System32\wshomocx

regsvr32\u C:\WINDOWS\system32\shell32dll

del C:\WINDOWS\system32\shell32dll

二,IIS的安全:

  1、不使用默认的Web站点,如果使用也要将 将IIS目录与系统磁盘分开。

  2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。

  3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。

  4、删除不必要的IIS扩展名映射。

  右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为shtml, shtm, stm

  5、更改IIS日志的路径

  右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性

  6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE60的版本不需要。

  八、其它

  1、 系统升级、打操作系统补丁,尤其是IIS 60补丁、SQL SP3a补丁,甚至IE 60补丁也要打。同时及时跟踪最新漏洞补丁;

  2、停掉Guest 帐号、并给guest 加一个异常复杂的密码,把Administrator改名或伪装!

  3、隐藏重要文件/目录

  可以修改注册表实现完全隐藏:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi

-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0

  4、启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。

  5、防止SYN洪水攻击

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  新建DWORD值,名为SynAttackProtect,值为2

EnablePMTUDiscovery 值为0

NoNameReleaseOnDemand 值为1

EnableDeadGWDetect 值为0

KeepAliveTime 值为300,000

PerformRouterDiscovery 值为0

EnableICMPRedirects 值为0

  6 禁止响应ICMP路由通告报文

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface

  新建DWORD值,名为PerformRouterDiscovery 值为0

  7 防止ICMP重定向报文的攻击

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  将EnableICMPRedirects 值设为0

  8 不支持IGMP协议

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  新建DWORD值,名为IGMPLevel 值为0

  9、禁用DCOM:

  运行中输入 Dcomcnfgexe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。

  对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。

  清除“在这台计算机上启用分布式 COM”复选框。

10禁用服务里的

Workstation 这服务开启的话可以利用这个服务,可以获取服务器所有帐号

11阻止IUSR用户提升权限

三,这一步是比较关键的(禁用CMD运行)

运行-gpeditmsc-管理模板-系统

-阻止访问命令提示符

-设置

-已启用(E)

-也停用命令提示符脚本处理吗

(是)

四,防止SQL注入

打开SQL Server,在master库用查询分析器执行以下语句:

exec sp_dropextendedproc 'xp_cmdshell

使用了以上几个方法后,能有效保障你的服务器不会随便被人黑或清玩家数据,当然我技术有限,有的高手还有更多方法入侵你的服务器,这

需要大家加倍努力去学习防黑技术,也希望高手们对我的评论给予指点,修正出更好的解决方案,对玩家的数据做出更有力的保障~~~

原理:在SYN Flood攻击中,利用TCP三次握手协议的缺陷,攻击者向目标主机发送大量伪造源地址的TCP SYN报文,目标主机分配必要的资源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包。由于源地址是伪造的,所以源端永远都不会返回ACK报文,受害主机继续发送SYN+ACK包,并将半连接放入端口的积压队列中,虽然一般的主机都有超时机制和默认的重传次数,但由于端口的半连接队列的长度是有限的,如果不断的向受害主机发送大量的TCP SYN报文,半连接队列就会很快填满,服务器拒绝新的连接,将导致该端口无法响应其他机器进行的连接请求,最终使受害主机的资源耗尽。

防范手段:

�8�5 优化系统配置:包括缩短超时时间,增加半连接队列的长度,关闭不重要的服务等。

�8�5 优化路由器配置:配置路由器的内、外网卡。

�8�5 完善基础设施:增加源IP地址检查机制等。

�8�5 使用防火墙:采用半透明网关技术的放火墙可有效防范SYN Flooding攻击

�8�5 主动监视:监视TCP/IP流量,收集通信控制信息,分析状态,辨别攻击行为。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何防范tcp syn flood 攻击

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情