Linux安全之SYN攻击原理及处理

发表于:2015-6-11 09:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:全栈工程狮    来源:51Testing软件测试网采编

#
Linux
分享:
  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攻击。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号