SYN

1:半连接

1:客户端发送SYN,服务器回复SYN+ACK,此时这条连接就处于半连接状态,服务器有维护着一个半连接队列,队列长度为Backlog

2:当SYN+ACK发送超时后,服务器重传,重传有次数限制和时间限制,当超过此限制,此连接从半连接队列删除

 

2:通过过滤网关进行防护

这里过滤网关主要指防火墙,也可以是路由器,过滤网关后面是服务器

1:网关超时设置

当服务器发送SYN+ACK后,网关启动一个计时器,当计时器超时,通知服务器删除此连接

此计时器值应该比服务器计时器数值低,但也不能太小

2:SYN网关

当收到服务器SYN+ACK,将此报文段发给客户端,同时模拟客户端发送给服务器ACK,这会导致连接建立,这样做会增加有效连接数量,因为一般TCP实现连接队列比半连接队列大的多

3:SYN代理

过滤网关收到SYN,不转发给服务器,而是直接回复SYN+ACK,当收到ACK后,在模拟客户端和服务器的三次握手,这将SYN压力转移到了过滤网关上了,所以过滤网络应该很强大

 

3:通过加固TCP协议栈进行防护

一部分设置需修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

1:SynAttackProtect

1:为0则不受SynAttackProtect保护

2:为1:系统通过减少重传次数和延迟未连接时路由缓冲项(route cache entry)防范SYN攻击

3:系统不仅使用backlog队列,还使用附加的半连接指示,以此来处理更多的SYN连接,使用此键值时, tcp/ip的TCPInitialRTT,window size和可滑动窗囗将被禁止

系统根据以下设置判断是否启用SynAttackProtect,超过下面这些值,系统认为受到SYN攻击

1:TcpMaxHalfOpen:TCP最大半连接数

2:TcpMaxHalfOpenRetried:处于半连接,并且已经重传了SYN+ACK的连接数

3:TcpMaxPortsExhausted:系统拒绝的SYN包数量,默认为5

2:SYN cookies

当TCP半连接队列满时,仍然可以接收SYN,此时回复的SYN+ACK的序号是一个随机值Cookies,这样的半连接不会加入半连接队列(因为已经满了),当收到客户端回复的ACK,如果确认号-1==Cookies,则加入连接队列

3:增加最大半连接数

除TcpMaxHalfOpen,TcpMaxHalfOpenRetried之外,一些操作系统可以设置dynamic backlog动态扩展最大半连接数

4:缩短半连接超时时间和重传次数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值