登录 注册 遭到攻击?

云waf如何防御ddos攻击

  • 2021-01-27 11:19:03
  • 浏览 2158

       近几年DDoS攻击不管是从数量还是规模都翻倍增长,而人们常用的防御手段就是硬防和WAF防火墙,由于硬防成本太高,所以WAF防火墙越来越受到互联网企业欢迎,这里就跟大家讲解一下云waf如何防御ddos攻击。

  首先来看一下什么是DDoS攻击

  DDoS攻击是指,利用B/S技术,联合多个计算机作为攻击平台,对一个或多个目标发动攻击,从而成倍提高攻击的威力。

  再列一些DDoS攻击相关的名词解释:

  畸形报文:主要是指Frag Flood、Smurf、Stream Flood、Land Flood攻击,以及IP畸形包、TCP畸形包、UDP畸形包。

  传输层DDoS攻击:主要是指Syn Flood,Ack Flood,UDP Flood,ICMP Flood、RstFlood等攻击。

  Web应用DDoS攻击:主要是指HTTP Get Flood,HTTP Post Flood,CC等攻击。

  DNS DDoS攻击:主要是指DNS Request Flood、DNS Response Flood、虚假源+真实源DNS Query Flood、权威服务器和Local服务器攻击。

  连接型DDoS攻击:连接型DDoS攻击主要是指TCP慢速连接攻击,连接耗尽攻击,Loic,Hoic,Slowloris, Pyloris,Xoic等慢速攻击。

  防范原理

  防御DDoS攻击最有效的方式是使用清洗设备对所有流量进行“清洗”,尽可能的筛去攻击流量,然后将剩余流量给与到应用服务器。

  DDoS防御是一种资源对抗的防御,攻击者由于采用的是违法手段获取的失陷主机(肉鸡),所以攻击成本远远小于防御成本,这是攻防不对等的原因。

  下面以阿里云为例介绍一下云上如何应对DDoS攻击,其他云思路类似。

  不同业务采用不同对抗策略

  针对各种流量攻击场景的分析

  1.在总出口处,启用流量清洗服务(设备)

  如果是CDN,则使用平滑迁移至SCDN方案。获得抵抗流量攻击,cc攻击的能力

  如果是WAF,根据需要防御的具体攻击种类,选用DDoS高防IP / DDoS防护包 / SCDN

  如果是SLB,根据需要防御的具体攻击种类,选用DDoS高防IP / DDoS防护包 / SCDN

  如果是EIP / NAT网关 / ECS公网IP,根据需要防御的具体攻击种类,选用DDoS高防IP / DDoS防护包 / SCDN

  2.使用SLB白名单模式

  SLB上,只允许清洗设备的回源IP地址和其他可信地址(可能不存在该需求)访问SLB的对外地址,使SLB更安全,或者在SLB已经暴露/正处于攻击中的情况下,将避免攻击者绕过清洗设备的情况。

  对于4层接入,只有使用SLB才能用白名单模式。

  7层接入,虽然(原本处于SLB后端的)ECS使用安全组或主机防火墙,也可以达到白名单的效果,但是依然强烈建议使用SLB,即使只有一台ECS也是如此。

  3.确保后端有足够的能力应付少许“漏网”的恶意请求

  高防有不同的清洗策略,默认策略(也是推荐在没有攻击时,使用的策略)为了照顾业务,是标准偏宽松的策略。存在放行一些攻击的可能。

  所以要确保后端应用服务器在混入少许攻击流量的情况下,要能应付过来的能力(CPU / 内存 / 磁盘)。

  4.确保后端应用,不主动暴露自身公网出口IP

  部分应用架构在设计时,没有考虑过后续可能存在的安全防护节点(代理)。程序内会主动告知客户端,自身的公网出口地址。这种设计在没有防护代理时,显现不出安全上的不足,一旦使用了安全代理后,此类主动“暴露”的行为,相当于直接给攻击者开辟了“曲径通幽”。

  如果有该行为,必须立刻对应用进行改造,常见做法是原本返回给客户端的(应用服务器的)公网出口IP,替换为解析到清洗设备IP的域名。一般情况下该方法改动最小,由相关方评估该方案可行性,快速获得结论。

  5.涉及到需防护相关资源的IP不能被其他域名所解析

  要保护的IP请一并纳入到清洗服务中来。或与需要被防护的域名使用不同的资源。避免被牵连/波及,”躺枪“。

  即使WAF/SLB/EIP从未被需要防护的域名所解析过,但是如果这写域名被其他域名所解析了。依然存在了暴露他们IP的风险,从而给攻击者绕过清洗设备直接攻击的机会。

  该风险的大小由”其他域名“与”被防护域名“的联想关联性有关。

  可能,但不仅限于以下情况:

  域名存在任意级别的父子关系,如 example.com 与 www.example.com,反之亦然

  域名存在旁站关系,如 server1.example.com 与 server3.example.com

  域名存在”人类联想关系“,如 example.com 与 example.net

  域名元数据相同,或有进一步的联想关系,如2个域名的联系邮箱相同,或他们的邮箱可以有进一步,或任意有限步的关联。

  6.预防措施

  对于业务连续性要求高的客户,请优先想办法解决“预算问题”;“预算不足”的应对措施,无法保障业务连续性,是为”下下之策“。

  7.预算充足

  在应用生命周期的最初(最晚为,内部测试后,公开测试前),部署清洗服务,并在所有转发的代理节点上启用白名单机制,仅允许可信流量通过。

  (如果需要)结合成本的情况下,评估可能遭受的攻击峰值,设定合理的防护弹性上限(超过上限表示因成本原因放弃访问,业务将中断)。

  8.预算不足

  根据预算情况:

  如果被攻击时准备购买清洗服务

  请至少额外购买2组公网IP/SLB,并配置为与当前真是提供服务的EIP/SLB一直。但是不要设置任何解析。并测试确保能够正常工作。

  当判定业务正遭受DDoS攻击,业务已经/将要中断时,将相关业务的域名解析切换到上文提及的备用 EIP/SLB上,为自己赢得“喘息之机“(业务中断时间试相关域名TTL,及最终用户的DNS服务器缓存,最终用户本地DNS缓存决定)。

  该“喘息之机“时间长短由,”攻击者多久发现业务域名解析变化,并立刻调整攻击流量的目的(新IP)“之情况决定。

  该”喘息之机“期间,以最快速度购买/配置清洗服务,并将清洗后的流量转发至上文提到的,未使用的、提前准备的 EIP/SLB 之上。测试正常后,立刻切换相关域名到清洗设备上。

  如果被攻击时不准备购买清洗服务

  请至少额外购买1组公网IP/SLB,并配置为与当前真是提供服务的EIP/SLB一直。但是不要设置任何解析。并测试确保能够正常工作。

  当判定业务正遭受DDoS攻击,业务已经/将要中断时,将相关业务的域名解析切换到上文提及的备用 EIP/SLB上,然后继续购买至少1组以防备用。

  当攻击者攻击新的IP时,可以继续切换,如此反复。改过程可以使用相关API结合脚本,形成半自动/全自动。但是每次切换,业务中断是无法避免的。

攻击防护热线

您的隐私对我们很重要。