DDOS攻击防御方法
DDOS不是一个漏洞而是一种攻击方法。DDOS的攻击目标可以是服务器交换机数据库路由器等等DDoS攻防方法SYN flood攻击攻击者发生大量的syn -sS TCP请求服务器返回SYN、ACK回应但是攻击者不理会导致服务器拥堵无法正常处理其他请求。一旦这个条目载满强行让服务器处理半连接。1.特征匹配设置规则库进行拦截像“指纹识别”一样快速过滤已知的攻击模式。2.这种方法的核心是设备防火墙/清洗设备主动扮演“中间人”代替服务器完成握手验证而不依赖看到服务器的真实回应。具体过程假设设备部署在服务器入口能看到所有去往服务器的流量拦截 SYN客户端发起的 SYN 到达设备设备不立刻转发给服务器而是自己记下这个请求。伪造 SYN-ACK设备直接冒充服务器给客户端返回一个精心构造的SYN-ACK包这个包的源 IP 是真实服务器的 IP但序列号里可能藏了一个“密钥”。注意这个包是设备发出的所以即使真实服务器回应 SYN-ACK 走了另一条路也不影响。等待客户端的 ACK如果客户端是真实存在的它会收到这个 SYN-ACK并回复一个ACK目的 IP 是服务器。这个 ACK 的目的地是服务器所以必然会经过设备因为设备部署在服务器入口。设备收到 ACK 后验证里面的确认号是否匹配之前发的 SYN-ACK。如果匹配说明客户端是真实的。与真实服务器建立连接验证通过后设备再向真实服务器发送一个SYN与服务器完成三次握手。之后设备就把客户端和服务器之间的后续数据包转发过去。3.将确认安全的源IP加入白名单后仍然会持续监控它的行为。如果发现该源IP异常如突然发送大量请求则对其进行限速防止这个真实的源可能被黑客控制发起攻击。4.针对每个源IP统计它发送的ACK报文与非ACK报文SYN、SYN-ACK、FIN、RST的比例。正常情况下ACK报文数量应该远大于非ACK报文。如果非ACK报文比例过高超过阈值则判定为异常并对非ACK报文进行限速。只连接不同意八成有问题5 无论网络状况如何也不区分源IP是否正常强制将所有非ACK报文的速率限制在一个阈值内。ACk Flood攻击我和你连接了吗 连接了一直问骚扰服务器UDP Flood攻击量大管饱防御方法和TCP SYN Flood差不多。HTTP Flodd你的这个问题提得很好HTTP Flood 攻击和TCP Flood 攻击在“疯狂发送请求耗尽资源”这个思路上确实相似但它们的攻击层面、目标和防御方法有本质区别。简单来说TCP Flood 攻击打的是“马路”网络连接通道而 HTTP Flood 攻击打的是“房子里的房间”具体的网页或应用功能。为了让你更清晰地理解我们做一个详细的对比1. 攻击层面不同这是最核心的区别TCP Flood以SYN Flood为例层面传输层第4层。目标消耗服务器内核的资源如TCP连接表、内存或者堵塞网络带宽。特征它甚至不需要完成TCP握手。攻击者只发送一堆不完整的连接请求让服务器傻等占着茅坑不拉屎。合法的用户想连接都挤不进去。类比攻击者不停地给酒店前台打电话但只说一句“喂”就挂断或不说。前台服务员需要花时间记录这个“未接来电”结果大量的“未接来电”占满了记录本导致真正想办理入住的客人打不进来电话。HTTP Flood层面应用层第7层。目标消耗服务器应用软件的资源如CPU、数据库连接、会话管理。特征攻击者发送的是完整、合法的HTTP请求比如GET/index.php或 POST/login.php。这些请求能通过防火墙能建立完整的TCP连接然后疯狂请求消耗性能的网页或接口。类比攻击者假装成真实客人打通了酒店前台电话然后不停地问“总统套房今晚多少钱”、“健身房几点开门”、“WiFi密码是多少”等等。这些请求本身是合法的服务员也必须回答但问的人太多了就把服务员累垮了没精力服务真正的客人。2. 攻击的“真实性”不同TCP Flood通常伴随着IP 地址伪造。因为攻击者不需要收到服务器的回复所以可以随意伪造源IP这使得防御时很难通过封锁IP来解决问题。HTTP Flood通常不能伪造IP因为需要建立完整的TCP连接并收发数据攻击者通常使用真实的僵尸主机或代理IP池。这使得攻击看起来像来自世界各地的“真实用户”迷惑性更强。3. 防御策略不同基于上面的区别防御手段也各有侧重攻击类型防御重点常见方法对应你之前的问题TCP Flood保护协议栈和带宽1.TCP代理验证你之前问的那个验证是否是真实设备2.SYN Cookie不分配资源直到握手完成3.异常限速限制每秒新建连接数HTTP Flood保护业务逻辑和CPU1.行为分析观察请求间隔、访问路径是否像人2.验证码挑战如果是简单脚本就过不了图形验证码3.频率控制限制单个IP每秒请求数4.Web应用防火墙通过特征匹配拦截恶意负载慢连攻击一直说HTTP头没有发完DNS反射攻击第一步什么是“反射”在正常情况下你向服务器发请求服务器把结果返回给你。正常流程小A你 - 问服务器 - 服务器回答小A。在反射攻击中攻击者把你家的地址贴在信封上但内容是他写的。攻击流程伪造请求攻击者伪装成“受害者”向DNS服务器发送请求源IP地址填的是受害者的IP。真实响应DNS服务器收到请求后以为真的是受害者需要帮助于是把响应数据发送给了受害者。结果攻击者只出了蚊子大点力气发送一个小请求受害者却被洪水般的数据大响应淹没。这就是“反射”攻击者利用服务器作为“反射板”把流量弹到受害者身上。第二步什么是“放大”文字里提到一个关键请求包要比回应包小很多。这是攻击能造成巨大破坏的核心原因也就是放大效应。举个例子攻击者做的事发出一条指令比如“请告诉我这个域名的所有信息”例如dig ANY isc.org这个请求只有几十个字节相当于一颗绿豆。DNS服务器做的事为了响应这个请求可能会返回一个包含很多记录的大数据包大小能达到几千个字节相当于一块大石头。放大倍数一颗绿豆砸过去一块大石头弹回来。攻击者用1M的带宽就能打出100M甚至更大的攻击流量放大了几十倍到上百倍。所以攻击者只需要控制少量的“肉鸡”发送小包就能汇聚成巨大的流量打死受害者。第三步为什么现在这种攻击变少了也就是文字最后一段的意思要实现上面说的这种攻击必须满足一个前提能伪造IP地址。你得能告诉DNS服务器“我是受害者IP受害者的地址”DNS服务器才会把大石头扔到受害者头上。文字里提到我国电信以及大多数正规运营商开启了uRPF。uRPF单播逆向路径转发是什么这是一个检查机制。原理电信的路由器会检查这个发出来的包源IP地址是不是真的属于这个网络如果你家宽带分配的IP是1.1.1.1但你发出的包写的源IP是8.8.8.8受害者的IP电信的路由器发现不对劲8.8.8.8不是你该走的路线就会直接把你这个包丢弃不让你发出去。你想攻击8.8.8.8这个人。于是你伪造了一个包源IP填受害者的8.8.8.8目的IP是某个DNS服务器。包从你家的猫 - 到达电信路由器A的2号口。路由器A启动 uRPF 检查查看包的源IP是8.8.8.8。查询路由表“如果我要回8.8.8.8我应该走哪个口”路由表回答“回8.8.8.8这是外网的地址应该走我的1号口连接上级运营商的接口。”检查结论包的入口2号口不等于应该来的口1号口。结果路由器认为这个包是伪造的因为它声称来自8.8.8.8但却从你家1.1.1.1的专用接口进来丢弃结果由于运营商在源头堵住了“伪造IP”的行为攻击者即使想借刀杀人他的“信”伪造请求也送不出去。SockStress攻击不像SYN攻击一直挂着半连接状态不管SockStress攻击是占满TCP资源版的HTTP Flood攻击
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2410346.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!