南方數據技术观察
首页 行业新闻 教程 技术文章 AI 对话 官网 咨询与报价
首页 / 行业新闻

在主机上使用路由起源验证增强BGP安全

随着数据中心网络的不断发展,BGP on the host的设计越来越受欢迎。在这种设计中,每个主机都配备了一个BGP守护进程,用于发布它处理的IP地址并接收其同服务器之间的路由。相较于基于层2的设计,BGP on the host具有更高的可扩展性、更强的健壮性、跨厂商兼容性以及安全性(由于数据平面和控制平面的分离)。例如,在L3路由到虚拟机管理程序时,可以使用BGP进行配置。如图1所示,每个链路上都建立了BGP会话,每个主机都会发布自己的IP前缀。虽然主机上的路由消除了与以太网网络相关的安全问题,但服务器可以宣布任何IP前缀。在上图中,有两个服务器宣布了2001:db8:cc::/64。这可能是任何播发的合法使用,也可能是前缀劫持。BGP提供了一些解决方案来改善这一方面,其中之一是重用RPKI的相关功能。

RPKI简介

在互联网上,BGP主要依赖于信任。这导致了各种由于运营商错误或恶意攻击者造成的意外事件,如几个月前影响Cloudflare的事件,或Amazon DNS被劫持以窃取加密货币钱包的事件。RFC 7454解释了避免此类问题的最佳实践。IP地址由五个区域互联网注册机构(RIR)分配。每个RIR都维护着一个数据库,其中包含分配的互联网数字资源,特别是IP地址和相关AS号码。这些数据库可能并不完全可靠,但广泛用于构建访问控制列表(ACL),以确保对等体只宣布它们预期宣布的前缀。以下是一个通过bgpq3直接与Apple对等时生成的ACL示例:

```

bgpq3 -l v6-IMPORT-APPLE -6 -R 48 -m 48 -A -J -E AS-APPLE policy-options {

policy-statement v6-IMPORT-APPLE {

replace: from {

route-filter 2403:300::/32 upto /48;

route-filter 2620:0:1b00::/47 prefix-length-range /48-/48;

route-filter 2620:0:1b02::/48 exact;

route-filter 2620:0:1b04::/47 prefix-length-range /48-/48;

route-filter 2620:149::/32 upto /48;

route-filter 2a01:b740::/32 upto /48;

route-filter 2a01:b747::/32 upto /48;

}

}

}

```

注意:人们经常使用AS集,如示例中的AS-APPLE,因为当有多个AS号码或客户时,它们很方便。然而,目前没有任何东西可以阻止恶意行为者将任意的AS号码添加到他们的AS集中。

RPKI(RFC 6480)在BGP之上添加了公钥加密,以对AS成为IP前缀起源的授权进行签名。这样的记录是一个路由起源授权(ROA)。您可以通过RIPE的RPKI验证器实例浏览这些ROA数据库。

BGP守护进程与RPKI

BGP守护进程不需要下载这些ROA数据库,而是通过验证接收到的路由是否与RPKI数据库中记录的授权相匹配来提高安全性。这有助于防止恶意攻击者或错误配置的运营商宣布不属于他们的IP前缀。例如,图2显示了RPKI验证器显示的85.190.88.0/21的一个ROA。

实际意义

对于运维和网络工程师来说,使用RPKI进行BGP路由起源验证具有重要意义。它有助于提高网络安全性,防止IP前缀劫持和其他安全威胁。通过验证路由的起源,可以确保网络中的路由信息是可信的,从而减少因错误配置或恶意攻击导致的网络中断和业务损失。

总结来说,BGP on the host的设计为数据中心网络提供了可扩展性和安全性。通过结合RPKI技术,可以进一步增强BGP的安全性,防止IP前缀劫持等安全威胁。这对于运维和网络工程师来说是一个重要的实践,有助于确保网络的安全和稳定运行。

原文: APNIC Blog(2019-09-24)|编译自 APNIC Blog,事实以原文为准。

来源:APNIC Blog

返回列表