记录一次 Cloudflare SaaS 域名泄漏测试
最近在使用 Cloudflare SaaS 和域名优选时,发现总是有来自中国大陆以外的流量连接我的私人域名,并被 Cloudflare 拦截。令我感到奇怪的是我直接使用 Cloudflare 代理的域名除了我的 IP 以外没有任何其他 IP 连接过,反而是刚刚添加到 SaaS 的域名立刻就有很多未知 IP 连接。百思不得其解之时,我打算找出域名泄漏的根源。

测试方法
在使用 Cloudflare SaaS 和域名优选时,一共有 3 个环节能够泄漏域名:主域名解析记录(最终访问的域名)、优选域名解析记录(分流解析的域名)、辅助域名解析记录(SaaS辅助域名)。
对于这 3 个环节,我分别在主域名添加 3 条测试解析记录,分别解析到优选域名、辅助域名和 DNSPod 域名,均关闭 Cloudflare 的 DNS 代理,DNSPod 域名的记录指定为 Cloudflare 的 IP 地址(这样才能被 Cloudflare 的防火墙记录)。在主域名和辅助域名的防火墙规则中,分别设置防火墙规则阻止访问这 3 个记录的请求。我所使用的子域名均是无意义字符,正常情况下不可能有人会在深夜(测试时是晚上 11 时)访问这些域名,因此可以通过检查防火墙日志来判断域名是否泄漏。
测试结果
直接解析优选域名测试
对于第 1 条记录(直接解析优选域名),除了我自己因为测试规则出现的防火墙记录之外,没有记录到任何访问请求。可以认为单独使用 Cloudflare 直接解析是不会泄漏域名的。

使用 SaaS 解析辅助域名测试
对于第 2 条记录(使用 SaaS),在添加解析记录后,立刻出现了上百条访问记录,其中记录下的用户代理不乏“Leak”等字样。可以认为单独使用 Cloudflare SaaS 会造成域名泄漏。

解析到 DNSPod 测试
对于第 3 条记录(解析到 DNSPod 域名),和直接解析一样,没有记录到任何除了我自己外的访问记录。因此也可以认为单独使用 DNSPod 也不会泄漏域名。

结论和后记
Cloudflare SaaS 出于某种原因会泄漏使用的域名,无论是主域名还是 CNAME 指向的域名都会被泄漏,对 IP 优选私人服务的域名需要谨慎使用。
我会继续保留 3 条测试域名,如果结论出现偏差,我会更新本文内容。