Meek 与域名前置:藏身 CDN 之中的 Tor 网桥
Tor Browser 中的每种网桥都是一次伪装练习,而 meek 走的是最大胆的路线:它完全不去改造 Tor 流量,只是把流量当作发往某家大型内容分发网络的普通 HTTPS 请求的正文来传送。其底层的域名前置技术,曾几何时在各大云服务商那里都可使用。问世十年之后,这项技术基本上只在一家那里存活下来,而 meek-azure 部署正是这个网桥家族中最后一个仍留在菜单里的成员。
域名前置如何藏起一条 Tor 连接
域名前置所利用的弱点在于:TLS 握手会给审查者递上一张现成的标签——Server Name Indication 字段写明了正在访问的站点。把这项技术引入反审查领域的 David Fifield 等人 2015 年的研究描述了前置如何斩断这条线索。一个域名出现在 HTTPS 请求的外层,出现在 DNS 查询和 TLS 握手中;另一个域名则出现在内层,出现在 HTTP 的 Host 头里。审查者只看得到门面。Host 头对审查者不可见,对接收请求的 CDN 却可见,CDN 读取它并把连接转发到真正的目的地。要阻断这种流量,就得连人带站封掉一个人流如织的普通网站,连同它所有正当用户一起。 meek 把这个想法做成了网桥。客户端把 Tor 流量的碎片包进 HTTP POST 请求,经由一个做前置的 CDN 推送到运行 meek-server 的网桥,由会话标识符把数据流重新拼起来;没有数据待发时,客户端也会继续发送空轮询,免得连接归于沉寂。在最初的设计里,这些请求甚至由真正的浏览器引擎驱动,因此那项研究可以这样形容所得流量:它看起来像浏览器,因为它就是浏览器。2018:前门关上了
整套方案立足于云服务商容忍两个层面之间的错位,而 2018 年他们不再容忍。据 Signal 的叙述,在 Signal 利用 App Engine 前置联系伊朗用户之后——谷歌自己对美国制裁法的解读早已把这些用户挡在门外——谷歌给出三十天通知,终止了域名前置支持。几周之后的 2018 年 4 月 27 日,亚马逊致信 Signal,警告其无权把 Souq.com 域名用作门面,威胁暂停其 CloudFront 账户,并推出 Enhanced Domain Protections,在整个 CDN 上终结了前置。Tor Project 当月即报道,两家公司都在拔掉插头,meek 在其网络上已不可用;Access Now 统计约有十几种人权工具受影响,Signal 和 Telegram 位列其中。 Signal 的结论毫不留情:作为反审查技术,域名前置已在很大程度上失去可行性;而它最后那句观察,道出了为何这些关停没有让审查者付出任何代价。"……审查者要做的只有等待。" - Signal,2018 年 5 月
meek-azure 为何幸存
有一家服务商没有加入撤退。Tor Project 当时指出,微软的 Azure 云仍然允许域名前置,而 2015 年的研究早已观察到结构性原因:Azure 的 CDN 只把请求转发到与 Azure 关联的域名,而亚马逊的 CloudFront 几乎转发到任何地方。meek 的 Azure 部署完全身处这片领地之内——端点托管在 Azure 自己的 CDN 上,藏在一个由微软控制的前端域名之后,请求从不需要跨越互不相关的公司。在谷歌和亚马逊不再允许可见名称与真实目的地各说各话之后,这种内部宽容就已经足够。Tor Project 从一开始就警告说,其他平台的关停没有给过它任何提前通知,Azure 的政策同样可能改变——这句保留意见自此一直伴随着 meek-azure。藏在明处的代价
让 meek 难以被封的种种特性,也让它又慢又贵。2015 年的研究中,多出的一跳 CDN 与请求驱动的设计使实测下载速度降至原先的大约二分之一到三分之一;Tor 目前的支持指引说得更直白:meek 有带宽限制,所以这个选项会相当慢。钱是另一道约束。meek 网桥每移动一个字节,都有人要向 CDN 支付流量费用,而最初部署在整个研究期间的账单是:Azure 565 美元、Google App Engine 3292 美元、CloudFront 3793 美元。研究人员还警告,对手可以随意吹大这张账单——大炮(Great Cannon)曾给其目标托管在云上的主机造成数万美元带宽费用的金融式拒绝服务问题,就是例证。什么时候 meek 才是合适之选
对大多数受审查用户而言,meek 是后备而非首选。Tor 目前针对中国的指引建议先试 WebTunnel,失败时再把 meek 和 Snowflake 列为后备。主流选项各自做了不同的取舍:- obfs4 打乱流量,快速又免费,但每座网桥都是一台独立服务器,其地址可能泄露或被扫描。
- Snowflake 借用志愿者提供的临时代理,易于扩展,但速度时高时低。
- WebTunnel 让 Tor 看上去像是对某个网站服务器的普通 HTTPS 连接,无需任何 CDN 巨头的配合。
- meek 藏在全网最繁忙的域名之一背后,能在最严苛的白名单下存活,代价是低速。










