改注册表方式防DDOS攻击[ZT]

  修改注册表提高Win2000抗拒绝服务攻击能力从正确看待DoS与DDoS说起 相信大家都一定不会对这两个这个词感到陌生,是的,拒绝服务攻击(Denial of Service),以及分布式拒绝服务攻击(Distributed Denial of Service)。 所谓拒绝服务,是指在特定攻击发生后, 被攻击的对象不能及时提供应有的服务,例如本来应提供网站服务(HTTP Service)而不能提供网站服务,电子邮件服务器(SMTP,POP3)不能提供收发信件等等的功能,基本上,阻绝服务攻击通常利用大量的网络数据包,以瘫痪对方之网络及主机,使得正常的使用者无法获得主机及时的服务。 分布式拒绝服务,简单的说就是用远超过目标处理能力的海量数据包消耗可用系统,以及网络带宽,造成网络服务瘫痪。 

  也许是和媒体的过分关注有关,DoS攻击特别是DDoS攻击,似乎一夜之间就流行了起来,搞的大大小小的网管们,只要服务器一有故障,就异常兴奋的高呼“我被DDoS了!”,脸上仿佛写着无比的光荣和骄傲。 其实在我们的周围,真正意义上的DDoS其实并不多,毕竟发动一次DDoS攻击所需要的资源非常的多,但实实在在的攻击却又不停的发生着,这里面,绝大多数,都是普通的拒绝服务攻击。普通级别的攻击,如何防护,也成为很多网络管理员最头疼的问题,于是到处打听,结果往往千篇一律,“购买我们的硬件防火墙吧”。

  硬件防火墙,包括专用抗拒绝服务攻击产品的确是好,但基本价格都十分昂贵,效果虽然好,可从投资以及保护投资的角度来说,未免有些过火。 其实从操作系统角度来说,本身就藏有很多的功能,只是很多是需要我们慢慢的去挖掘的。这里我给大家简单介绍一下如何在Win2000环境下修改注册表,增强系统的抗DoS能力。   

细节: 

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] '关闭无效网关的检查。当服务器设置了多个网关,这样在网络不通畅的时候系统会尝试连接 '第二个网关,通过关闭它可以优化网络。

 "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 '启动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。

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

"DisableIPSourceRouting"=dword:0000002 '限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。 

"TcpTimedWaitDelay"=dword:0000001e  

 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters] '增大NetBT的连接块增加幅度。缺省为3,范围1-20,数值越大在连接越多时提升性能。每个连接块消耗87个字节。

 "BacklogIncrement"=dword:00000003 '最大NetBT的连接快的数目。范围1-40000,这里设置为1000,数值越大在连接越多时允许更多连接。

 "MaxConnBackLog"=dword:000003e8   

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters] '配置激活动态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 

以下部分需要根据实际情况手动修改 '-------------------------------------------------------------------------------------------------

 '[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] '启用网卡上的安全过滤 '"EnableSecurityFilters"=dword:00000001 ' '同时打开的TCP连接数,这里可以根据情况进行控制。 '

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

"TcpMaxSendFree"= ' '[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{自己的网卡接口}] '禁止路由发现功能。ICMP路由通告报文可以被用来增加路由表纪录,可以导致攻击,所以禁止路由发现。 

"PerformRouterDiscovery "=dword:00000000 '

------------------------------------------------------------------------------------------------- 

  写到这里,我自己都有一点晕乎乎的了。呵呵。 从提高系统安全级别对抗DoS的角度来说,上面所做的修改注册表还仅仅是其中一个很小的部分。 

原作者:Sandflee来 源:灰色

原文地址:https://www.cnblogs.com/d9394/p/10611794.html