面试题——SYN泛洪攻击

解答

危害:SYN攻击属于DDoS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。

原理:在三次握手过程中,服务器发送SYN-ACK(确认收到客户端请求的连接)之后,收到客户端的ACK(第三个包)之前的TCP连接称为半连接(half-open connect)。此时服务器处于SYN_RECV(等待客户端相应)状态,如果接收到客户端的ACK,则TCP连接成功,如果未接受到,则会重发请求直至成功。SYN攻击就是 攻击客户端 在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直 至超时,这些伪造的SYN包将⻓时间占用未连接队列,影响了正常的SYN,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。

检测:检测SYN攻击非常的方便,当在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。

防范:主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范。但必须清楚的是,SYN攻击不能完全被阻止,我们所做的是尽可能的减轻SYN攻击的危害,除非将TCP协议重新设计。

过滤网关防护:

  • 网关超时设置

  • SYN网关

  • SYN代理

加固TCP/IP协议栈:

  • SynAttackProtect机制

  • SYN cookies技术

  • 增加最大半连接数

  • 缩短超时时间

  • 调大netdev_max_backlog,即CPU核的backlog队列

参考

主要参考:

SYN攻击原理以及检测防范技术 - 百度文库 (baidu.com)

“调大netdev_max_backlog,即CPU核的backlog队列”参考自:

什么是 SYN 攻击?如何避免 SYN 攻击? | 小林coding (xiaolincoding.com)

Linux丢包故障的定位与解决_net.core.netdev_max_backlog_逸晨#的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值