网络协议和Netty(5):三次握手漏洞-SYN洪泛攻击

前言:三次握手的机制决定这个漏洞的必然存在。

提问:什么是洪泛攻击?

洪泛攻击

我们先回忆以下,正常情况下的三次握手:

 正常的三次握手,在每次握手的时候,数据包中都会包含己方IP和对端IP,这样对端应答时根据数据包对端的IP,进行准确的应答。

例如上图第一次握手时,客户端请求时,会在数据包中包含客户端IP,服务端第二次握手,根据客户端的IP,准确进行第二次握手。

那么问题来了,假如客户端在第一次握手时,所传输的IP是个虚拟IP会怎么样?

如图:

 
上图就是 SYN 洪泛攻击。三次握手中有一个第二次握手,服务端向客户端应答请求,应答请求是需要客户端 IP 的,攻击者就伪造这个 IP,往服务器端狂发送第一次握手的内容,当然第一次握手中的客户端 IP 地址是伪造的,从而服务端忙于进行第二次握手但是第二次握手当然没有结果,所以导致服务器端被拖累,死机。

解决方案

提问:如何解决SYN洪泛攻击?

面对这种攻击,有以下方案:

无效连接监视释放
这种方法不停监视所有的连接,包括三次握手的,还有握手一次的,反正是所有的,当达到一定(与)阈值时拆除这些连接,从而释放系统资源。这种方法对于所有的连接一视同仁,不管是正常的还是攻击的,所以这种方式不推荐。

延缓 TCB  分配方法
一般的做完第一次握手之后,服务器就需要为该请求分配一个 TCB(连接控制资源),通常这个资源需要 200 多个字节。延迟 TCB 的分配,当正常连接建立起来后再分配 TCB 则可以有效地减轻服务器资源的消耗。

使用防火墙(推荐方案)
防火墙在确认了连接的有效性后,才向内部的服务器(Listener)发起 SYN 请求。

学习建议:对于SYN洪泛攻击,本文只是小篇幅的简单介绍。读者如果不是专门做网络通信这块的,大致了解下就好,当然如果有精力的话可以多了解,毕竟技多不压身。

至于专门做网络这块的大佬们,你们是至少要知道为啥使用防火墙才是推荐的方案的(手动挖鼻孔)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值