WEB开发网
开发学院网络安全黑客技术 SYN攻击原理以及防范技术 阅读

SYN攻击原理以及防范技术

 2006-11-05 20:34:03 来源:WEB开发网   
核心提示: # echo 1 > /proc/sys/net/ipv4/tcp_syncookies■ 增加最大半连接数大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,SYN攻击原理以及防范技术(7),通过增大未连接队列空间可以缓解这种压力,当然backlog队列需

# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

■ 增加最大半连接数

大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,通过增大未连接队列空间可以缓解这种压力。当然backlog队列需要占用大量的内存资源,不能被无限的扩大。

WIN2000:除了上面介绍的TcpMaxHalfOpen, TcpMaxHalfOpenRetried参数外,WIN2000操作系统可以通过设置动态backlog(dynamic backlog)来增大系统所能容纳的最大半连接数,配置动态backlog由AFD.SYS驱动完成,AFD.SYS是一种内核级的驱动,用于支持基于window socket的应用程序,比如ftp、telnet等。AFD.SYS在注册表的位置:

HKLMSystemCurrentControlSetServicesAFDParametersEnableDynamicBacklog值为1时,表示启用动态backlog,可以修改最大半连接数。

MinimumDynamicBacklog表示半连接队列为单个TCP端囗分配的最小空闲连接数,当该TCP端囗在backlog队列的空闲连接小于此临界值时,系统为此端囗自动启用扩展的空闲连接(DynamicBacklogGrowthDelta),Microsoft推荐该值为20。

MaximumDynamicBacklog是当前活动的半连接和空闲连接的和,当此和超过某个临界值时,系统拒绝SYN包,Microsoft推荐MaximumDynamicBacklog值不得超过2000。

DynamicBacklogGrowthDelta值是指扩展的空闲连接数,此连接数并不计算在MaximumDynamicBacklog内,当半连接队列为某个TCP端囗分配的空闲连接小于MinimumDynamicBacklog时,系统自动分配DynamicBacklogGrowthDelta所定义的空闲连接空间,以使该TCP端囗能处理更多的半连接。Microsoft推荐该值为10。

LINUX:Linux用变量tcp_max_syn_backlog定义backlog队列容纳的最大半连接数。在Redhat 7.3中,该变量的值默认为256,这个值是远远不够的,一次强度不大的SYN攻击就能使半连接队列占满。我们可以通过以下命令修改此变量的值:

上一页  2 3 4 5 6 7 8  下一页

Tags:SYN 攻击 原理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接