转自Microsoft-DDOS处理参考-如何:强化 TCP/IP 堆栈安全

http://www.microsoft.com/china/technet/security/guidance/secmod109.mspx

如何:强化 TCP/IP 堆栈安全

更新日期: 2004年04月12日

本页内容
目标
适用范围
如何使用本模块
摘要
必备知识
抵御 SYN 攻击
抵御 ICMP 攻击
抵御 SNMP 攻击
AFD.SYS 保护
其他保护
缺陷
其他资源

目标

使用本模块可以实现:


强化服务器的 TCP/IP 堆栈安全


保护服务器免遭“拒绝服务”和其他基于网络的攻击


在检测到攻击时启用 SYN 洪水攻击保护


设置用于确认是什么构成攻击的阈值

返回页首

适用范围

本模块适用于下列产品和技术:


Microsoft Windows 2000 Server 和 Windows 2000 Advanced Server

返回页首

如何使用本模块

默认情况下,本模块中的一些注册表项和值可能不存在。在这些情况下,请创建这些注册表项、值和数值数据。

有关 Windows 2000 控制的 TCP/IP 网络设置的注册表的详细信息,请参阅白皮书“Microsoft Windows 2000 TCP/IP Implementation Details”,网址为 http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/network/deploy/depovg/tcpip2k.asp(英文)

注意:这些设置会修改服务器上 TCP/IP 的工作方式。Web 服务器的特征将确定触发拒绝服务对策的最佳阈值。对于客户端的连接,一些值可能过于严格。在将本模块的建议部署到产品服务器之前,要对这些建议进行测试。

返回页首

摘要

TCP/IP 堆栈负责处理传入和传出的 IP 数据包,并将数据包中的数据路由到要处理它们的应用程序。默认情况下,TCP/IP 天生就是一个不安全的协议。但是,Microsoft Windows 2000 版本允许您配置其操作,以抵御网络级别的大多数拒绝服务攻击。

本模块解释如何强化 TCP/IP 堆栈的安全,以及如何在 Windows 注册表内配置各种 TCP/IP 参数,以便保护服务器免遭网络级别的拒绝服务攻击,包括 SYS 洪水攻击、ICMP 攻击和 SNMP 攻击。

返回页首

必备知识

可以在 Windows 注册表内配置各种 TCP/IP 参数,以便保护服务器免遭网络级别的拒绝服务攻击,包括 SYS 洪水攻击、ICMP 攻击和 SNMP 攻击。可以配置注册表项,以便:


在检测到攻击时启用 SYN 洪水攻击保护机制。


设置用于确认构成攻击的阈值。

本“如何”向管理员介绍必须配置哪些注册表项和注册表值,以抵御基于网络的拒绝服务攻击。

注意 这些设置会修改服务器上 TCP/IP 的工作方式。Web 服务器的特征将确定触发拒绝服务对策的最佳阈值。对于客户端的连接,一些值可能过于严格。在将本文档的建议部署到产品服务器之前,应当测试这些建议。

TCP/IP 天生就是一个不安全的协议。但是,Windows 2000 版本允许您配置其操作,以抵御网络级别的拒绝服务攻击。默认情况下,本“如何”中引用的一些注册表项和值可能不存在。在这些情况下,请创建这些注册表项、值和值数据。

有关 Windows 2000 的注册表所控制的 TCP/IP 网络设置的详细信息,请参阅白皮书“Microsoft Windows 2000 TCP/IP Implementation Details”,网址为 http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/network/deploy/depovg/tcpip2k.asp(英文)。

返回页首

抵御 SYN 攻击

SYN 攻击利用了 TCP/IP 连接建立机制中的安全漏洞。要实施 SYN 洪水攻击,攻击者会使用程序发送大量 TCP SYN 请求来填满服务器上的挂起连接队列。这会禁止其他用户建立网络连接。

要保护网络抵御 SYN 攻击,请按照下面这些通用步骤操作(这些步骤将在本文档的稍后部分进行说明):


启用 SYN 攻击保护


设置 SYN 保护阈值


设置其他保护

启用 SYN 攻击保护

启用 SYN 攻击保护的命名值位于此注册表项的下面:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

值名称SynAttackProtect

建议值: 2

有效值: 0 – 2

说明:使 TCP 调整 SYN-ACK 的重传。配置此值后,在遇到 SYN 攻击时,对连接超时的响应将更快速。在超过 TcpMaxHalfOpenTcpMaxHalfOpenRetried 的值后,将触发 SYN 攻击保护。

