防范手段:
�8�5 优樱手尺化系统配置:包括缩短超时时间,增加半连接队列的长度,关闭不重要的服务等。
�8�5 优化路由器配置:配置路由器的内、外网卡。
�8�5 完善基础设施:增加源IP地址检查机制等。
�8�5 使用防火墙:采用半透明网关技术的放火墙可有效防范SYN Flooding攻击
�8�5 主动监视:监视TCP/IP流量,收集通信控制信息,分析状态,辨别攻击行为。
SYN泛洪攻击(SYN Flood)是一种比较常用的DoS方式之一。通过发送大量伪造的Tcp连接请求,使被攻击主机资源耗尽(通常是CPU满负荷或者内存不足)的氏派攻击方式。
我们都知道建立Tcp连接需要完成三次握手。正常情况下客户端首先向服务端发送SYN报文,随后服务端回以SYN+ACK报文到达客户端,最后客户端向服务端发送ACK报文完成三次握手。
而SYN泛洪攻击则是客户端向服务器发送SYN报文之后就不再响应服务器回应的报文。由于服务器在处理TCP请求时,会在协议栈留一块凯慎缓冲区来存储握手的过程,当然如果超过一定的时间盯核敬内没有接收到客户端的报文,本次连接在协议栈中存储的数据将会被丢弃。攻击者如果利用这段时间发送大量的连接请求,全部挂起在半连接状态。这样将不断消耗服务器资源,直到拒绝服务。
最基本的DoS攻击就是攻击者利用大量合理的服务请求来占用攻击目标过多的服务资源,从而使合法用户无法得到服务的响应。DoS攻击一般是采核枝用一对一方式的,当攻击目标各项性能指标不高时(例如CPU速度低、内存小或者网络带宽小等等),它的效果衡斗是明显的。
泛洪攻击(Flood)
指攻击者通过僵尸网络、代理或直接向攻击目标发送大量改拦敏的伪装的请求服务报文,最终耗尽攻击目标的资源。发送的大量报文可以是TCP的SYN和ACK报文、UDP报文、ICMP报文、DNS报文HTTP/HTTPS报文等。
以下Python脚本可实现简易的SYN Flood攻击
运行结果如下
使用Wirshark观察如下,产生大量TCP syn包;由于使用单IP单端口发送时,scapy使用了相同TCP序列号和数据,Wirshark认为是TCP重传,使用多IP多端口是则正常。
以下Python脚本可对捕获的SYN Flood包进行分析,并展示出数量大于5的连接。
运行结果如下
首先会打印出数量大于5的连接与其对应的数量。
同时会生成对应图表,可以直观的看到攻击目标主机和端口的源IP排名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)