• 欢迎访问UOS博客,推荐使用Chrome浏览器访问本网站,欢迎加入UOS博客 注册
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏UOS博客吧

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

CSDN文章 wendy 2年前 (2022-02-19) 636次浏览 已收录 0个评论 扫描二维码

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

有点儿“自相矛盾”的味道了。

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

绕过CDN获取真实IP这个网站可以帮助到你
https://censys.io/ipv4?q=uosblog.top
显而易见,查到了我的真实IP(但这已经不那么重要了)apache通过SetEnvIf根据请求头识别CDN流量并放开,拦截DDOS流量,CDN部署时需要注意的安全问题,绕过CDN发现真实IP最佳实践
如何防御?

CDN部署时需要注意的安全问题
如上,作者的服务器是通过IP回源的,如果禁用IP访问 (不能保证安全性,攻击者仍然可以通过修改hosts文件指定某域名对应的真实IP,基于IP的控制就会被绕过) 则无法回源,所以要标识CDN流量以供apache识别。

回源HTTP请求头配置,大多数CDN厂商都有这个功能
apache通过SetEnvIf根据请求头识别CDN流量并放开,拦截DDOS流量,CDN部署时需要注意的安全问题,绕过CDN发现真实IP最佳实践
apache配置:
apache通过SetEnvIf根据请求头识别CDN流量并放开,拦截DDOS流量,CDN部署时需要注意的安全问题,绕过CDN发现真实IP最佳实践
SetEnvIf,根据客户端请求属性设置环境变量,支持正则表达式匹配请求头
详解>>https://developer.aliyun.com/article/451524
apache通过SetEnvIf根据请求头识别CDN流量并放开,拦截DDOS流量,CDN部署时需要注意的安全问题,绕过CDN发现真实IP最佳实践
匹配请求头xcdn: Tencent,如果匹配就放开

Order allow,deny

SetEnvIf ^xcdn* ^Tencent.* local_ref=0

Allow from env=local_ref

被拦截的会返回403:
apache通过SetEnvIf根据请求头识别CDN流量并放开,拦截DDOS流量,CDN部署时需要注意的安全问题,绕过CDN发现真实IP最佳实践 关于ssl导致真实IP暴露的问题,我查到一文章说:假如没有CDN,服务器配置了https,浏览器通过https访问,这没有问题。
但是,有CDN的情况下,服务端配置了https,CDN通过https回源,这还是没有问题;但,用户通过https访问CDN;CDN的证书会泄露源IP。


UOS博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:apache通过SetEnvIf根据请求头识别CDN流量并放开,拦截DDOS流量,CDN部署时需要注意的安全问题,绕过CDN发现真实IP最佳实践
喜欢 (0)
wendy
关于作者:
Linux运维、录音师,入门小白一枚。

您必须 登录 才能发表评论!