标题:修改注册表防止SYN淹没式攻击 出处:gOxiA=苏繁=SuFan Blog 时间:Fri, 26 Nov 2004 13:47:50 +0000 作者:gOxiA 地址:https://goxia.maytide.net/read.php/761.htm 内容: 相关的值项在 HKLMSYSTEMCurrentControlSetServiceTcpipParameters下。 1) DWORD:SynAttackProtect:定义了是否允许SYN淹没攻击保护,值1表示允许起用WIN2000的SYN淹没攻击保护。 2) DWORD:TcpMaxConnectResponseRetransmissions:定义了对于连接请求回应包的重发次数。值为1,则SYN淹没攻击不会有效果,但是这样会造成连接请求失败几率的增高。SYN淹没攻击保护只有在该值>=2时才会被启用,默认值为3。 (上边两个值定义是否允许SYN淹没攻击保护,下面三个则定义了激活SYN淹没攻击保护的条件,满足其中之一,则系统自动激活SYN淹没攻击保护。) 3) DWORD:TcpMaxHalfOpen:定义能够处于SYN_RECEIVED状态的TCP连接的数目。默认值100。 4) TcpMaxHalfOpenRetried:定义在重新发送连接请求后,仍然处于SYN_RECEIVED状态的TCP连接的数目。默认值80。 5) TcpMaxPortsExhausted:定义系统拒绝连接请求的次数。默认值5。 减小syn-ack包的响应时间。 HKLMSYSTEMCurrentControlSetServicesTcpipParametersTcpMaxConnectResponseRetransmissions定义了重发SYN-ACK包的次数。 增大NETBT的连接块增加幅度和最大数器。NETBT使用139端口。 HKLMSYSTEMCurrentControlSetServicesNetBtParametersBacklogIncrement默认值为3,最大20,最小1。 HKLMSYSTEMCurrentControlSetServicesNetBtParametersMaxConnBackLog默认值为1000,最大可取40000。 动态配置Backlog。 相关的值项在HKLMSYSTEMCurrentControlSetServiceAFDParameters下 1) DWORD:EnableDynamicBacklog:定义是否允许动态Backlog,默认为0,1为允许。 2) DWORD:MinimumDynamicBacklog:定义动态Backlog分配的未使用的自由连接的最小数目。默认值为0,建议设为20。 3) DWORD:MaximumDynamicBacklog:定义最大“准”连接数目。大小取决于内存的大小,一般每32M最大可以增加5000个。 4) DWORD:DynamicBacklogGrowthDelta:定义每次增加的自由连接数目,建议设置为10。 10)、预防DoS: 在注册表HKLMSYSTEMCurrentControlSetServicesTcpipParameters中更改以下值可以防御一定强度的DoS攻击 SynAttackProtect REG_DWORD 2 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 11)、防止ICMP重定向报文的攻击 HKLMSYSTEMCurrentControlSetServicesTcpipParametersEnableICMPRedirects REG_DWORD 0x0(默认值为0x1) 该参数控制Windows 2000是否会改变其路由表以响应网络设备(如路由器)发送给它的ICMP重定向消息,有时会被利用来干坏事。Win2000中默认值为1,表示响应ICMP重定向报文。 12)、禁止响应ICMP路由通告报文 HKLMSYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterfacePerformRouterDiscovery REG_DWORD 0x0(默认值为0x2) “ICMP路由公告”功能可造成他人计算机的网络连接异常,数据被窃听,计算机被用于流量攻击等严重后果。此问题曾导致校园网某些局域网大面积,长时间的网络异常。建议关闭响应ICMP路由通告报文.Win2000中默认值为2,表示当DHCP发送路由器发现选项时启用。 13)、设置生存时间 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersDefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128) 指定传出IP数据包中设置的默认生存时间(TTL)值。TTL决定了IP数据包在到达目标前在网络中生存的最大时间。它实际上限定了IP数据包在丢弃前允许通过的路由器数量.有时利用此数值来探测远程主机*作系统。 14)、不支持IGMP协议 HKLMSYSTEMCurrentControlSetServicesTcpipParametersIGMPLevel REG_DWORD 0x0(默认值为0x2) 记得Win9x下有个bug,就是用可以用IGMP使别人蓝屏,修改注册表可以修正这个bug。Win2000虽然没这个bug了,但IGMP并不是必要的,因此照样可以去掉。改成0后用route print将看不到那个讨厌的224.0.0.0项了。 15)、设置arp缓存老化时间设置 HKLMSYSTEMCurrentControlSetServices:TcpipParameters ArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒数,默认值为120秒) ArpCacheMinReferencedLife REG_DWORD 0-0xFFFFFFFF(秒数,默认值为600) 如果ArpCacheLife大于或等于ArpCacheMinReferencedLife,则引用或未引用的ARP缓存项在ArpCacheLife秒后到期。如果ArpCacheLife小于ArpCacheMinReferencedLife,未引用项在ArpCacheLife秒后到期,而引用项在ArpCacheMinReferencedLife秒后到期。每次将出站数据包发送到项的IP地址时,就会引用ARP缓存中的项。 Generated by Bo-blog 2.1.1 Release