zoukankan      html  css  js  c++  java
  • 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
    

    SYN攻击模拟


    可以用之前介绍的hping工具来模拟SYN攻击,参见《Linux常用网络工具:hping高级主机扫描》;

    还有一款synkill也可以用来模拟SYN攻击。


    记录,为更好的自己!

  • 相关阅读:
    rsync+inotify-tools实时备份脚本
    rsync+inotify实现实时同步
    linux 上安装部署python
    rsync全网备份low方法
    rsync 参数说明及使用参数笔记好文摘抄
    rsync 参数说明及使用参数笔记
    js DOM
    导出Excel
    Linux(CentOS 8)安装docker
    Win10安装虚拟机
  • 原文地址:https://www.cnblogs.com/ym123/p/4564311.html
Copyright © 2011-2022 走看看