Skip to content

GFW 大战 Cloudflare,以及积至公司推荐的火爆翻墙项目免费且速度很快 #23

Description

@RememberOurPromise

去年准备发的,感觉影响大家白票CF的心情就没发,一直看到有不少油管频道推荐白票CF worker/pages,以及最近出现CF怀疑论,那还是发吧

里面有些过时或者错误,并不影响

另外,恭喜edgetunnel荣获2025年度最火爆翻墙项目奖 by GFW (geedge)

就是说GFW早把CF玩明白了,XD


来自积至(海南)信息技术有限公司(Geedge Networks Ltd.)产品,网络叙事者(Cyber Narrator)的文档

CDN_云厂商IP获取方式调研.html
Cloudflare接入方式调研.html
MASQUE特征.html
WARP行为特征.html
Warp阻断特征.html


Cloudflare接入方式调研

简介

Cloudflare向企业与个人用户,提供了多种接入Cloudflare边缘节点的方式,并利用云分发网络实现服务加速、零信任、威胁防护、无服务托管等业务。

由于不同业务功能的各类接入方式共享边缘节点,为了避免阻断某业务时的误伤,需对不同的接入方式进行细粒度分析。

接入方式

CDN

  • 原理:通过将DNS记录指向CDN,以HTTP/HTTPS标准协议接入Cloudflare的边缘节点,通过Host区分源站。
  • 业务:主要用于CDN加速、流量清洗等业务。
  • 传输协议:HTTP/HTTPS
  • 接入范围:所有边缘节点都可以接入