设置 SYN 保护阈值

下列值确定触发 SYN 保护的阈值。这一部分中的所有注册表项和值都位于注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 的下面。这些注册表项和值是:


值名称TcpMaxPortsExhausted
建议值: 5
有效值: 0 – 65535
说明:指定触发 SYN 洪水攻击保护所必须超过的 TCP 连接请求数的阈值。


值名称TcpMaxHalfOpen
建议的数值数据: 500
有效值: 100 – 65535
说明:在启用 SynAttackProtect 后,该值指定处于 SYN_RCVD 状态的 TCP 连接数的阈值。在超过 SynAttackProtect 后,将触发 SYN 洪水攻击保护。


值名称TcpMaxHalfOpenRetried
建议的数值数据: 400
有效值: 80 – 65535
说明:在启用 SynAttackProtect 后,该值指定处于至少已发送一次重传的 SYN_RCVD 状态中的 TCP 连接数的阈值。在超过 SynAttackProtect 后,将触发 SYN 洪水攻击保护。

设置其他保护

这一部分中的所有注册表项和值都位于注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 的下面。这些注册表项和值是:


值名称TcpMaxConnectResponseRetransmissions
建议的数值数据: 2
有效值: 0 – 255
说明:控制在响应一次 SYN 请求之后、在取消重传尝试之前 SYN-ACK 的重传次数。


值名称TcpMaxDataRetransmissions
建议的数值数据: 2
有效值: 0 – 65535
说明:指定在终止连接之前 TCP 重传一个数据段(不是连接请求段)的次数。


值名称EnablePMTUDiscovery
建议的数值数据: 0
有效值: 0, 1
说明:将该值设置为 1(默认值)可强制 TCP 查找在通向远程主机的路径上的最大传输单元或最大数据包大小。攻击者可能将数据包强制分段,这会使堆栈不堪重负。对于不是来自本地子网的主机的连接,将该值指定为 0 可将最大传输单元强制设为 576 字节。


值名称KeepAliveTime
建议的数值数据: 300000
有效值: 80 – 4294967295
说明:指定 TCP 尝试通过发送持续存活的数据包来验证空闲连接是否仍然未被触动的频率。


值名称NoNameReleaseOnDemand
建议的数值数据: 1
有效值: 0, 1
说明:指定计算机在收到名称发布请求时是否发布其 NetBIOS 名称。

使用表 1 中汇总的值可获得最大程度的保护。

表 1:建议值

值名称 值 (REG_DWORD)

SynAttackProtect


2


TcpMaxPortsExhausted


1


TcpMaxHalfOpen


500


TcpMaxHalfOpenRetried


400


TcpMaxConnectResponseRetransmissions


2


TcpMaxDataRetransmissions


2


EnablePMTUDiscovery


0


KeepAliveTime


300000(5 分钟)


NoNameReleaseOnDemand


1

返回页首

抵御 ICMP 攻击

这一部分的命名值都位于注册表项 HKLM\System\CurrentControlSet\Services\AFD\Parameters 的下面

EnableICMPRedirect
建议的数值数据: 0
有效值:0(禁用),1(启用)
说明:通过将此注册表值修改为 0,能够在收到 ICMP 重定向数据包时禁止创建高成本的主机路由。

使用表 2 中汇总的值可以获得最大程度的保护:

表 2:建议值

值名称 值 (REG_DWORD)

EnableICMPRedirect


0

返回页首

抵御 SNMP 攻击

这一部分的命名值位于注册表项 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters 的下面。

EnableDeadGWDetect
建议的数值数据: 0
有效值:0(禁用),1(启用)
说明:禁止攻击者强制切换到备用网关

使用表 3 中汇总的值可以获得最大程度的保护:

表 3:建议值

值名称 值 (REG_DWORD)

EnableDeadGWDetect


0

返回页首

AFD.SYS 保护

下面的注册表项指定内核模式驱动程序 Afd.sys 的参数。Afd.sys 用于支持 Windows Sockets 应用程序。这一部分的所有注册表项和值都位于注册表项 HKLM\System\CurrentControlSet\Services\AFD\Parameters 的下面。这些注册表项和值是:


