抵御 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 攻击时,对连接超时的响应将更快速。在超过 TcpMaxHalfOpen 或TcpMaxHalfOpenRetried 的值后,将触发 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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com