zoukankan      html  css  js  c++  java
  • SYN-flood攻击

    原理:当TCP三次握手进行第一次握手时,客户端向服务端发送SYN请求报文,第二次握手服务端会返回一个SYN+ACK的一个确认报文,syn-flood攻击就发生在第三次握手,当客户端不去回应服务端的SYN+ACK报文时,此时TCP是处于半开放状态的,如果此时客户端一直给服务端发送SYN请求报文,却不去回应服务端发来的SYN+ACK报文,这将会占用服务端所有系统资源,使其不能接收其他任何请求。如下图:

    检测攻击:查看TCP连接状态是否有异常连接状态,

    防御:

    1)使用SYNCookie防火墙

    syn cookie:当客户端给服务端发送SYN报文时,服务端会返回一个SYN+ACK ,但是这个ACK是由源地址,端口源次序,目标地址,目标端口以及一个加密种子计算而得出的一个ACK,服务端发送完SYN+ACK确认报文时,就会释放所有状态,这样就不用占用系统资源了,当客户端发送ACK报文给服务端时,服务端会重新计算这个ACK,判断它是不是上个SYN+ACK的返回包。

    syn cookie防火墙:syncookie防火墙充当了一个中间人的角色,当客户端发送syn请求时,syncookie防火墙就是服务端,给客户端发送syn+ack确认报文,如果防火墙收到了syn+ack的返回包,它就会再次充当客户端的角色,给服务端发送syn请求报文,建立三次握手。如果两边都成功了,防火墙就会转发两边的数据,让客户端和服务端建立三次握手。

    2)加固TCP/IP协议栈防范

  • 相关阅读:
    编译错误总结。
    9.7
    9.5
    9.6
    9.4
    9.3
    FutureTask取结果超时代码小测试
    java concurrent包常用类小结
    java Nio零散知识点整理
    java进阶教程unit_2java常用类(2)
  • 原文地址:https://www.cnblogs.com/xiaoqiyue/p/10684142.html
Copyright © 2011-2022 走看看