Cloudflare Workers \ Pages

  • 原理:Serverless代码云部署,全球接入。需要先注册cloudflare管理的域名,提交需要部署的代码,Cloudflare自动部署在云端,能够在全球各地的边缘节点通过SNI访问部署的服务。
  • 业务:网站无服务托管、翻墙代理(近期非常火爆的翻墙方式,免费且速度很快。 https://github.com/cmliu/edgetunnel?tab=readme-ov-file
  • 传输协议:HTTPS
  • 接入范围:所有边缘节点都可以接入
  • 催生了Cloudflare优选IP项目,为翻墙代理等自动寻找不同国家的网络质量最好的接入IP( https://github.com/XIU2/CloudflareSpeedTest
  • 数据包

Cloudflare Tunnel

  • 原理:在客户端和服务端分别安装Cloudflared软件,通过Cloudflare网络建立传输隧道。Cloudflared软件将流量(可为任意协议,如SSH)封装到HTTPS隧道发送到Cloudflare边缘节点,边缘节点根据SNI路由到指定服务器,服务器端的Cloudflared软件剥离隧道。
  • 业务:零信任网络、SASE
  • 传输协议:HTTPS
  • 接入范围:所有边缘节点都可以接入
  • 调研报告
  • 数据包

Cloudflare Warp

  • 原理:Cloudflare想通过Warp统一Client端接入Cloudflare边缘节点的方式
    • Warp基础功能:VPN加密流量,保护用户隐私,利用覆盖全世界的网络,接入并加速用户流量
    • Warp+:增加流量和节点覆盖范围
    • ZeroTrust:在Warp应用内,配置团队账户后,Warp就自动变身为ZeroTrust应用。除了基础功能外,能够为同一团队内的其他账户建立一个虚拟内网,提供统一的认证、权限管理、访问控制、流量清洗等功能。
  • 业务:VPN、ZeroTrust等
  • 传输协议:UDP私有协议
  • 接入范围:Warp(+)固定IP段与固定端口范围;ZeroTrust固定IP段与固定端口范围。二者不重叠

Cloudflare Spectrum

  • 原理:提供一些独立的IP,可以代理TCP和UDP协议的网络服务,并将其安全地连接到Cloudflare的全球网络中。可以帮助服务免受 DDoS 攻击和其他恶意流量的影响,同时提高服务的可用性和性能。Spectrum支持多种协议,包括HTTP、HTTPS、SSH、SMTP和RDP等,可以用于代理各种服务,如网站、游戏服务器、邮件服务器等。
  • 业务:非HTTP(S)协议代理
  • 传输协议:TCP、UDP
  • 接入范围:与公开的边缘节点不重合的独立IP
  • 调研报告

初步结论

Warp基础版是提供个人流量加密隐私保护和VPN功能的,主要用于翻墙。而Warp基础版接入Cloudflare边缘节点的方式,与其他方式能够区分开来,通过协议、IP和端口范围即可,初步判断不会误伤其他商业用途(ZeroTrust等)的Cloudflare接入流量。

Psiphon利用CDN节点做Domain Fronting,大概率也不是通过标准CDN方式进行,而是通过类似Cloudflare Tunnel的方式,即HTTPS隧道内可能为任意协议,而不局限在HTTP。


WARP行为特征

行为特征

域名访问行为

  • zero-trust-client.cloudflareclient.com
  • engage.cloudflareclient.com
  • api.cloudflareclient.com
  • a.nel.cloudflare.com

通信行为

  • 会话特征:WARP 使用 UDP 进行所有通信。默认情况下,WARP 所需的 UDP 端口为 UDP 2408。失败则依次尝试采用UDP 500、UDP 1701 或 UDP 4500(抓包工具根据端口将对应流量识别为ESP、ISAKMP、L2TP协议,但数据包格式不符合协议标准)。
  • IP静态
    • 经研发环境及E21现场拨测发现客户端在连接失败的情况下,不会切换其他IP地址。
    • 根据端口开放特征[2408、500、1701、4500]在E21现场查询,发现命中IP较少且集中,为162.159.192.2-10。且根据 官方文档 相关说明,基本可推测IP为静态特征。
    • 统计IP的1h全量日志,除承载上述4个端口的服务及相关域名的服务外,未发现其他HTTP、TLS、QUIC等常见服务,如 162.159.192.9_1.csv 。

封堵方案

基于Object封堵

(44.72环境)下发IP:port特征,封堵有效

基于流识别封堵

考虑到不同环境下节点和端口特征可能出现变化导致基于Object的封堵方案失效,尝试识别方案,对cloudflare节点上的意思Warp流量进行识别。

结合数据包内容分析,获得以下观测结论:

  • WARP可能采用不同的服务端端口进行通信,但UDP Payload模式固定。因此推测仅进行端口变换,封装手段不变。
  • 分析UDP Payload内容,格式与Wireguard协议基本一致。首字节取值为c1、c4(message_type),后续固定字节对应通信方标识及reserved字段,然后为8个字节长度的计数器。
  • 不同之处为message_type取值与标准格式取值不同。
  • 根据上述观察,基于flowmeter平台提取udp payload特征实现warp流量识别插件。

实验结果:
在xxg办公网流量环境下,客户端连接 warp 后大约 3-4s( 发送 200 包 ) 可以检测到对应的通信五元组,且监听流量持续一天未发现误报。
E21现场识别情况(1h):会话数万分之1,流量千分之1


Warp阻断特征

4月29日特征分析

Warp服务端IP探测

Warp采用wireguard魔改协议(被动流量功能端识别不出来),在Cloudflare公开的边缘IP列表上( https://www.cloudflare.com/zh-cn/ips/ ),探测协议开放情况。

150万个CF的IPv4地址中,约2000个可能作为Warp的服务端。开放IP段如下:

  • 162.159.192.0/24
  • 162.159.193.0/24
  • 162.159.195.0/24
  • 162.159.204.0/24
  • 188.114.96.0/24
  • 188.114.97.0/24
  • 188.114.98.0/24
  • 188.114.99.0/24
  • 2606:4700:d0::/48
  • 2606:4700:d1::/48

Warp实际使用的服务端IP

根据M现场测量情况,99.9%以上的流量都集中在10几个IP上,且阻断后不会切换到这些IP以外的其他IP,为尽量减少可能的Collateral Damage,warp与warp+的app特征仅配了这部分IP,能够达到很好的阻断效果。
特殊时期可以阻断所有上述IP的UDP流量

Warp的APP配置

App配置 协议 IP 端口
Warp UDP 2606:4700:d0::a29f:c002-2606:4700:d0::a29f:c00a
162.159.192.2-162.159.192.10
500,2408,1701,4500
Warp+ UDP 2606:4700:d1::a29f:c002-2606:4700:d1::a29f:c00a
162.159.195.2-162.159.195.10
Warp All UDP 162.159.192.0/24
162.159.193.0/24
162.159.195.0/24
162.159.204.0/24
188.114.96.0/24
188.114.97.0/24
188.114.98.0/24
188.114.99.0/24
2606:4700:d0::/48
2606:4700:d1::/48
非443端口

4月29日上线后流量分析与特征优化方案

Warp特征优化方案

Warp App和Warp+ App合并为一个App,可同时阻断免费和付费版Warp。
针对不同需求,共有两个特征方案:

  • 线上环境大范围生效时,按方案一配置特征,效果好的同时误F风险低
  • 演示环境下为保证阻断效果,可按方案二配置特征

方案一特征:

  • ip.dst(共40个IP)
    • 162.159.192.2-162.159.192.10
    • 162.159.195.2-162.159.195.10
    • 2606:4700:d0::a29f:c002-2606:4700:d0::a29f:c00a
    • 2606:4700:d1::a29f:c002-2606:4700:d1::a29f:c00a
  • ip.proto
    • UDP

方案二特征:

  • ip.dst(共约2000+个IPv4地址和2个IPv6地址段)
    • 162.159.192.0/24
    • 162.159.193.0/24
    • 162.159.195.0/24
    • 162.159.204.0/24
    • 188.114.96.0/24
    • 188.114.97.0/24
    • 188.114.98.0/24
    • 188.114.99.0/24
    • 2606:4700:d0::/48
    • 2606:4700:d1::/48
  • ip.proto
    • UDP
  • dstport != 443

特征&流量分析

统计时间范围:Asia/Yangon 2024-04-29 12:00:00 to 2024-04-29 14:00:00

方案 会话数 流量
方案1 39,866,660 387.067 TB
方案2 39,899,988 387.404 TB

解读

1)方案1的命中会话数占方案2命中会话数的99.92%,流量占99.91%。可见方案1的40个IP就能够覆盖99.9%以上的Warp流量。
2)方案2较方案1多命中的3w会话中,99.6%以上为BASE流量,通过端口等推测大部分为Warp流量。其余0.4%为QUIC(误命中),会话数为106,可通过设置端口条件(not 443)对这部分会话进行保护。
3)QUIC会话对应的服务端IP分布在188.114.96.0/24和188.114.97.0/24两个IP段,且占比较少,其余IP段均未出现QUIC流量。


