当有人问如何封锁 VPN 用户时,这句话里其实藏着三种不同的诉求:阻止欺诈、阻止抓取,或执行许可边界。三者的容错率不同,而知道某个地址是否属于隧道,并不能回答其中任何一个。分类器返回的只是关于基础设施的概率,而不是关于使用者的判断。

IP 分类器实际计算什么

多数服务会合并四类数据源,它们的过时速度各不相同。Tor 出口名单来自目录共识,只要共识还在就接近完整。开放代理名单并不完整,几天内就会过时。商业出口名单出于设计必然落后于新服务商,因为地址轮换的速度快过任何供应商的抓取速度。托管网段的启发式规则是最便宜也最粗糙的信号。

最后一项正是大多数误判诞生的地方。企业出口、云端浏览器、校园 NAT 和移动运营商网关看起来都像托管或共享基础设施,而每一类都可能包含普通客户。

SignalWhat it showsTypical failure
Tor exit consensusA known exit relayGood coverage, obvious to anyone who cares
Hosting or datacentre ASNInfrastructure, not a home lineFlags corporate egress and cloud browsers
Commercial exit listA provider's current rangesAlways behind new providers and rotations
Behavioural rateWhat the client is doingNeeds tuning, but survives address changes

IPv6 抹掉了最后一点舒适。客户端可以每个连接换一个地址,服务商也可以在不同请求间轮换前缀,因此把地址当作持久身份的规则,几周内就会脱离现实。

协议指纹为什么会衰减

MSS 与时序差异可以识别部分 OpenVPN 配置,这项技术确实脆弱。信号取决于用户可控的选项、路径 MTU,以及你并不拥有的中间设备。换一个加密算法或改一处 MSS 限制,指纹就会移动。发布新默认值的服务商,一夜之间就能对你的规则做出同样的事。

反向探测的问题比脆弱更严重:它带有敌意。扫描访客端口既慢,又容易被客户所在的同一道企业防火墙拦下,在隐私审查中也难以自辩。延迟阈值抓到远程用户的可靠程度,和抓到隧道用户一样高,这意味着你的规则其实是换了个标签的“封锁远处的人”。

无论选什么,你都必须能在凌晨 2 点向客服解释清楚。没人能描述的信号,会变成没人能撤销的封禁。先写解释,再写规则,而不是等第一次投诉之后。

身份与行为胜过对匿名性的猜测

速率限制、登录要求、支付校验和按账户配额,能在不惩罚在意隐私的读者的前提下处理滥用。地址变化时它们仍然有效,因为它们依附于客户端无法免费更换的东西。

如果地理限制是许可要求,就把它作为有文档的策略执行,配上明确的错误提示和定期复核。这与猜测匿名性是两种不同的控制,在面向客户的文案里也应分开描述。封锁 VPN 协议使用的端口也许能减少自动化滥用,但同时会破坏合法的远程访问,任何有心人都能轻易绕过。

先以测量方式上线

先让分类器以只报告模式运行几周。把它本会封锁的人群与注册、转化和客服工单对比,然后先定误判预算,再定阈值。

用一小批已知样本复测:家庭宽带、移动运营商、企业出口和商业 VPN。四个案例就能暴露大多数本会落到客户身上的错误,成本只有一个下午。

把原始信号与执行决定分开。即使阈值很高也要记录分数,把模糊的中间地带送进人工队列,并给每次封禁打上原因代码,这样下一次策略复核才能说清哪个信号配得上它的位置。

申诉通道是控制的一部分

每一次自动封禁都需要一条人工通道:联系地址、承诺的响应时间,以及具名的复核负责人。没有它,误判就是一个悄然流失的客户和一张无人能处理的工单。

明确说明访问可能受限、原因,以及如何申请复核。给策略做版本管理,让客服能说出某天适用的是哪条规则。你无法解释、撤销或测量的封禁不是控制,而是带一行日志的猜测。

相关文章