DoS 防御

来自深圳捷联讯通科技有限公司
跳转至: 导航搜索
DoS (Denial of Service),即拒绝服务,这种攻击是利用 TCP/IP 协议不断发生无效的 syn 请求,让路由器或服务器超负荷, 导致 CPU 使用率 100%,
路由器响应变得非常缓慢,甚至无响应。由于攻击者发送了大量的 syn数据包,都属于小包(在 RouterBOARD Throughput 章节介绍了路由器对包的处理),数
据流都会经过 firewall(filter, NAT, mangle),这样每秒到达路由器的数据包造成 CPU 处理超载,攻击者还可以利用分散的被感染主机做 DDoS(Distributed
Denial of Service)分布式拒绝服务攻击。
通常我们没有完美的解决方法免受 DoS 攻击,但我们之间建设攻击对路由器的影响,对于 RouterOS 而言,x86 平台数据处理完全靠 CPU,如果 CPU 处理能力
越强,抗攻击能力也会增强。对于 RB 或 CCR 等路由器则是吞吐量指标,也是衡量其处理性能的一点。下面是几点建议:
♠ 使用性能更强的路由器或服务器
♠ 配置性能更好的以太网卡,有足够的上联带宽
♠ 减少防火墙、queue 和其他数据包处理规则
♠ 跟踪攻击源数据路径,并阻止攻击或关闭攻击源(找上级网络提供商协助处理)

诊断SYN攻击

9-82.png

保护路由器

限制连接

一个IP地址出现太多的连接可以添加到黑名单(Black-list),可以使用Connection-limit 配合address-list 完成,如下限制每台主机的连接数,超过后将攻击者
主机IP添加到Blocker-addr列表,保存一天:
9-83.png
注意该规则的connection-limit没有设置固定值,因为需要考虑到一些多连接请求,如HTTP、BT、迅雷和其他P2P连接问题,所以要根据自己的实际环境考虑,该规
则默认链接数为100,也可以设置更高。

Action=tarpit(压制)

利用tarpit参数压制攻击,代体简单drop攻击者数据包(action=drop),如果一台处理性能强大的路由器捉住这些链接,并hold住,让其连接数不超过三个
9-83.png

SYN 过滤

另一种方式是限制先建立的syn请求,对新建的syn请求,通过jump建立一个自定义规则组SYN-Protect,判断是tcp-flags=syn,且connection-state-state=new的
9-85.png
SYN-Protect 第一条规则是限制每 5 秒通过新建的 syn 数为 400,第二条规则是丢弃超过的部分

SYN cookies

SYN Cookie 是对TCP服务器端的三次握手协议做一些修改,专门用来防范SYN Floot攻击的一种手段。它的原理是,在TCP服务器收到TCP SYN 包并返回 TCP SYN+ACK
包时,不分配一个专门的数据区,而是根据这个 SYN 包计算出一个 cookie 值。在收到 TCP ACK 包时,TCP 服务器在根据那个 cookie 值检查这个 TCP ACK包的合法性。
如果合法,再分配专门的数据区进行处理未来的 TCP 连接。
9-86.png
作者:余松

上一页 下一页