MASQUE特征

说明

MASQUE,Media Application Substrate for QUIC Encryption,是Cloudflare从2023年6月开始开发的WARP新协议,它使用并扩展了 HTTP/3 和 QUIC,通过QUIC协议提供更快、更隐蔽的连接。

Warp 最初选择 WireGuard 协议,主要考虑其简单性和高效的加密隧道能力。然而WireGuard 也存在一些局限性,例如协议设计较为僵化,不易扩展,使用特定的加密算法,没有完全遵循现有加密标准中的灵活性和扩展性要求。Cloudflare Radar团队数据显示,虽然HTTP/2 仍然是目前互联网流量的主流协议,但 HTTP/3 正在迅速增长(2023 年 6 月的数据表明其占据了 28% 的市场份额)。因此Cloudflare推出MASQUE,以更好地支持 UDP 流量和 HTTP/3。

2024年9月发布的warp-ios 6.24版本中,客户端开始支持MASQUE协议。

优势:

  • 使用通过443端口连接,支持 TCP 和 UDP 流量,相比WireGuard降低了被阻断的风险
  • 良好的扩展性,支持基于未来协议扩展的功能优化,比如Multipath QUIC,解决网络切换导致的服务中断,优化服务体验

现象

  • 抓包现象:quic协议,sni固定。但xxg环境部分会话无法解析出sni, 待确认
  • server fqdn = consumer-masque.cloudflareclient.com
  • 会话量一小时14w,均为quic协议
  • 会话集中于162.159.198.1和2606:4700:103::1两个IP,会话数超过98%
  • 端口集中分布在443和8443,占比超过98%
  • server_ip in ('162.159.198.1' , '2606:4700:103::1')
  • 95%以上会话为quic协议:decoded_as字段QUIC占比约为61%,BASE 35%,其余为SSL;其中85%以上BASE会话的app_transition被标记为quic
  • 相关SNI除consumer-masque.cloudflareclient.com外,还有engage.cloudflareclient.com(<3%),未发现与warp无关的域名

方案

  • 基于sni特征。确认SNI解析问题,确认基于域名的阻断效果;
  • 基于quic/http3 + ip组合特征

参考


CDN/云厂商IP获取方式调研

云/CDN厂商提供:

第三方服务提供:

博客/网站情报:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions