zoukankan      html  css  js  c++  java
  • SYN DDOS 防御策略

    ---恢复内容开始---

    DDOS是分布式拒绝访问服务攻击,就是海量的向服务器发起request,而服务器难以区分这些request哪些是真实请求。只能都进行回应,

    于是服务器的带宽被榨干,无法相应,使得正常的访问也被拒绝。

    SYN攻击的原理;

      SYN攻击主要利用的是TCP/IP协议

                TCP三次握手的过程

          client                                                         server

               SYN(SEQ=x) 

                   =========================>

    state     SYN_SEND      

             SYN(SEQ=Y)  ACK(ACK=x+1)              

              <========================             

    state                         SYN_RECV

               ACK(ACK=y+1) 

                   =========================>

    state ESTABLISHED <==================>ESTABLISHED

          ......

    如上图所示,建立一次连接需要经过三次连接,当第二次握手发生时,server断就会将client端的地址放入一个缓存队列,等待client完成第三次握手。

    SYN攻击使得服务器发回第二次握手给一个并不存在的地址,并将其存在缓存队列等待。很快队列会被填满,攻击效果达到。

    linux下的防御措施

    主:

    方式1、减少发送syn+ack包时重试的次数
    synctl -w net.ipv4.tcp_syncak_retries=3
    synctl -w net.ipv4.tcp_syn_retires=3

    方式2、开启SYN cookies
    synctl -w net.ipv4.tcp_syncookies=1

    方式3、增加backlog队列
    synctl -w net.ipv4.tcp_max_syn_backlog=2048


    次:
    关闭ICMP协议请求
    synctl -w net.ipv4.icmp_echo_ignore_all=1

    通过iptables防止扫描
    iptables -A FORWARD -p tcp -syn -m limit -limit 1/s -limit-burst 5 -j ACCEPT

    iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m limit -limit 1/s -j ACCEPT

    iptables -A FORWORD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT

    ---恢复内容结束---

    DDOS是分布式拒绝访问服务攻击,就是海量的向服务器发起request,而服务器难以区分这些request哪些是真实请求。只能都进行回应,

    于是服务器的带宽被榨干,无法相应,使得正常的访问也被拒绝。

    SYN攻击的原理;

      SYN攻击主要利用的是TCP/IP协议

                TCP三次握手的过程

          client                                                         server

               SYN(SEQ=x) 

                   =========================>

    state     SYN_SEND      

             SYN(SEQ=Y)  ACK(ACK=x+1)              

              <========================             

    state                         SYN_RECV

               ACK(ACK=y+1) 

                   =========================>

    state ESTABLISHED <==================>ESTABLISHED

          ......

    如上图所示,建立一次连接需要经过三次连接,当第二次握手发生时,server断就会将client端的地址放入一个缓存队列,等待client完成第三次握手。

    SYN攻击使得服务器发回第二次握手给一个并不存在的地址,并将其存在缓存队列等待。很快队列会被填满,攻击效果达到。

    linux下的防御措施

    主:

    方式1、减少发送syn+ack包时重试的次数
    synctl -w net.ipv4.tcp_syncak_retries=3
    synctl -w net.ipv4.tcp_syn_retires=3

    方式2、开启SYN cookies
    synctl -w net.ipv4.tcp_syncookies=1

    方式3、增加backlog队列
    synctl -w net.ipv4.tcp_max_syn_backlog=2048


    次:
    关闭ICMP协议请求
    synctl -w net.ipv4.icmp_echo_ignore_all=1

    通过iptables防止扫描
    iptables -A FORWARD -p tcp -syn -m limit -limit 1/s -limit-burst 5 -j ACCEPT

    iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m limit -limit 1/s -j ACCEPT

    iptables -A FORWORD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT

  • 相关阅读:
    阿杜复博通知
    vim 配置文件 ,高亮+自动缩进+行号+折叠+优化
    网络课设总结(五)——利用CAsyncSocket进行异步通信
    网络课设总结(四)——利用CAsyncSocket进行异步通信
    网络课设总结(三)——VC++应用技巧
    ubuntu11.10下配置adsl上网
    反省
    cp命令“d”参数解释及实例
    网络课设总结(二)——VC开发环境
    SharePoint中如何获得当前用户的loginName
  • 原文地址:https://www.cnblogs.com/chieh/p/4820517.html
Copyright © 2011-2022 走看看