如何防止CDN防护被绕过
2020-03-13 18:29:45 Author: www.secpulse.com(查看原文) 阅读量:429 收藏

当发现目标站点存在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>
</VirtualHost>

<VirtualHost 此处填写IP>
       DocumentRoot /var/www/html        
       ServerName   此处填写域名
</VirtualHost>

我们再来思考一个问题?

如果攻击者有了真实IP地址,修改本地hosts文件,强行将域名与IP解析,从而本地访问请求是无需经过DNS解析,还是可以绕过CDN防护。

这个策略,本质上是一个减缓措施,增加了寻找真实IP的难度。

本文作者:Bypass007

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


文章来源: https://www.secpulse.com/archives/125603.html
如有侵权请联系:admin#unsafe.sh