如何修改系统注册表防止TCP SYN洪水攻击?

    类别:业界动态  贡献者:admin  总点击:2510  受欢迎度:10  更新日期:2016年06月04日
简介:如何修改系统注册表防止TCP SYN洪水攻击?SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。.
  • 如何修改系统注册表防止TCP SYN洪水攻击?

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

    为防范SYN攻击,win2000系统的tcp/ip协议栈内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Win2000操作系统并不支持SynAttackProtect保护机制,需要在注册表以下位置增加SynAttackProtect键值:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    当SynAttackProtect值(如无特别说明,本文提到的注册表键值都为十六进制)为0或不设置时,系统不受SynAttackProtect保护。

    当SynAttackProtect值为2时,系统通过减少重传次数和延迟未连接时路由缓冲项(route cache entry)防范SYN攻击。

    修改注册表,防止SYN攻击

    一、单击“开始”——“运行”输入“regedit”,单击“确定”按钮,打开注册表。

    二、找到注册表位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    新建DWORD值,名为SynAttackProtect。

    三、点击右键修改 SynAttackProtec t键值的属性。

    三、在弹出的“编辑DWORD值”对话框数值数据栏中输入“2”

    四、单击“确定”,继续在注册表中添加下列键值,防范SYN洪水攻击。

    EnablePMTUDiscovery REG_DWORD 0

    NoNameReleaseOnDemand REG_DWORD 1

    EnableDeadGWDetect REG_DWORD 0

    KeepAliveTime REG_DWORD 300,000

    PerformRouterDiscovery REG_DWORD 0

    EnableICMPRedirects REG_DWORD 0
     

    Windows2003下预防DDos攻击的注册表设置简单教程

    DDos攻击无法从根本上防御,其基本思路就是拥有足够大的带宽来抵御,常用的方法有:DNS轮询,负载均衡等,也即用分布式的架构来抵御分布式的攻击。对于单个服务器来说,适当的对其进行调增也可以增强单台抗攻击的能力。
    Windows Registry Editor Version 5.00

     代码如下 复制代码 
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters] 


    ;启动SYN攻击保护 =================
    ;缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后安全级别更高。
    ;对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值设定的条件来触发启动了。
    ;这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。

     代码如下 复制代码 
    "SynAttackProtect"=dword:00000002 


    ;同时允许打开的半连接数量
    ;所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态的就是。
    ;这里使用微软建议值,服务器设为100,高级服务器设为500。

     代码如下 复制代码 
    TcpMaxHalfOpen=dword:00000064 


    ;判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。

     代码如下 复制代码 
    TcpMaxHalfOpenRetried=dword:00000050 


    ;设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。
    ;项值为2,消耗时间为21秒。项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。
    ;这个值可以根据遭受攻击规模修改。微软站点安全推荐为2。

     代码如下 复制代码 
    TcpMaxConnectResponseRetransmissions=dword:00000001 


    ;设置TCP重传单个数据段的次数。
    ;缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。

     代码如下 复制代码 
    TcpMaxDataRetransmissions=dword:00000003 


    ;设置syn攻击保护的临界点。
    ;当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。

     代码如下 复制代码 
    TCPMaxPortsExhausted=dword:00000005 


     
    ;网关相关设置 =================
    ;关闭无效网关的检查。
    ;当服务器设置了多个网关,这样在网络不通畅的时候系统会尝试连接第二个网关,通过关闭它可以优化网络。

     代码如下 复制代码 
    EnableDeadGWDetect=dword:00000000 


    ;禁止响应ICMP重定向报文。此类报文有可能用以攻击,所以系统应该拒绝接受ICMP重定向报文。

     代码如下 复制代码 
    EnableICMPRedirects=dword:00000000 


    ;不允许释放NETBIOS名。
    ;当攻击者发出查询服务器NETBIOS名的请求时,可以使服务器禁止响应。注意系统必须安装SP2以上!

     代码如下 复制代码 
    NoNameReleaseOnDemand=dword:00000001 


    ;发送验证保持活动数据包。该选项决定TCP间隔多少时间来确定当前连接还处于连接状态
    ;不设该值,则系统每隔2小时对TCP是否有闲置连接进行检查,这里设置时间为5分钟。

     代码如下 复制代码 
    KeepAliveTime=dword:000493e0 


    ;禁止进行最大包长度路径检测。
    ;该项值为1时,将自动检测出可以传输的数据包的大小,可以用来提高传输效率。
    ;如出现故障或安全起见,设项值为0,表示使用固定MTU值576bytes。

     代码如下 复制代码 
    EnablePMTUDiscovery=dword:00000000 


    ;禁止IP源路由。缺省项值为1,表示不转发源路由包。
    ;项值设为0,表示全部转发,设置为2,表示丢弃所有接受的源路由包,微软站点安全推荐为2。

     代码如下 复制代码 
    DisableIPSourceRouting=dword:0000002 


    ;限制处于TIME_WAIT状态的最长时间。
    ;缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。

     代码如下 复制代码 
    TcpTimedWaitDelay=dword:0000001e 


     
    ;NetBT相关设置 =================

     代码如下 复制代码 
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters] 


    ;增大NetBT的连接块增加幅度。
    ;缺省为3,范围1-20,数值越大在连接越多时提升性能。每个连接块消耗87个字节。

     代码如下 复制代码 
    BacklogIncrement=dword:00000003 


    ;最大NetBT的连接快的数目。
    ;范围1-40000,这里设置为1000,数值越大在连接越多时允许更多连接。

     代码如下 复制代码 
    MaxConnBackLog=dword:000003e8 


     
    ;Backlog相关设置 =================

     代码如下 复制代码 
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAfdParameters] 


    ;配置激活动态Backlog。对于网络繁忙或者易遭受SYN攻击的系统,建议设置为1,表示允许动态Backlog。

     代码如下 复制代码 
    EnableDynamicBacklog=dword:00000001 


    ;配置最小动态Backlog。默认项值为0,表示动态Backlog分配的自由连接的最小数目。
    ;当自由连接数目低于此数目时,将自动的分配自由连接。默认值为0,对于网络繁忙或者易遭受SYN攻击的系统,建议设置为20。

     代码如下 复制代码 
    MinimumDynamicBacklog=dword:00000014 


    ;最大动态Backlog。表示定义最大准连接的数目,主要看内存大小
    ;理论每32M内存最大可以增加5000个,这里设为20000。

     代码如下 复制代码 
    MaximumDynamicBacklog=dword:00002e20 


    ;每次增加的自由连接数据。默认项值为5,表示定义每次增加的自由连接数目。
    ;对于网络繁忙或者易遭受SYN攻击的系统,建议设置为10。

     代码如下 复制代码 
    DynamicBacklogGrowthDelta=dword:0000000a 

    以下部分需要根据实际情况手动修改,请不要直接执行下面的reg文件

    Windows Registry Editor Version 5.00

     代码如下 复制代码 
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters] 


    ;启用网卡上的安全过滤

     代码如下 复制代码 
    EnableSecurityFilters=dword:00000001 


    ;同时打开的TCP连接数,这里可以根据情况进行控制。
    "

     代码如下 复制代码 
    TcpNumConnections"=dword:000f4240 


    ;该参数控制 TCP 报头表的大小限制。在有大量 RAM 的机器上,增加该设置可以提高 SYN 攻击期间的响应性能。

     代码如下 复制代码 
    TcpMaxSendFree= 


     
    ;下面注意换成自己的网卡接口,查看哪个是当前使用的接口,一般通过配置的IP就知道了。

     代码如下 复制代码 
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{修改成自己的网卡接口}] 


    ;禁止路由发现功能。ICMP路由通告报文可以被用来增加路由表纪录,可以导致攻击,所以禁止路由发现。

     代码如下 复制代码 
    "PerformRouterDiscovery"=dword:00000000 

    当然,最好的情况下还是使用Linux系统,这样除了系统自身的因素因为,可以选择的方案也比较多

    来源:网址:

    http://www.111cn.net/sys/Windows/43432.htm

    http://www.bingdun.com/news/security/6864_0.htm

    做网页(zuowangye.com)

    补充本知识点暨快乐评论此文章:'如何修改系统注册表防止TCP SYN洪水攻击?.'

文章标签:SYN攻击 
踩下去0
顶上来0
复制本页网址,与你QQ/MSN上的好友分享  温馨提示:如果您喜欢本站,请把她推荐给您的朋友们!
现在有0人对本文发表评论。  »马上发布评论
现在有0人对本文发表评论。  »查看所有评论
您的姓名: * 可选项,留空即为匿名发表
评论内容:
剩余字数:  * 按 Ctrl + Enter 直接发送.
           »»我要分享做网页知识
相关文章推荐
网友阅读排行
业界动态
本站会员贡献
合作伙伴: 百度站长平台 新浪读书频道 CSDN.Net YPState R灯具集 小金子学院 商录 全球网站推广库 搜狗站长平台 网页百科 更多» >>加入本站作者团
首页 | 关于我们 | 网站地图 | 合作伙伴 | 部分作者 | 会员注册 友情链接 | 联系方式 |
2004-2020 做网页学习网 鄂公网安备 42010402000280号 鄂ICP备13003030号