SYN FLOOD攻击防范
概述
说起SYN FLOOD的攻击主要的攻击原理就是让服务器创建多个半连接由此来使得服务器的资源被消耗殆尽。下面是华为防火墙的三个主要防护手段:
1、TCP代理
TCP代理的核心思想就是代表服务器去建立TCP的半连接,与防火墙充当SSL的解密中间人类似,它主要是充当一个TCP的中间人的角色,当有TCP连接的时候先和FW进行TCP的三次握手,若客户端可以正常的完成三次握手,那么FW就代替客户端与内部服务器进行TCP的三次握手,其实整个流程下来总共完成了两次的TCP握手,于是后续的关于该TCP会话的流量就直接送到服务器上。虽然TCP代理可以再一定程度上保护服务器,但是这个防范方式其实和增加服务器的性能并没有什么区别,当流量一样比较巨大的时候,大到可以讲FW冲垮,那么其实并没有什么软用。
2、TCP源认证
这是TCP代理的升级版,如果仅仅是使用FW做TCP代理,那么当会话达到一定程度后,FW每次都要进行TCP连接的建立请求,而且防火墙还要承载多个半连接的工作,那么毫无疑问,这个TCP代理是一个很呆的做法。而TCP源认证比起TCP大力来说,会较好一些。防火墙收到一个TCP的SYN报文后,会主动向源地址发送错误的SYN-ACK,那么毫无疑问如果是真实的客户端一定会会送RST报文,表示将本次不正常的TCP连接断开,而虚假的客户端将不会做出任何的响应。当客户端做出了响应后,FW将认为这个客户端是正常的,后续将不会再针对这个IP地址做SYN FLOOD的防御。虽然这样子看起来还不错,但是DDOS攻击的源一般都是变化的,那么这就会使得FW仍然要向这些变化的源地址发送SYN-ACK报文,那么可能对于攻击者来说这只是一些恶意流量,但是对于FW来说,消耗的都是自己赤裸裸的性能,当然当流量达到一定程度后毫无疑问会导致性能的下降。
首包丢弃
首包丢弃指的是FW在接收到SYN报文的时候直接将SYN报文丢弃,如果是正常的客户端那么它就会进行TCP的重传,FW会对其进行记录,如果进行了正常重传,那么就说明这个客户端时一个正常的客户端。虽然这么做可以减少FW的工作量,其实从本质上来说的话,这样的操作其实是将工作量分散到客户端上。那么FW如何判断其是否为首包?FW会记录任何三元组的信息,如果FW中没有某个接收到的三元组的信息,那么就说明这个数据包是首包,同时FW会计算报文进入FW的时间,如果某个报文进入FW后它的时间和上一个相同的报文进入FW的时间是小于一段时间的,那么就说明是重传,如果大于某段时间,那么就说明是首包。
但是到目前为止还是存在一些问题,因为很有可能开启了这个功能后会导致TCP报文的重传率的增加,所以当重传率达到一定程度后就会使用TCP源认证。
相关文章
- EHole(棱洞)3.0 红队重点攻击系统指纹检测工具
- 划重点!关于缓冲区溢出攻击,这份防范策略一定要收好!
- 怎么防止sql注入攻击_网络安全的威胁
- 【火绒安全周报】赛米控遭勒索攻击/俄黑客侵入乌国防大学服务器
- arp欺骗攻击原理_arp攻击的原理及防范
- 业务安全情报,预知发现黑灰产的企业攻击
- Web安全攻防入门系列 | 跨站脚本攻击和防范技巧 | 只看这一篇文章就够了
- MySQL攻击:有效预防必须知道的工具(mysql攻击工具)
- MySQL注入攻击:防范网站安全威胁(mysql注入攻击)
- 防范MySQL数据库注入攻击:一份完整指南(mysql数据库注入)
- MSSQL 2008保护防范注入攻击(mssql2008注入)
- 奔跑吧少年:史上最大的DDoS攻击案件宣布告破
- rowhammer 安全漏洞可以对内存芯片进行攻击获得权限
- 流量劫持攻击之链路劫持剖析
- 企业攻防实战:六大秘诀有效对抗APT攻击
- Linux安全防范:有效预防暴力破解攻击(linux防止暴力破解)
- Redis防护:如何防止攻击(redis攻击)
- MSSQL数据库安全:堆叠注入攻击的防范(堆叠注入 mssql)
- 攻击深层防范:SQL Server数据库越权穷举攻击(SQLserver穷举)
- Mysql 注入式攻击:安全防范技巧(mysql 注入式攻击)
- 防范MySQL木马攻击:有效方法分享(mysql木马)
- 利用Redis抵御网络穿透攻击(redis防止穿透)
- IP地址伪装攻击Oracle数据库(ip欺骗访问oracle)
- 如何防范Redis服务器被攻击(如何应对redis攻击)
- JSP防范SQL注入攻击分析
- 防御DDoS攻击实用指南守住你的网站
- PHP与SQL注入攻击防范小技巧