SYN foold攻击原理及解决方法

SYN foold攻击

原理

SYN foold攻击主要针对tcp通信三次握手期间做的手脚,所以要弄懂这个攻击的原理我们首先必须知道tcp三次握手的详细过程
tcp连接三次握手详情
由上图可知tcp三次握手顾名思义要经过三个步骤,这三个步骤分别是

  1. 客户端向服务端发送SYN J(同步信号假设序号为J),相当于通知服务端我要开始建立连接了;
  2. 服务端收到客户端的SYN J信号后将发送确认信号ACK J+1和一个新的同步信号SYN K作为回应
  3. 客户端收到服务端的回应之后发送最后的确认信号ACK J+1

那我我们重点看第二个步骤:服务端在收到SYN信号后会将ACK信号和新的SYN信号返回给客户端,并将该连接计入半连接队列数目中,当半连接数目大于系统设定的最大值(/proc/sys/net/ipv4/tcp_max_syn_backlog)时系统将不能再接收其他的连接,所以攻击者利用这个原理,在服务器向客户端发送SYN和ACK信号后不做任何回应,这样链接将一直不会被释放,直到累计到链接最大值而不能再创建新的链接,从而达到了让服务器无法响应正常请求的目的。

解决方法

使syncookies生效,将/proc/sys/net/ipv4/tcp_syncookies值置改为1即可,这样即使是半连接队列syn queue已经满了,也可以接收正常的非恶意攻击的客户端的请求,
但是这种方法只在无计可施的情况下使用

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值