SYN Flood (SYN洪水) 是种典型的DoS (Denial of Service,拒绝服务) 攻击,属于DDos攻击的一种。遭受攻击后服务器TCP连接资源耗尽,最后停止响应正常的TCP连接请求。尽管这种攻击已经出现了十多年,但它的变种至今仍能看到。虽然能有效对抗SYN洪泛的技术已经存在,但是没有对于TCP实现的一个标准的补救方法出现。今天小编将详述这种攻击原理以及对抗SYN洪水的方法~

攻击原理

正常的三次握手:

  1. 先发起一个 SYN=1 的包,并且带一个序列号( Seq );
  2. 服务器收到这个包以后,将这个数据放入到一个队列中,这个队列叫 syn_table 。并且发送一个返回包,作为响应,这个返回包有自己的序列号( Seq ),以及一个 Ack , Ack 的值就是客户端发来的 Seq 值加一;
  3. 客户端收到返回信息以后,将服务器的 Seq 加一作为 Ack 又发给服务器;
  4. 服务器收到这第三个包,验证没问题以后,就将这个连接放入到 request_sock_queue,三次握手完成。

SYN Flood 主要是利用了TCP协议的三次握手的缺陷,在这个攻击中,Flood带有一系列的syn数据包,每个数据包都会导致服务端发送SYN-ACK响应,然后服务器等待SYN+ACK之后的第三次握手ACK,由于客户端是软件生成的虚拟IP,永远不会再发送ACK响应服务端,服务端会利用重传机制直到超时后删除,整个系统资源也会被队列积压消耗,导致服务器无法对正常的请求进行服务。

如何判断自己是否遭受 SYN 攻击?

检测SYN攻击非常的简单,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。我们使用系统自带的netstat 工具来检测SYN攻击:

# netstat -n -p TCP 

反馈如图

防御 SYN Flood攻击

配置iptables规则

Iptables防火墙我们可以理解为Linux系统下的访问控制功能,我们可以利用Iptables来配置一些规则来防御这种攻击。强制SYN数据包检查,保证传入的tcp连接是SYN数据包,如果不是就丢弃。

#iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP 

强制检查碎片包,把带有传入片段的数据包丢弃。

#iptables -A INPUT -f -j DROP 

丢弃格式错误的XMAS数据包。

#iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP 

丢弃格式错误的NULL数据包。

#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP 

当Iptables配置完成后我们可以使用nmap命令对其验证

# nmap -v -f FIREWALL IP
# nmap -v -sX FIREWALL IP
# nmap -v -sN FIREWALL IP 

例如:

其他防御方式:

除此之外针对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 

来源:《今日头条》

转载于:https://www.cnblogs.com/wpjamer/articles/10957629.html

巧用iptables搞定SYN洪水攻击!相关推荐

  1. 巧用iptables五招免费搞定SYN洪水攻击

    转载来源 :巧用iptables五招免费搞定SYN洪水攻击 :https://www.toutiao.com/i6772397997692027399/ 摘要: SYN Flood是种典型的DoS攻击 ...

  2. TCP三次握手之-awl工具-SYN洪水攻击

    文章目录 云盾数据 TCP三次握手 TCP报文段的头部格式 实战-使用tcpdump 抓包 tcpdump 常用参数 tcpdmp 抓包 awl -syn-洪水攻击 原理 实战 总结: 云盾数据 - ...

  3. 云计算高级运维第一阶段项目实战:在局域网中使用 awl 伪装 MAC 地址进行多线程 SYN 洪水攻击

    在局域网中使用 awl 伪装 MAC 地址进行多线程 SYN 洪水攻击 (1)SYN 洪水攻击的过程 在服务器返回一个确认的 SYN-ACK 包的时候有个潜在的弊端,如果发起的客户是一个不存在的客户端 ...

  4. SYN洪水攻击的原理,syn洪水攻击的解决办法

    SYN洪水攻击的原理及解决办法分享 SYN洪水攻击的原理 遭到SYN攻击该如何防御呢? 1.修改等待数 2.启用syncookies 3.修改重试次数 4.限制单IP并发数 5.限制C类子网并发数 6 ...

  5. linux洪水攻击软件,Linux服务器下对SYN洪水攻击的诊断和阻挡

    1.简介SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,常用假冒的IP或IP号段发来海量的请 ...

  6. Linux进行syn攻击的代码,Linux遭受SYN洪水攻击设置

    SYN洪水攻击(SYN Flooding Attack)即是指利用了 TCP/IP 三次握手协议的不完善而 恶意发送大量仅仅包含 SYN 握手序列数据包的攻击方式.该种攻击方式可能将导致被攻击计算机为 ...

  7. 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----SYN(洪水攻击)篇

    对现有的所能找到的DDOS代码(攻击模块)做出一次分析----SYN(洪水攻击)篇 //======================================================== ...

  8. 利用tcp三次握手,使用awl伪装MAC地址进行多线程SYN洪水攻击

    SYN洪水攻击概述: SYN洪水攻击主要源于: tcp协议的三次握手机制 tcp协议面向链接的协议 SYN洪水攻击的过程: 在服务端返回一个确认的SYN-ACK包的时候有个潜在的弊端,如果发起的客户是 ...

  9. Scapy:快速syn洪水攻击(syn flood)

    ()写作不易,记得点个赞哦) 在一个send函数中同时发送多个syn包是提高syn洪水攻击效率的关键,下面将给出一个简单的例子. 常规的写法(使用for循环反复调用send函数发包): #demo.p ...

最新文章

  1. 第88天:HTML5中使用classList操作css类
  2. 使用Xshell生成key,避免password登录linux
  3. Android进度条函数,Android实用笔记——使用ProgressBar实现进度条
  4. Data Guard组件等相关介绍
  5. django(一)——在PyCharm下搭建开发环境
  6. CISC 332*/CMPE 332* –Database Management Systems
  7. gpuinfo测试软件,gpuinfo
  8. java 车牌号 正则_正则验证车牌号码,包括新能源车牌
  9. 微信小程序获取点击事件的值
  10. 用python画滑稽表情_用Python画QQ表情中的滑稽脸
  11. 信创办公--基于WPS的Word最佳实践系列(图片背景的删除)
  12. 仿TT语音,语音游戏陪玩APP源码,社交属性强大
  13. python画爱心 好看漂亮的表白代码
  14. 如何解决Kettle读取txt文件时出现的中文乱码问题?
  15. Android复习系列③之《Android筑基》
  16. 安卓手机屏幕分辨率如何修改
  17. 【PyTorch】随机种子 与 网络初始化
  18. undefsafe原型链[网鼎杯 2020 青龙组]notes
  19. NDIS驱动学习笔记
  20. windows系统用微软账户登录情况下,Hyper-V下虚拟机共享

热门文章

  1. 平衡二叉树及其操作实现_平衡二叉树(AVL树)及C语言实现
  2. 小学计算机课知识点总结,小学计算机教学总结3篇
  3. c语言行计数程序,C语言非常简单的字符统计程序50行
  4. php 字符串 中文位置,怎样查找中文字符的位置呢
  5. python有向图_Python 中的垃圾回收机制
  6. 中国石化行业节能减排行业发展动态与运营前景规划展望报告2022年
  7. 全球及中国汽车涂料市场前景态势与投资渠道分析报告2022版
  8. 全球及中国烯丙基硫脲行业十四五需求产量及投资规模预测报告2022版
  9. 全球及中国回流冷凝管行业发展前景整体预测及十四五发展趋向展望报告2022-2027年版
  10. 谋定数字农业生态系统 万亿市场对话中国农民丰收节交易会