如何防止CDN防护被绕过

2020-03-13 5,377

当发现目标站点存在CDN防护的时候,我们会尝试通过查找站点的真实IP,从而绕过CDN防护。

我们来看一个比较常见的基于公有云的高可用架构,即:

域名-->CDN,CDN-->WAF,WAF-->SLB,SLB-->ECS。

我们重点来关注一下CDN-->WAF-->SLB-->ECS这几层服务之间的关系吧。

假设,攻击者知道SLB的真实IP地址,就可以直接访问SLB的ip地址,从而轻易绕过CDN+WAF的安全防护。

如何防止CDN被绕过呢?

这里分享一个CDN防护技巧,通过中间件配置只允许域名访问,禁止ip访问。

这样处理的话,所有直接访问站点真实IP的请求将会被拒绝,任何用户只能通过域名访问站点,通过预先设定的网络链路,从DNS→CDN→waf防护→源站,所有的域名访问请求都必须经过WAF检测。

Nginx参考配置:

#添加一个server,在原server里绑定域名
server  {
        listen 80 default;        
        server_name _;        
        return 403;    
   }
server {
        listen       80;        
        server_name  www.demo.com;        
        .........

Apache参考配置:

 #在httpd.conf最后面加上
 
 <VirtualHost 此处填写IP>  ServerName 此处填写IP
 <Location /> Order Allow,Deny Deny from all</Location>
 DocumentRoot /var/www/html   ServerName  此处填写域名</VirtualHost>

我们再来思考一个问题?如果攻击者有了真实IP地址,修改本地hosts文件,强行将域名与IP解析,从而本地访问请求是无需经过DNS解析,还是可以绕过CDN防护。这个策略,本质上是一个减缓措施,增加了寻找真实IP的难度。


本文作者:Bypass007

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/125603.html

Tags:
评论  (0)
快来写下你的想法吧!

Bypass007

文章数:60 积分: 198

一个网络安全爱好者,对技术有着偏执狂一样的追求。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号