apache通过SetEnvIf根据请求头识别CDN流量并放开,拦截DDOS流量,CDN部署时需要注意的安全问题,绕过CDN发现真实IP最佳实践

wuchangjian2021-10-25 06:49:07编程学习

本文起因于“部署了CDN仍然被发现真实IP”,分为两个主题;一是如何安全的部署CDN,二是如何发现部署CDN之后的真实IP。有点儿“自相矛盾”的味道了。

作者的服务器Ubuntu部署了腾讯云的CDN,并通过IP使用https回源,很意外的被发现有真实IP暴露的漏洞(这要感谢我们的团队研究员安全小蜘蛛)他发现是ssl证书泄露的真实IP,具体原因我自己也没有查明。

绕过CDN获取真实IP这个网站
可以帮助到你
https://censys.io/ipv4?q=uosblog.top
显而易见,查到了我的真实IP(但这已经不那么重要了)在这里插入图片描述
如何防御?CDN部署时需要注意的安全问题
如上,作者的服务器是通过IP回源的,如果禁用IP访问 (不能保证安全性,攻击者仍然可以通过修改hosts文件指定某域名对应的真实IP,基于IP的控制就会被绕过) 则无法回源,所以要标识CDN流量以供apache识别。

回源HTTP请求头配置,大多数CDN厂商都有这个功能
在这里插入图片描述
apache配置:
在这里插入图片描述
SetEnvIf,根据客户端请求属性设置环境变量,支持正则表达式匹配请求头
详解>>https://developer.aliyun.com/article/451524
在这里插入图片描述
匹配请求头xcdn: Tencent,如果匹配就放开

Order allow,deny
SetEnvIf ^xcdn* ^Tencent.* local_ref=0
Allow from env=local_ref

被拦截的会返回403:
在这里插入图片描述

关于ssl导致真实IP暴露的问题,我查到一文章说:假如没有CDN,服务器配置了https,浏览器通过https访问,这没有问题。
但是,有CDN的情况下,服务端配置了https,CDN通过https回源,这还是没有问题;但,用户通过https访问CDN;CDN的证书会泄露源IP。

相关文章

【Moasure魔尺】一款来自未来科技的测量设备

【Moasure魔尺】一款来自未来科技的测量设备

世界上第一款基于运动的测量工具 MOASURE-魔尺ONE 测量距离、角度、面积、圆...

OpenStack的网络

网络模块Neutron 两种ip,五种拓扑,三种网络 二...

通信网络的信息交换方式

通信网络由许多交换节点互联组成,交换节点转发信息的方式可分为电路交换、...

花店为什么要选代运营?

现在的人们都很重视仪式感,其中鲜花是表达仪式感最好的方式,而...

Spring Cloud简述及简单入门实例

1 概述 Spring Cloud基于Spring Boot,提供了多个组...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。