用 VPN 应对 DDoS:真正暴露的是哪个地址
隧道只让一个服务看不到你的源地址,却掩盖不了你的上行链路、VPN 出口或转发的端口。规划缓解措施之前,先给目标命名。
先从那个本应造成伤害的请求说起。它可能落到你的家庭链路上,落到 VPN 出口上,也可能落到隧道背后对外发布的某个应用上。每个目的地都有不同的容量上限,也都有不同的所有者可以过滤流量。给目标命名是第一个有用的步骤,而一份 VPN 订阅只能回答三者中的一个。
在攻击发生前梳理暴露面
沿着一个入站请求,从互联网一路追到它本应耗尽的那份资源。如果目的地是你家的地址,上限就在接入链路和运营商的边缘。如果是 VPN 出口,上限属于 VPN 运营方。如果是转发的端口,应用自身的处理就成了瓶颈。
| Target | What saturates | Who can mitigate |
|---|---|---|
| Home connection address | The access link and provider edge | The access provider |
| VPN exit address | Provider capacity and filtering | The VPN operator |
| Published service | The application and its host | The service owner and hosting provider |
三个目标可以同时被攻击,但缓解要在不同的地方进行。写下你的方案声称保护的是哪一个。
你自己的上行链路仍然保留自己的地址
把出站流量送进隧道,改变的只是远端服务看到的东西。它既没有消除接入链路持有的地址,也没有搬走那条链路的容量。
瞄准链路的流量仍然要与隧道自身的报文争夺同一段带宽。本地防火墙可以在报文到达之后丢弃它们,但受限的上游早已把它们运了过去。当链路被打满时,这个差别很关键,因为过滤器无法归还它从未控制过的容量。如果证据指向那条链路,请通过接入运营商的事件流程联系他们。
VPN 出口如今是一项共享依赖
任何能观察到 VPN 出口的人,都可以把不受欢迎的流量发到那里。运营商能否吸收,取决于真实容量、架构以及它运营的任何缓解服务,而不取决于隧道是否加密。
共享出口也可能因为针对其他客户或周边运营商网络的事件而受影响。CISA 关于拒绝服务的指南指出,当互联网或云服务商遭到攻击时,没有人针对的网络同样可能陷入黑暗。对于自管服务器,在访客看到任何一个报文之前,上游容量仍然属于托管服务商。访客内部的过滤无法把已经花掉的带宽要回来。
对外发布的端口需要一份服务方案
转发的端口是故意把应用暴露出去的,因此看似合法的请求总会走到它的处理路径上,无论隧道一侧如何控制准入。隧道准入、主机过滤和应用授权各自覆盖不同的阶段,其中任何一个都不保证能抵御资源耗尽。
请使用服务所支持的限额、监控和上游缓解,并指明事件期间由谁去请求支援。消费级 VPN 订阅并不能证明你的应用拥有这些控制。
诊断要保持分寸。页面变慢和连接中断也来自维护、资源争抢或普通故障,因此要为负责的运营方保留时间戳和范围有限的观测记录。绝不要用未经授权的洪水流量去验证判断,而应与基础设施所有者一起采用经过批准的方法。