文档章节

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

l
 linjin200
发布于 2018/11/12 13:49
字数 514
阅读 5
收藏 1

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

centoscentos 系统安全防御 2015年6月23日

167 0 0

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攻击。

 

© 著作权归作者所有

l

linjin200

粉丝 22
博文 719
码字总数 803204
作品 0
福州
程序员
私信 提问
初入linux安全

linux 是开源的操作系统,这样带来的好处是可以免费获取和使用。也可以定制自己的linux系统。由于开源也导致了系统安全的问题, linux也会收到一些系统底层的攻击。 一般的攻击手段: 1.密码...

swallow_zys
2017/02/14
0
0
Linux安全之三大攻击(SYN,DDOS,CC)原理及处理

Linux安全之SYN攻击原理及处理 TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议,但TCP协议中也存在一些缺陷。 SYN攻击就是利用TCP协议的缺陷,来导致系统服务...

梁东升
2018/04/11
0
0
TCP SYN Flood如何实现(含原理和工具)

      摘要   拒绝服务攻击(DDoS)从1970年出现直到今天都依然在作祟,并给全球范围内的各大组织带来了不可估量的损失。在这篇文章中,我们将跟大家介绍一种特定的DoS攻击,即TCP SYN...

FreeBuf
2018/07/23
0
0
syn-proxy 之 syn-cookie 实现分析

本篇文章介绍了防范syn攻击的syn-proxy机制的原理,包含关键技术点和代码解析,供大家参考。 回顾上篇文章:SSD 优化案例:读策略优化和中断多核绑定 为什么要使用 syn-proxy linux 内核原生...

小米运维
2018/05/10
0
0
IP欺骗与盗用原理  

IP欺骗与盗用原理   IP欺骗的技术比较复杂,不是简单地照猫画老虎就能掌握,但作为常规攻击手段,有必要理解其原理,至少有利于自己的安全防范,易守难攻嘛。   假设B上的客户运行rlogin与...

范堡
2009/05/05
557
0

没有更多内容

加载失败,请刷新页面

加载更多

Knative 初体验:Eventing Hello World

作者 | 阿里云智能事业群高级开发工程师 元毅 基于事件驱动是Serveless的核心功能之一,通过事件驱动服务,满足了用户按需付费(Pay-as-you-go)的需求。在之前的文章中我们介绍过 Knative ...

zhaowei121
26分钟前
2
0
利用AJAX向后台servlet传JSON数据,后台利用fastjson进行解析

一,json的构建 JSON的格式分为两种,第一种类似于JavaScript中的对象(这里需要注意的是JS中的对象与java中的对象概念是不一样的,js可以在对象中定义属性,方法等,类似于java中的类,但是...

我叫小糖主
28分钟前
1
0
Adobe开发出一个反修图工具 还原人像PS 痕迹

“这是一个假人,但在网路上有多少自拍可以代表真人?”一些读者在虚拟偶像的讨论下评论了这篇文章。 事实上,在上传照片先进行修图似乎是一种新的“社交礼仪”,并且越来越难以区分真假内容...

wowloop
31分钟前
3
0
壮丽70年·奋斗新时代|蒸妙中药熏蒸和汗蒸的区别

桑拿、汗蒸、熏蒸相信这些在日常生活中都常能听到,如今现代人的生活和工作压力越来越大,很多人的身体早已吃不消了,一些人就会选择汗蒸或者熏蒸来放松身体。 汗蒸是一种休闲全新的养生方式...

公益传承
31分钟前
0
0
setSystemUiVisibility方法和getSystemUiVisibility方法

这两个方法的调用方式如下: getActivity().getWindow().getDecorView().setSystemUiVisibility; getActivity().getWindow().getDecorView().getSystemUiVisibility; 参考资料: http://blo......

天王盖地虎626
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部