当前位置: 首页 > news >正文

windows服务器应对高并发和DDOS攻击

windows系统本身就有很多机制可以用来提高性能和安全,其中有不少可以用来应对高并发请求和DDOS攻击的情况。

通过以下配置可以改善windows服务器性能:

一、应对高并发请求:

1TCP连接延迟等待时间TcpTimedWaitDelay

这是设定TCP/IP可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称TIME_WAIT状态或两倍最大段生命周期(2MSL)状态。在此时间内,重新打开到客户机和服务器的连接的成本少于建立新连接。减少此条目的值允许TCP/IP更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于TIME_WAIT中存在很多连接,导致低吞吐量,则调整此参数。缺省值240秒,最小30秒,最大300秒,建议设为30秒。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpTimedWaitDelay"=dword:0000001e

2、最大TCP使用端口MaxUserPort:

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"MaxUserPort"=dword:000ffffe

3、保持连接时间KeepAliveTime:

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"KeepAliveTime"=dword:000493e0

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

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000003
5、TCP连接最大重发次数TcpMaxConnectResponseRetransmissions

此参数设定SYN-ACK等待时间,可以用来提高系统的网络性能。缺省时间为3,消耗时间为45秒;项值为2,消耗时间为21秒;项值为1,消耗时间为9秒;项值为0,表示不等待,消耗时间为3秒

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxConnectResponseRetransmissions"=dword:00000002

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

1、SYN攻击防护SynAttackProtect:

为防范SYN攻击,Windows NT系统的TCP/IP协议栈内嵌了SynAttackProtect机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000002

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

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableDeadGWDetect"=dword:00000000

3、ICMP重定向功能EnableICMPRedirect:

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableICMPRedirect"=dword:00000000

4、IP源路由限制DisableIPSourceRouting:

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DisableIPSourceRouting"=dword:00000002

5、路由发现功能PerformRouterDiscovery:

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"PerformRouterDiscovery"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]
"PerformRouterDiscovery"=dword:00000000

6、服务器名响应功能NoNameReleaseOnDemand

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"NoNameReleaseOnDemand"=dword:00000001

7、Internet组管理协议级别 IGMPLevel

用于控制系统在多大程度上支持IP组播和参与Internet组管理协议。缺省值为2,支持发送和接收组播数据;项值为1表示只支持发送组播数据;项值为0表示不支持组播功能。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"IGMPLevel"=dword:00000000

8、匿名访问限制 RestrictAnonymous

用于禁止匿名访问查看用户列表和安全权限。匿名访问可以使连接者与目标主机建立一条空连接而无需用户名和密码,利用这个空连接,连接者可以得到用户列表。有了用户列表,就可以穷举猜测密码。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000001

参考文章:

1、http://technet.microsoft.com/library/dd349797(v=ws.10).aspx
2、http://technet.microsoft.com/library/cc708591(v=WS.10).aspx
3、http://technet.microsoft.com/library/cc163074.aspx
4、http://technet.microsoft.com/library/cc940037.aspx
5、http://www.isi.edu/touch/pubs/infocomm99/infocomm99-web
6、http://support.microsoft.com/default.aspx?scid=kb;EN-US;q120642

相关文章:

  • 公开课可下载资源汇总
  • 将solr3.5整合到Tomcat6.x中
  • 自己写Lucene分词器原理篇——ChineseAnalyzer简单讲解
  • 一个Java程序员应该掌握的10项技能
  • 自己写Lucene分词器示例篇——写一个简单点额分析器
  • java中的接口和抽象类是什么?
  • 并查集专题【完结】
  • Apache配置优化
  • hdu1010 Tempter of the Bone 成长---纠错
  • lucene 4.x中如何只存储不做索引
  • Win32_8有意思的程序——抓取屏幕
  • php调试和日志记录函数
  • Android实战技术:IPC方式简介教程
  • SICP 习题(1.1,1.2,1.3,1.4)解题总结。
  • linux终端开发环境的配置
  • 深入了解以太坊
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • ECMAScript入门(七)--Module语法
  • extjs4学习之配置
  • Javascript Math对象和Date对象常用方法详解
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java多线程(4):使用线程池执行定时任务
  • JDK 6和JDK 7中的substring()方法
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • php面试题 汇集2
  • Promise面试题2实现异步串行执行
  • Spark学习笔记之相关记录
  • spring boot下thymeleaf全局静态变量配置
  • ucore操作系统实验笔记 - 重新理解中断
  • use Google search engine
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 不上全站https的网站你们就等着被恶心死吧
  • 仿天猫超市收藏抛物线动画工具库
  • 记一次和乔布斯合作最难忘的经历
  • 马上搞懂 GeoJSON
  • 前端存储 - localStorage
  • 走向全栈之MongoDB的使用
  • Python 之网络式编程
  • 关于Android全面屏虚拟导航栏的适配总结
  • #if #elif #endif
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (力扣题库)跳跃游戏II(c++)
  • (实战篇)如何缓存数据
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .net framework profiles /.net framework 配置
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .pyc文件是什么?
  • .so文件(linux系统)
  • /3GB和/USERVA开关