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

作者: Darren 分类: 服务器安全 发布时间: 2016-04-08 19:22
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攻击的迫害请配合软防与硬件防御,方能达到更好的效果。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注