7月24th

服务器防御DDOS与TCP高并发攻击

DIY网络文摘我来说两句!

windows系统本身就有很多机制可以用来提高性能和系统安全,其中有不少可以用来应对高并发请求和DDOS攻击的情况。通过以下配置可以改善windows服务器性能:

一、应对高并发请求:

1、TCP连接延迟等待时间 TcpTimedWaitDelay:

这是设定TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT状态或两倍最大段生命周

(2MSL)状态。在此时间内,重新打开到客户机和服务器的连接的成本少于建立新连接。

减少此条目的值允许 TCP/IP更快地释放已关闭的连接,为新连接提供更多资源。

如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT中存在很多连接,导致低吞吐量,则调整此参数。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值TcpTimedWaitDelay设置为 1e(十六进制)


2、最大TCP使用端口 MaxUserPort:

TCP客户端和服务器连接时,客户端必须分配一个动态端口,默认情况下这个动态端口的分配范围为 1024-5000,也就是说默认情况下,客户端最多可以同时发起3977个Socket连接。通过修改调整这个动态端口的范围,可以提高系统的数据吞吐率

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值MaxUserPort设置为 fffe(十六进制)


3、最大TCP控制块 MaxFreeTcbs:

系统为每个TCP连接分配一个TCP控制块,这个控制块用于缓存TCP连接的一些参数,每个TCP连接会占用 1KB 的系统内存。这个参数决定了系统同时可以建立并保持TCP连接数量。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值MaxFreeTcbs设置为 3e80(十六进制)


4、最大TCP哈希表大小 MaxHashTableSize:

TCB是通过哈希表来管理的,这个参数决定了这个哈希表的大小。这个数量越大,则哈希表的冗余度就越高,每次分配和查找 TCP 连接用时就越少。这个值必须是2的幂,且最大为65536。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值MaxHashTableSize设置为 10000(十六进制)


5、保持连接时间 KeepAliveTime:

Windows默认情况下不发送保持活动数据包,但某些TCP包中可能请求保持活动的数据包。保持连接可以被攻击者利用建立大量的连接造成服务器拒绝服务。降低这个参数值有助于系统更快速地断开非活动会话。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值KeepAliveTime设置为 493e0(十六进制)


6、TCP最大数据重发次数 TcpMaxDataRetransmissions

此参数控制TCP在连接异常中止前数据段重新传输的次数。如果这个限定次数内,计算机没有收到任何确认消息,连接将会被终止。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值TcpMaxDataRetransmissions设置为 3


二、应对DDOS攻击:(包括以上设置)

1、SYN攻击防护 SynAttackProtect:


为防范SYN攻击,Windows NT系统的TCP/IP协议栈内嵌了SynAttackProtect机制。

SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值SynAttackProtect设置为 2


2、失效网关检测功能 EnableDeadGWDetect:

当服务器设置了多个网关,在网络不通畅的时候系统会尝试连接第二个网关。允许自动探测失效网关可导致 DoS,关闭它可以优化网络。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值EnableDeadGWDetect设置为 0


3、ICMP重定向功能 EnableICMPRedirect:

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

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值EnableICMPRedirect设置为 0


4、IP源路由限制 DisableIPSourceRouting:

是否禁用IP源路由包,禁用可以提高IP源路由保护级别,用以防范数据包欺骗

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值DisableIPSourceRouting设置为 2


5、路由发现功能 PerformRouterDiscovery:

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

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

及 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

新建DWORD值PerformRouterDiscovery设置为 0


6、服务器名响应功能 NoNameReleaseOnDemand

允许计算机忽略除来自 Windows服务器以外的 NetBIOS名称发布请求。当攻击者发出查询服务器NetBIOS名的请求时,可以使服务器禁止响应。

打开注册表:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值NoNameReleaseOnDemand设置为 1

以上方法只做参考,并不能百分百防御流量攻击,如果你的服务器正在遭受DDOS攻击的迫害请配合软防与硬件防御,方能达到更好的效果。

本文出自:DIY博客园,链接:https://www.diybloghome.com/netdig/447.html,转载请注明!