当前位置

关于Cloudflare的2a06:98c0:3600::103这个IPv6地址

James Qi 在 2022年7月7日 - 16:31 提交

近期我们发现Apache日志中2a06:98c0:3600::103这个IPv6地址出现非常多,User Agent一般都是显示的googlebot,我们刚开始以为是Google爬虫使用了IPv6地址,但有些User Agent又不是googlebot,所以有点迷惑,因为这是来自Cloudflare的访问,所以我们想可能是一个反向代理IP,想获取其背后真实访问者的IP地址。🤔️

查看以前博文《Apache安装mod_remoteip获取CDN背后访问者真实IP》,我们的httpd.conf中设置了:

RemoteIPHeader CF-Connecting-IP
RemoteIPTrustedProxy 2a06:98c0::/29

而2a06:98c0:3600::103这个IPv6地址是属于2a06:98c0::/29范围内的,应该是可以转换出来背后的真实地址,但无论我们怎么调试(例如RemoteIPHeader CF-Connecting-IP改为CF-Connecting-IPv6或者X-Forwarded-For等)都没有让2a06:98c0:3600::103改变。

同事昨天给Cloudflare的客服发了工单,今天就接到回复:

Hi there,

Thanks for contacting Cloudflare support. My name is Weronika and I will be looking into this ticket for you.
We're sorry to read that you're experiencing difficulties.

You are seeing the IPv6 request in your logs not because the cloudflare_mod isn't working but because it's worker request.

In cross-zone subrequests from one Cloudflare customer zone to another Cloudflare customer zone, the CF-Connecting-IP value will be set to the Worker client IP address '2a06:98c0:3600::103' for security reasons.

You can read more here: https://developers.cloudflare.com/workers/runtime-apis/headers/

Hope this sheds some light on the situation.

Kind regards,
Weronika | Cloudflare Support Engineer
Login to join the Cloudflare Community for instant advice & insight.

原来cloudflare_mod或者mod_remoteip都是没有错的,显示2a06:98c0:3600::103的原因是这些访问来自Cloudflare的Workers,这些其它域名的Worker访问我们网站的时候,因为安全原因其IP地址都显示2a06:98c0:3600::103。

我们此前自己也尝试过CloudFlare的Workers,知道可以用做采集访问或者代理服务,那么其他人也可以用Workers来采集我们网站数据。在网上搜索到一些帖子,别人也遇到过类似问题,都是说被这个IP大量采集,还有AbuseIPDB » 2a06:98c0:3600::103的投诉众多。

知道这些访问者多是伪装User Agent冒充Googlebot来访问的,那么也就可以大胆屏蔽了。在网上搜到别人说可以在Cloudflare的WAF规则中使用cf.worker.upstream_zone进行屏蔽,但我们尝试了下面几种规则都无法真正屏蔽:

(not cf.worker.upstream_zone in {"" "yourdomain.tld"})
(cf.worker.upstream_zone ne "")
(ip.src eq 2a06:98c0:3600::103)

只好在apache的htaccess中来屏蔽,如下:

# 2022-7-7 Cloudflare Workers IPv6
RewriteCond %{REMOTE_ADDR} ^2a06:98c0:3600::103$
RewriteCond %{HTTP_REFERER} ^$
RewriteRule .* - [F,L]

这个屏蔽是有效的,马上从日志中看到这些访问都变成403被拒绝了。❌

结合上周我们“关于Cloudflare的253.102.157.193这个Pseudo IPv4”采取的行动,7月1号把Cloudflare中设置Pseudo IPv4为“覆盖标头”的都改为了“关”以后,253.102.157.193这个保留的IPv4地址都变成了2a06:98c0:3600::103这个IPv6地址,依然每天在各台服务器上访问几十万页,这两天又仔细查看,这个IPv6地址是Cloudflare的Workers的统一IP地址,依然不是真实的访问IP地址。这种利用Workers来采集的办法应该去年甚至更久前都存在了,我们没有留意、也没有找到真实原因,现在终于被封堵了。✌️


2022年7月28日补充:经过一段时间的观察,发现这个IPv6地址过来的并不都是利用Cloudflare的Workers过来采集的,甚至绝大多数都不是采集的,而是正规的Google爬虫,但Googlebot通过这个IPv6地址被屏蔽后会马上又用正常的66.249.xxx.xxx这种IPv4地址来爬一次。这究竟是怎么搞的,我们还在与Cloudflare的客服联系。今天先把.htaccess中屏蔽这个IPv6地址的几行代码注释取消了。

自由标签:

评论

看了你的文章,写了一篇百分百屏蔽cf反代的方法,可以转载,不强求注明但是尽量保留出处

Cloudflare cf使用workers搭建一个简单的免费页面反代系统
https://bbs.itzmx.com/thread-100054-1-1.html

网站屏蔽Cloudflare cf使用workers搭建的反代爬虫bot,REMOTE_ADDR header头部禁止 2a06:98c0:3600::103 ipv6地址,非真实浏览器禁止访问
https://bbs.itzmx.com/thread-101376-1-1.html

写得不错啊,看得出对Cloudflare研究很深入👍我就不复制转账了,你在这里留下的链接别人就可以访问

James Qi / 祁劲松

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。