值 EnableDynamicBacklog
建议的数值数据: 1
有效值:0(禁用),1(启用)
说明:指定 AFD.SYS 功能,以有效处理大量的 SYN_RCVD 连接。有关详细信息,请参阅“Internet Server Unavailable Because of Malicious SYN Attacks”,网址为 http://support.microsoft.com/default.aspx?scid=kb;en-us;142641(英文)。


值名称MinimumDynamicBacklog
建议的数值数据: 20
有效值: 0 – 4294967295
说明:指定在侦听的终结点上所允许的最小空闲连接数。如果空闲连接的数目低于该值,线程将被排队,以创建更多的空闲连接


值名称:MaximumDynamicBacklog
建议的数值数据: 20000
有效值: 0 – 4294967295
说明:指定空闲连接以及处于 SYN_RCVD 状态的连接的最大总数。


值名称DynamicBacklogGrowthDelta
建议的数值数据: 10
有效值: 0 – 4294967295
默认情况下是否出现:否
说明:指定在需要增加连接时将要创建的空闲连接数。

使用表 4 中汇总的值可以获得最大程度的保护。

表 4:建议值

值名称 值 (REG_DWORD)

EnableDynamicBacklog


1


MinimumDynamicBacklog


20


MaximumDynamicBacklog


20000


DynamicBacklogGrowthDelta


10

返回页首

其他保护

这一部分的所有注册表项和值都位于注册表项 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters 的下面。

保护屏蔽的网络细节

网络地址转换 (NAT) 用于将网络与传入连接屏蔽开来。攻击者可能规避此屏蔽,以便使用 IP 源路由来确定网络拓扑。

DisableIPSourceRouting
建议的数值数据: 1
有效值:0(转发所有数据包),1(不转发源路由数据包),2(丢弃所有传入的源路由数据包)。
说明:禁用 IP 源路由,后者允许发送者确认数据报在网络中应采用的路由。

避免接受数据包片段

处理数据包片段可以是高成本的。虽然拒绝服务很少来自外围网络内,但此设置能防止处理数据包片段。

EnableFragmentChecking
建议的数值数据: 1
有效值:0(禁用),1(启用)
说明:禁止 IP 堆栈接受数据包片段。

切勿转发去往多台主机的数据包

多播数据包可能被多台主机响应,从而导致响应淹没网络。

EnableMulticastForwarding
建议的数值数据: 0
有效范围:0 (false),1 (true)
说明:路由服务使用此参数来控制是否转发 IP 多播。此参数由路由和远程访问服务创建。

只有防火墙可以在网络间转发数据包

多主机服务器切勿在它所连接的网络之间转发数据包。明显的例外是防火墙。

IPEnableRouter
建议的数值数据: 0
有效范围:0 (false),1 (true)
说明:将此参数设置为 1 (true) 会使系统在它所连接的网络之间路由 IP 数据包。

屏蔽网络拓扑结构细节

可以使用 ICMP 数据包请求主机的子网掩码。只泄漏此信息是无害的;但是,可以利用多台主机的响应来了解内部网络的情况。

EnableAddrMaskReply
建议的数值数据: 0
有效范围:0 (false),1 (true)
说明:此参数控制计算机是否响应 ICMP 地址屏蔽请求。

使用表 5 中汇总的值可以获得最大程度的保护。

表 5:建议值

值名称 值 (REG_DWORD)

DisableIPSourceRouting


1


EnableFragmentChecking


1


EnableMulticastForwarding


0


IPEnableRouter


0


EnableAddrMaskReply


0

返回页首

缺陷

在测试这些值的变化时,请参照在产品中所期望的网络流量进行测试。这些设置会修改被认为正常并偏离了测试默认值的项目的阈值。一些阈值可能由于范围太小而无法在客户端的连接速度剧烈变化时可靠地支持客户端。

时间: 2024-11-05 19:04:24

转自Microsoft-DDOS处理参考-如何:强化 TCP/IP 堆栈安全的相关文章

如何强化TCP/IP 堆栈安全教程

目标 使用本模块可以实现: • 强化服务器的 TCP/IP 堆栈安全 • 保护服务器免遭"拒绝服务"和其他基于网络的攻击 • 在检测到攻击时启用 SYN 洪水攻击保护 • 设置用于确认是什么构成攻击的阈值 适用范围 本模块适用于下列产品和技术: • Microsoft Windows 2000 Server 和 Windows 2000 Advanced Server 如何使用本模块 默认情况下,本模块中的一些注册表项和值可能不存在.在这些情况下,请创建这些注册表项.值和数值数据. 注

