今天,我们来谈谈边界网关协议(BGP)以及我们最近为确保网络安全所采取的措施。虽然我们用路由起源授权(ROA)签署前缀已经有一段时间了,但我们在全球所有的边缘网关路由器上实施了路由验证,现在正在丢弃RPKI无效的前缀。
为了理解这一变化,我们需要了解TCP协议的工作原理。BGP是使互联网工作的协议之一。互联网是一个由网络组成的庞大网络。这些独立的网络有自己的IP地址范围,由区域互联网注册处(RIRs)提供。这些范围就是BGP所说的前缀。
接下来,这些前缀被分组到一个抽象的系统中,称为自治系统(AS),由一个称为自治系统号 (ASN)的数字来识别。最后,每个独立网络的BGP发言边缘路由器被称为 对等体。为了使BGP发挥作用,每个对等体以网络前缀公告的形式与相邻的对等体交换路由信息。由于对等体可以根据路由策略交换它们所拥有的所有路由,所以一个AS不需要与另一个AS直接连接来学习其前缀。在这种情况下,中介AS起到了中转AS的作用,与边缘AS交换路由信息。
![与过境AS的BGP对等关系:AS 22222](https://www.linode.com/wp-content/uploads/2021/11/diagram1@2x-1064x298.png)
BGP劫持
对自己不控制的前缀的虚假广告,无论是有意还是无意,都被称为BGP劫持。其结果涉及各种类型的攻击,如DDoS、监控、垃圾邮件等。
![一个来自AS 66666的成功的BGP劫持](https://www.linode.com/wp-content/uploads/2021/11/diagram2@2x-1064x625.png)
要使BGP劫持攻击成功,其他网络必须以下列方式之一选择被劫持的路径作为最佳路径:
- 由于BGP通常倾向于最短的AS路径长度,因此对手可能提供比合法前缀所有者更短的AS路径长度。其他BGP属性也可用于偏好路径,但这种行为在很大程度上取决于ASN的路由策略。
- 对手必须宣布一个比真正的发端AS可能宣布的更具体的前缀。基于前缀长度的劫持更有可能成功,因为它们不依赖于潜在的复杂BGP政策。
虽然这种攻击的复杂性相当高,但如果没有某种形式的授权,BGP劫持几乎不可能被阻止。而这正是RPKI发挥作用的地方。
RPKI
把RPKI想象成数字签名;它提供了一种证明,即BGP发言的路由器只接受某些被授权发起特定前缀的自治系统。从本质上讲,有了RPKI,从路由器发出的BGP路由公告可以根据ROA证书进行签名和验证,以确保该路由来自资源持有者,并且是有效的路由。
在我们的网络中启用RPKI后,我们用ROA签署我们的路由前缀,并放弃来自RPKI签名无效的来源的BGP广告。这可以作为一种预防措施,防止与BGP劫持有关的许多威胁,包括DDoS、垃圾邮件、网络钓鱼、数据监控等等。
注释