DDOS 攻击
DDOS 攻击利用合理的服务请求占用过多的服务资源,使正常用户的请求无法得到相应。 常见的 DDOS 攻击有计算机网络带宽攻击和连通性攻击。 带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致 合法的用户请求无法通过。 连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆 尽,最终计算机无法再处理合法用户的请求。
SYN flood攻击原理:
1. SYN flood在攻击时,首先伪造大量的源IP地址,分别向服务器端发送大量的SYN包。
2. 服务器端返回SYN/ACK包,因为源地址是伪造的,所以伪造的IP并不会应答。
3. 服务器端没有收到伪造IP的回应,会重试**3~5次并且等待一个SYN Time(—般为30秒至2分钟),如果超时则丢弃这个连接。
4. 攻击者大量发送这种伪造源地址的SYN请求,服务器端将会消耗非常多的资源来处理这种半连接**,同时还要不断地对这些IP进行SYN+ACK重试。
5. 最后的结果是服务器无暇理睬正常的连接请求,导致拒绝服务。
解决方案
无效连接监视释放
这种方法不停监视所有的连接,包括三次握手的,还有握手一次的,反正是 所有的,当达到一定(与)阈值时拆除这些连接,从而释放系统资源。这种方法对于所有的连接一视同仁,不管是正常的还是攻击的,所以这种方式不推荐。
延缓 TCB 分配方法
一般的做完第一次握手之后,服务器就需要为该请求分配一个 TCB(连接控制资源),通常这个资源需要 200 多个字节。延迟 TCB 的分配,当正常连接建立起来后再分配 TCB 则可以有效地减轻服务器资源的消耗。
使用防火墙
防火墙在确认了连接的有效性后,才向内部的服务器(Listener)发起 SYN 请求