美文网首页
SYN攻击防护预研

SYN攻击防护预研

作者: ADay日历 | 来源:发表于2018-12-17 13:52 被阅读0次

SYN攻击利用的是TCP三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应 报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。

正常流程

原本tcp协议是在收到syn包时,服务器返回syn+ack包并分配一个专门的数据区来储存tcp连接需要的数据。这就使攻击者有机可乘,可以利用伪造的syn包来消耗服务器的内存空间和半开连接数,这就可以使服务器的内存或者半开连接数耗尽而拒绝服务(Denial of Service)。

syn cookie详解

syn cookie技术是在1996年由Daniel J. Bernstein和Eric Schenk创造的,最早是1997年在linux上实现的,至今linux依然支持syn cookie技术。

syn cookie技术是服务器在收到syn包时并不马上分配储存连接的数据区,而是根据这个syn包计算出一个cookie,把这个cookie填入tcp的Sequence Number字段发送syn+ack包,等对方回应ack包时检查回复的Acknowledgment Number字段的合法性,如果合法再分配专门的数据区。

syn cookie对tcp的三次握手进行了一定的修改,修改仅在于服务器端,对任何客户端的使用都没有影响

开启syn cookie

在linux内核中提供了很多SYN相关的配置,用命令:sysctl -a | grep syn就能看得到。


在centos里是默认开启的

sysctl -w net.ipv4.tcp_syncookies=1即可,关闭则输入sysctl -w net.ipv4.tcp_syncookies=0

//增大队列SYN最大半连接数
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3

//开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
sysctl -w net.ipv4.tcp_tw_recycle = 1
//修改系統默认的 TIMEOUT 时间
sysctl -w net.ipv4.tcp_fin_timeout = 30

syn cookie的缺点

syn cookie虽然与任何的上层和下层协议都不冲突,但是还是有他的不足之处

  1. 服务器只能编码八种 MSS 数值,因为只有 3 位二进制空间可用。
  2. 这个服务器必须拒绝所有的TCP 选用项,例如大型窗口和时间戳,因为服务器会在信息被用其他方式存储时丢弃 SYN 队列条目.
  3. 还有最致命的缺点就是开启syn cookie后会使服务器对与ack攻击的抵抗力大大降低,他虽然保护了内存空间的过度分配但是也使得cpu的计算资源被消耗(需要计算哈希值)。

所以说syn cookie虽然能抵御syn攻击但是却容易受到ack攻击。想要防御住所有类型的DOS攻击是很苦难的,需要对各种攻击的原理与防御方法非常了解,并且针对不同攻击选择合适的防御方法才行。

附录

用Python和C实现syn flood攻击

DDoS攻击--Syn_Flood攻击防护详解(TCP)

阿里云centos环境之被dos,syn攻击策略和排查方法

如何简单的防御syn攻击

相关文章

  • SYN攻击防护预研

    SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应 报文将永...

  • tcp面试问题1

    SYN攻击 什么是 SYN 攻击(SYN Flood)?在三次握手过程中,服务器发送 SYN-ACK 之后,收到客...

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

    SYN洪水攻击原理 SYN Flood 或称 SYN洪水、SYN洪泛是一种阻断服务攻击,起因于攻击者传送一系列的S...

  • SYN攻击

    TCP协议 之前已经介绍过TCP三次握手相关知识.本文主要介绍利用TCP协议栈三次握手弱点来进行网络攻击的SYN攻...

  • TCP攻击与防范

    1.syn泛洪DOS攻击 syn泛洪DOS攻击原理 SYN泛洪( Flood) 是一种广为人知的攻击,对现代网络不...

  • SYN是什么?网络安全中SYN攻击指什么?

    SYN攻击是什么意思?SYN攻击是黑客攻击的常用手段,也是最容易被利用的一种攻击手法,属于DDoS攻击的一种,接下...

  • 网络安全-Day55-SYN攻击

    SYN攻击 1、上传攻击脚本 2、在kali系统打开Wireshark 3、cd到syn-flodd.py文件的密...

  • TCP-运输层的概念

    1 前言 有三个原因促使我回过头来整理,学习。 1.1 SYN攻击 作为DDOS攻击中的一种,syn攻击利用TCP...

  • CentOS下SYN攻防战

    (一)SYN攻击原理 SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器C...

  • 什么是SYN Flood攻击?

    SYN Flood (SYN洪水) 是种典型的DoS (Denial of Service,拒绝服务) 攻击。效果...

网友评论

      本文标题:SYN攻击防护预研

      本文链接:https://www.haomeiwen.com/subject/iheqkqtx.html