怎样保护CDN节点来应对DDOS攻击

使用CDN将有助于防御DDoS攻击。 CDN节点可以组建成一个大规模的流量负载集群,因此它能够处理的突发流量远远高于网站本身的源站服务器。此外,一些好的CDN服务商如Cloudflare往往拥有经验丰富的工作人员,技术和流程,并对DDoS攻击的缓解做了更充分的准备。


然而,在CDN后面所保护的服务器,一般叫做CDN的源站,需要时它能为CDN提供内容服务。当然攻击者可能穿透源服务器,比如CC攻击,那么CDN将无法从源站取回内容了,因此您的最终用户就不能被提供内容服务。


在这篇文章中,我列出两种选择来保护你的CDN后面的源站。你的目的是只应答从CDN处传来的接收(允许)请求。来自别的第三方的请求被阻止。

IP速率限制

保护源站服务器的一种方式是做IP速率限制:在定的时间内从一个IP地址的请求数只允许X次。这些限制不会作用于CDN,因为一个CDN会从一个小数量的IP地址做许多有效的请求,而且你愿意把所有这些请求都允许经过。

白名单

另一种有效的方法是只允许请求来自于你的CDN白名单。在理论上,这应该很有效,但在实践中很难见效。你可以添加白名单的IP地址或请求头中的一些独特的标识符。


选项​​A:白名单IP地址

IP地址白名单所面临的挑战是,你需要总是有IP地址的所有CDN边缘服务器,这可能hit你的节点。这是注定要失败的。因为许多的CDN不会给你的IP列表,即使他们给你,当他们添加新的IP地址时也不能完整做到全部通知你更新IP列表。


请求头中添加唯一白名单标识符

这个想法很简单:CDN在发送请求时加入一些独特的标示符,您可以在CDN节点利用它来做识别,并允许请求。你需要询问你的CDN提供商关于它的正确性,以便确定对于你这是否这是一个可行的选项。但是,即使这样,也不能完全确定。因为在节点请求头可以自由设定。如果他们知道你使用的特定CDN,并且知道在节点该CDN的识别规则,他们可以很容易地伪装成功。


选项​​B:投递起源主机

这是一个简单的伎俩,这也是最好的解决方案。创建一些随机的,长的字母数字字符集作为子域,。例如:205ck07023nckhfsh92485.example.com。这样,此主机名将只知道这台CDN,那么DNS提供商的所有者能猜这些到吗?是的,但可能性极小。

简单的在请求白名单HOST头中添加主机名,你就大功告成了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值