← 返回博客

Tor 出口节点详解:并不总是威胁

Tor 出口节点详解:并不总是威胁

Tor 出口节点是 Tor 电路中的最后一跳中继,即当 Tor 用户连接网站时,网站所看到的那台服务器的公网 IP 地址。来自出口节点的流量在设计上是匿名的,这使其看起来不同寻常,但它并不自动等同于恶意,把它当作恶意来对待会拦住许多合法的人。

Tor 电路如何工作

Tor 会构建一条由三个中继组成的电路。入口守卫知道用户的真实 IP 地址,但不知道目的地。中间中继只知道自己的相邻节点。出口中继解密最后一层,并将请求发送到目标服务器,所以它知道目的地,但不知道是谁在请求。每一跳都会增加一层加密,“洋葱路由”这一术语即由此而来。没有任何单个中继能同时看到对话的两端。

这对网站运营者的后果是,可见的客户端地址是出口中继的,而不是用户的。一个出口可能同时承载成千上万人的流量,这就是为什么单个地址似乎能在几分钟内浏览多个国家的网站,也是为什么对它的国家或城市查询描述的是中继的托管位置,而不是任何访问者的位置。关于位置为何描述的是网络而不是人,详见为什么 IP 位置对人来说是错的。

谁在使用 Tor

记者用它保护信息来源,限制严格国家的人们用它访问被封锁的网站,注重隐私的个人用它避免被追踪。这些用户占 Tor 流量的相当一部分,而一刀切地拒绝整个网络的规则,会因为他们选择的工具而把他们当作嫌疑人。滥用同样存在:撞库、爬取和垃圾信息都可以使用 Tor,因为它免费且容易使用。坦率的总结是,这个网络鱼龙混杂,而该标记告诉你的是路由,而不是意图。

检测 Tor 流量

出口中继作为 Tor 网络目录的一部分被公开发布,因此检测就是对当前出口地址列表的查询。问题在于新鲜度,因为中继不断加入和退出,详见为什么静态 Tor 出口列表会过时。ipto 的 IP 查询会返回 is_tor 标记,其威胁情报源每 6 小时刷新一次,你可以在 VPN、Tor 与代理检查器中测试某个地址。阴性结果意味着“未知为 Tor”,而不是保证。

同一响应还包含 is_abuser、is_vpn 和 is_datacenter,以及 asn 和所属组织。要点正在于将这些结合起来阅读:is_tor: true 且 is_abuser: false 描述的是没有已知不良历史的隐私路由,需要的处理方式不同于同时出现在滥用情报源中的 Tor 地址。IP 滥用检查器展示了这种信誉如何在多个来源之间交叉佐证,而不是依赖单一来源。

运营出口中继

出口运营者背负着特殊的负担,因为其用户的所作所为引起的滥用投诉都会落到运营者的地址上。许多运营者会在中继的 IP 地址上发布一份说明,解释这是 Tor 出口,且运营者无法控制流量,并通过注册管理机构的联系数据处理投诉。如果你在调查来自某个出口地址的滥用行为,IP whois 查询会显示该地址块的注册记录和滥用联系人,通常是托管服务商或明知故犯地运行中继的组织。在那里上报事件,比向别处升级更有用,因为运营者无法看到具体是哪位用户。

合理处理 Tor 流量

正确的策略取决于你要保护什么。公共新闻网站没有什么理由区别对待 Tor 访问者,而支付表单或账户恢复流程则有充分理由增加摩擦。介于放行与拒绝之间的选项包括:

  • 对登录、注册和搜索端点上的 Tor 地址应用更严格的速率限制。
  • 对敏感操作显示验证挑战或要求第二因素,而不是拒绝请求。
  • 允许只读浏览,同时限制创建账户或结账。
  • 将 Tor 标记输入综合决策,例如来自欺诈评分检查器的 0-100 数值,而不是单独据此行动。
  • 记录促成每次决策的信号,以便复核误报。

监管或合同要求有时确实需要封锁匿名化网络,例如出于授权或制裁合规,这是正当的商业决策。只要有意识地做出这一决定,知道它同样会排除那些没做错任何事的人,而且基于过时列表的封锁在两个方向上都会出错。

直截了当的答案

Tor 出口节点是 Tor 电路中的最后一个中继。它将用户的请求发送到目标网站,因此网站看到的是出口中继的 IP 地址,而不是用户的。
不是。记者、限制严格国家的人们和注重隐私的用户都在使用 Tor,不过它也被用于爬取或撞库等滥用行为。is_tor 标记显示的是路由,而不是意图。
一刀切的封锁会排除许多合法用户,因此对敏感操作采用速率限制、验证挑战或升级验证通常更好。仅在政策或合规要求时才进行封锁。
← 返回博客