sqlserver2005com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败

问题描述 数据库连接代码:packagecom.mwq.dao;importjava.sql.*;publicclassJDBC{privatestaticfinalStringDRIVERCLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";privatestaticfinalStringURL="jdbc:sqlserver://localhost:1433;DatabaseName=db_DrinkeryManage&

HOSTS file used by Microsoft TCP/IP for Windows

win7 修改了hosts总是保存不了.主要是以为没有以管理员的方式打开hosts文件. 首先你要用管理员身份打开文本编辑器, 方法是在编辑器的图标上右click, 然后选用administrator(管理员)身份打开, 在文本编辑器上打开windows 目录下的 system32/drivers/etc/hosts 文件, 修改后储存就可以.   打开文件后会看到,如下: 192.168.1.234 DevServer   机器名与IP地址绑定.如果SQL Server IP地址可以连接上服务

linux抵御DDOS攻击 通过iptables限制TCP连接和频率_Linux

cc攻击一到就有点兵临城下的感觉,正确的设置防护规则可以做到临危不乱,这里给出一个iptables对ip进行连接频率和并发限制,限制单ip连接和频率的设置规则的介绍 #单个IP在60秒内只允许新建20个连接,这里假设web端口就是80, 复制代码 代码如下: iptables -I  INPUT -i eth1 -p tcp -m tcp –dport 80 -m state –state NEW -m recent –update –seconds 60 –hitcount 20 –name

有服务器的站长必读:防御DDOS攻击终极指南

中介交易 SEO诊断 淘宝客 云主机 技术大厅 一.为何要DDOS? 随着Internet互联网络带宽的增加和多种DDOS黑客工具的不断发布,DDOS拒绝服务攻击的实施越来越容易,DDOS攻击事件正在成上升趋势.出于商业竞争.打击报复和网络敲诈等多种因素,导致很多IDC托管机房.商业站点.游戏服务器.聊天网络等网络服务商长期以来一直被DDOS攻击所困扰,随之而来的是客户投诉.同虚拟主机用户受牵连.法律纠纷.商业损失等一系列问题,因此,解决DDOS攻击问题成为网络服务商必须考虑的头等大事. 二.什

针对最近爆出很多网站被ddos攻击 写给各位站长

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 DDOS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",DDOS的中文名叫分布式拒绝服务攻击,俗称洪水攻击.DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应. 7种常见的DOS攻击法则 1.Synfloo

服务器和应用系统迁移方案

服务器和应用系统迁移方案 一.迁移方案总体思路 新旧系统的迁移是一个整体系统工程.迁移必须保证用户系统建设的相关要求,在迁移过程中,我们需要重点考虑几个问题: 1.数据迁移如何保障"业务中断停机时间".业务中断对用用户无论是生产环境还是测试环境均存在较大的恢复风险,这样的风险特别是对于时间敏感型数据还是对于数据完整性业务都是不可以接受的.我们基于这样的要求,考虑到如何将停机时间最小,能否实现0停机的建设目标? i. 对于服务器操作系统而言,我们可以采用P2V的方式,利用操作系统的Vol

新闻发布系统,防火墙关了吗?

牛腩新闻发布系统,这一路上走走停停,到现在,终于走到了最后的发布阶段. 在发布的这个过程,找了一篇很完整的博客,按着上面的步骤,一步又一步,十多分钟后,真的可以通过自己电脑的浏览器浏览制作好的新闻系统了.但这还没有结束,还得看别人的电脑是否也可以通过发布的这个网址浏览网页. 结果就是"不行".在别人的电脑上,显示的总是登录超时的页面.还以为是新闻发布的这个过程中哪里出错了,所以,没成功之后就去修改发布的过程.这样一来,把自己做的系统来回发布了好几遍,但最后还是没有成功.原本打算不再试了

XML时代我们拥有.Net

xml   尽管不久微软将再次接受是否被 一分为二 <http://tech.sina.com.cn/hotnews/mscase/index.shtml>的裁决,但微软主席比尔.盖茨并没有因此而放弃垄断网络市场的野心.       盖茨现在已经将大部分公司日常管理事务交给微软CEO巴尔默及其团队来管理,他所负责的只是技术性工作.但作为微软的创始人和"微软之神",这个天才仍然在指挥着微软这艘巨轮前进的方向.       在本周亚特兰大微软主办的软件开发伙伴会议上,盖茨又向与