新闻动态
新闻动态
NEWS INFORMATION

Linux SYN攻击原理和应对方法

发布日期:2022-02-19 15:33 | 文章来源:gibhub

TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议,但TCP协议中也存在一些缺陷。

SYN攻击就是利用TCP协议的缺陷,来导致系统服务停止正常的响应。

SYN攻击原理:

TCP在传递数据前需要经过三次握手,SYN攻击的原理就是向服务器发送SYN数据包,并伪造源IP地址。

服务器在收到SYN数据包时,会将连接加入backlog队列,并向源IP发送SYN-ACK数据包,并等待ACK数据包,以完成三次握手建立连接。

由于源IP地址是伪造的不存在主机IP,所以服务器无法收到ACK数据包,并会不断重发,同时backlog队列被不断被攻击的SYN连接占满,导致无法处理正常的连接。

SYN攻击的应对措施

针对SYN攻击的几个环节,提出相应的处理方法:

方式1:减少SYN-ACK数据包的重发次数(默认是5次):

复制代码
代码如下:

sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3

方式2:使用SYN Cookie技术:

复制代码
代码如下:

sysctl -w net.ipv4.tcp_syncookies=1

方式3:增加backlog队列(默认是1024):

复制代码
代码如下:

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

方式4:限制SYN并发数:

复制代码
代码如下:

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT --limit 1/s

SYN攻击模拟

可以用之前介绍的hping工具来模拟SYN攻击,参见《Linux常用网络工具:hping高级主机扫描》;

还有一款synkill也可以用来模拟SYN攻击。

美国稳定服务器

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部