当攻击者发现目标站点存在CDN防护的时候,会尝试通过查找站点的真实IP,从而绕过CDN防护。
我们来看一个比较常见的基于公有云的高可用架构,如下:
CDN(入口层)->WAF(应用层防护)-> SLB(负载层)-> ECS(源站) -> RDS(数据库)
即对应关系为:域名 cname 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检测。
即使攻击者找到了真实IP地址,修改本地hosts文件,强行将域名与IP解析,也无法访问到目标站点。

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> IIS参考配置: 网站绑定,绑定主机名就可以了
 

最新文章

  1. HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
  2. 为什么用evernote
  3. EWM 强大的数据修复功能
  4. Tomcat服务器与MyEclipse绑定
  5. 荣耀3X畅玩版狙击红米note!
  6. VS2012中使用编译的Qt-5.1.1静态库开发程序
  7. 如何在MyEclipse中配置jre的编译运行环境
  8. ExtJs异步无法向外传值和赋值的解决办法,亲测有效
  9. ASP.NET Core中使用IOC三部曲(三.采用替换后的Autofac来实现AOP拦截)
  10. C#之AES256位加密解密
  11. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署
  12. google的GCM推送使用简介
  13. iOS 控制台po不出值
  14. Elinks介绍
  15. SQL Server 常用SQL
  16. 前后端如何保持长连接?---websocket
  17. jvm内存增长问题排查简例
  18. 基于jquery分页插件
  19. warning:ISO C90 forbids mixed declarations and code
  20. vbs执行系统命令

热门文章

  1. flume面试题
  2. python快速入门基础知识
  3. 50行代码实现GAN | 干货演练
  4. Linux的五种IO模型及同步和异步的区别
  5. Go语言库系列之aurora
  6. Day19-apache
  7. 运输问题中产销不平衡问题(表上作业法和LINGO方法)
  8. 实践指路明灯,源码剖析flink-metrics
  9. MySQL从库实用技能(一)--巧用slave_exec_mode参数
  10. Redis设计与实现笔记 - hash