为什么共享 VPN 出口会触发并非由你引起的登录警告
登录拦截通常是风险评分,而不是对你隧道的判决。共享出口会改变还有谁被计入这个评分,以及这给他们带来什么代价。
通过 VPN 打开熟悉的网站,却遇到额外的验证,最诱人的解释是隧道被检测到了。确实有东西被检测到,但那不是你。网站对一组信号打分,其中之一就是源地址,而这个地址与陌生人共享,他们可能在一分钟前制造了登录失败。把这一决定读成关于你连接的判决,是误解了评分的目的。
源地址能确定什么,不能确定什么
IP 地址描述的是某一时刻穿过网络的一条路径。它不能识别一个人、一台设备,甚至一个账户;在运营商级 NAT 或繁忙的 VPN 池中,它可能同时代表数千个互不相关的会话。把地址当作身份的网站,实际上是把它当作声誉,而声誉是一种统计陈述,不是事实。
两个人可以共用一个出口,却给出相反的证据:一个人用第二因素成功登录,另一个人尝试了四十个密码。地址完全相同,因此任何只以地址为依据的规则都无法区分他们,而由此触发的任何反应都会同时落在两人身上。
这并不是说应当忽视地址。这是说应当记住这个信号衡量的到底是什么,因为 VPN 登录周围大多数令人意外的行为,来自在错误的粒度上施加控制,而不是来自错误的观察。
为什么封锁出口会惩罚陌生人
地址级封锁实施起来便宜,瞄准起来却很昂贵。它的波及范围是该地址背后的每一个会话,这也是共享地址和 NAT 行为在运维文档中有自己历史的原因:同样的推理也出现在 IETF 关于共享源地址以及基于地址的过滤之附带影响的工作中。
| Signal | What it provides evidence about | What it cannot settle |
|---|---|---|
| Source address and its reputation | The network path, and how that path behaved recently for others | Which account or person is behind the request |
| Authenticator result | Whether the account claim was proved at the required strength | Whether the account's owner initiated it |
| Request timing and volume | Whether the pattern looks automated or burst-like | Whether the intent was malicious or a shared client |
| Application event history | What this account has done while signed in | Anything about requests that never authenticated |
想想封锁造成的两种失败。同一出口背后的合法客户被拒绝服务,并提交一张比滥用本身代价更高的支持工单。真正的攻击者则换到数千个池中的下一个出口,除了一次重连之外什么也没花,就继续下去。
缺的一步是相称性。反复的登录失败、一波自动化请求,以及认证后的权限违规,是三种不同的事件,只有第二种才可能是地址形态的问题。把同一套全站网络封禁套用到这三种情况上,正是安全控制变成支持队列的方式。
把决定放在证据所在之处
账户级控制会跨越地址跟随账户,这才对应你真正关心的实体。速率限制、反复失败后的等待期,以及敏感操作的分步认证,都作用于账户或操作,而不是网络路径。这与你实际保护的实体更匹配。它也消除了攻击者去寻找新出口地址的动机。
NIST 的认证指南把这些当作风险评估的输入,并把地址、地理位置和请求时间列为信号,这正是应当借用的框架:信号为决定提供信息,而不替代认证器。请把这份清单读作输入,而不是一份该封禁什么的菜单。认证器仍然负责证明,其他信号只决定在它周围设置多少摩擦。
两项设计约束可以防止账户级方案变成它自己的故障。速率限制需要一条安全的复核路径,让用户能够报告错误分类而不必公开凭据;分步验证也绝不应能用密码,或交给未核实支持联系人的一次性验证码来回答。
公平策略从外面看是什么样
写下每项控制支撑的是哪个决定,然后检查控制的粒度是否匹配。地址控制回答的是关于某个网络流量的问题;账户控制回答的是关于某个账户的问题;应用事件回答的是关于认证后行为的问题。把三者都点名的策略是可审计的,只点名 VPN 流量的策略则不是。
然后衡量结果,而不是规则数量。未授权尝试应当下降,合法用户应当保有一条受支持的路径,每千次登录的支持联系次数不应上升。如果一个封锁改善了第一个数字,却毁掉了另外两个,那它是把问题搬走了,而不是解决了。
接受 VPN 连接与执行滥用控制是相容的目标。行得通的版本把源地址当作若干输入之一,施加与证据相符的最窄控制,并为被误分类的人留一条诚实的路径。行不通的版本把地址当作嫌疑人,然后称其为策略。