Linux安全之SYN攻击原理及其应对措施
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
==============================================
原文出处:http://www.cnblogs.com/ym123/p/4564311.html
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:99527 来源: 运维派
- 标签: SYN
- 发布时间:2016-02-21 22:58:19
- [520] Go Reflect 性能
- [31] 正态分布的前世今生(一)
- [19] Linux Used内存到底哪里去了?
- [17] 基于HTTP缓存轻松实现客户端应用的离线支持
- [16] osx平台上lol英雄联盟launcher启
- [16] 公钥私钥加密解密数字证书数字签名详解
- [15] 在JavaScript中什么时候使用==是正
- [14] Joomla反序列化漏洞的查漏补缺
- [14] Linux内存中的Cache真的能被回收么?
- [13] rsync同步的艺术