当攻击者发现目标站点存在cdn防护的时候,会尝试通过查找站点的真实IP,从而绕过CDN防护。
我们来看一个比较常见的基于公有云的高可用架构,如下:
CDN(入口层)->WAF(应用层防护)-> SLB(负载层)-> ECS(源站) -> RDS(数据库)
即对应关系为:域名 cname CDN,CDN—>WAF,WAF—> SLB,SLB—> ECS。
SLB:Server Load Balancer 网络服务器之间的负载均衡
客户端向虚拟服务器发起连接时,通过某种负载均衡算法,转发到某真实服务器。
我们重点来关注一下CDN—>WAF—>SLB—>ECS这几层服务的关系。
假设,攻击者知道SLB的真实IP地址,就可以直接访问SLB的ip地址,从而轻易绕过CDN+WAF的安全防护。
如何防止CDN被绕过呢?
这里分享一个CDN防护技巧,通过中间件配置只允许域名访问,禁止ip访问。
这样处理的话,所有直接访问站点真实IP的请求都会被拒绝,任何用户只能通过域名访问站点,通过预先设定的网络链路,从DNS–>CDN–>waf防护–>源站,所有的访问请求都必须经过WAF检测。
即使攻击者找到了真实IP地址,修改本地hosts文件,强行将域名与IP解析,也无法访问到目标站点。
Nginx参考配置:
server { listen 80 default; server_name _; return 403; } server { listen 80; server_name www.demo.com; .........
Apache参考配置:
<VirtualHost 此处填写IP> ServerName 此处填写IP <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost> <VirtualHost 此处填写IP> DocumentRoot /var/www/html ServerName 此处填写域名 </VirtualHost>
原文链接:https://blog.csdn.net/qq_51550750/article/details/125471104?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165918321816782395318700%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165918321816782395318700&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-1-125471104-null-null.nonecase&utm_term=cdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/285