德国机房一个配置,全球流量“拐跑”了
当你的流量被人截胡:Hetzner BGP 劫持事件教我们的事
互联网这东西,说到底就是靠"信任"二字撑着。
你输入一个域名,浏览器乖乖把网页给你;软件提示有更新,顺手点一下就装上了——这些操作每天重复千百次,有几个人会多想?
但最近欧洲最大的主机商之一 Hetzner 出事了,事情还挺严重的。有人盯上了他们家的基础设施,搞了一波相当专业的攻击。这事儿告诉我们:你以为的安全,可能只是你以为的。
事情经过:两个夜晚的精心策划
整个攻击持续了两个晚上。攻击者用了 BGP 劫持技术,把 Hetzner 部分 IP 地址段的流量给截走了。
BGP 是什么?简单说就是互联网的"导航系统"——决定数据包从 A 点到 B 点走哪条路。正常情况下,路由器会根据各个网络的声明来选择最佳路径。但攻击者这回伪造了路由声明,让全世界的路由器以为某个 IP 段归他管——其实根本不是。
更狠的是,这帮人还搞到了正经的 TLS 证书。这意味着什么?监控系统看到的流量是加密的、带安全锁的——压根不会触发警报。这种"正规军"式的操作,反而更难被发现。
下毒:藏在更新包里的陷阱
流量被劫持之后,攻击者往里面掺了点东西——修改过的 Virtualizor 更新。
Virtualizor 是干嘛的?管理 VPS 的面板软件,Hetzner 这种主机商基本都在用。攻击者把这个更新通道一黑,成千上万的服务器可能都中招了。
这种套路在安全圈叫供应链攻击。不直接打终端用户,而是从"水源"下手——软件分发渠道、更新服务器、代码仓库。你自己再小心、更新再及时都没用,因为信任链条的源头被污染了。
跟你有关系吗?
"我又不开主机商,关我什么事?"
这么想的话,我得泼盆冷水了。
只要你的业务跑在云上、用域名、依赖第三方托管,这类风险就跟你沾边。
BGP 劫持能截流量,意味着那些看起来靠谱的 SSL/TLS 证书也不再是铁板一块——你以为的"安全连接",说不定对面是假的。软件更新本来是打补丁修漏洞的,现在也可能变成攻击入口。就算你自己安全措施做得再到位,上游供应链被捅一刀,你也跑不了。
怎么防?几招实在的
没有万能药,但可以降低中招概率:
核对软件签名:下载完更新,先验个签名再装。正规项目都会给发行包签名,这步别省。
盯住证书发放:给自己的域名开启证书透明度监控。万一有人偷偷给你域名申请了证书,第一时间收到警报。Let's Encrypt 这些机构是会公开所有证书记录的。
网络层面加把锁:手里有 IP 资源的话,考虑上 RPKI,给你的路由公告加个加密签名。能用 DNSSEC 的地方尽量用。
流量异常要敏感:部署流量分析工具,路由走向突然变了、延迟莫名飙升,这些都要查。发现得早,损失就小。
鸡蛋别放一个篮子:业务分布在多家云厂商、多个地区。一处出事,不至于全盘皆输。
说到底,还是"信任"的问题
这次事件最核心的教训就一句话:别把宝押在单一环节上。
SSL 证书可信,但你有没有验证证书链?软件来自官方,但下载过程有没有被动手脚?供应商名气大,但他们的安全措施你了解多少?
BGP 协议当年设计的时候,根本没想过还有人会故意伪造路由。这么多年过去了,互联网规模大了无数倍,安全问题才慢慢暴露出来。RPKI、BGPsec 这些改进方案是有的,但推进速度嘛……懂的都懂。
所以对于开发者、创业公司、或者任何依赖技术基础设施的人来说,能做的就是多留个心眼:假设任何环节都可能出问题,然后围绕这个假设来设计防御。
了解自己的攻击面,这才是防御的第一步。