边界网关协议(Border Gateway Protocol)确实起到了不少作用。但是,企业仍旧应该实施一些措施以保证IT路由的安全性。
全球互联网路由表主要是基于信任但需验证的模型而建立的,这不同于早期的互联网,因为那里每一位主干网的工程师本身都是互相认识的。与许多其他的早期应用程序类似,安全并不是边界网关协议(BGP)发展的主要因素。
互联网在过去只是一种主要用于学术研究的通信媒介,它的应用程序和协议都依赖于可信的个人连接,但是它现在已经转换为一种依赖于加密机制的技术,通过加密来保证数据保密性、完整性和身份验证。Telnet大多数时候提供了安全Shell连接方法,而开放邮件(Open Mail)延迟问题也大多已经解决。BGP安全性基本上也有相同的需求,现在有一些标准可以进一步加强信任但需验证策略的“验证”部分。
没有针对全球IP路由的集中授权方法
目前还既没有针对全球IP路由信息的集中授权方法,既没有面向互联网分层路由结构的方法。全球路由表是由互连运营商建立的,他们会向连接方告知自己将通过哪些路由来接收流量。为了实现这个效果,BGP会在路由器之间建立会话,用于交换关于可访问性信息前缀。即使是非ISP的中小型公司也可以应用BGP,它可以帮助他们同时连接多个ISP,同时在供应商之间实现轻松切换。在任意时刻,任何BGP通信端都可以对外发布任意的IP前缀。
与此相反的是公共交换电话网络,它们的路由信息是静态的,并且通过纸质方式或电子方式分发(如微软Access数据库)。只要有过更换电话号码的经历,任何人都能理解BGP的好处。正是这种灵活性加快了互联网的爆炸性增长。这是一个支撑互联网日常运行的基础元素,但是最终用户感觉不到它的存在。这种不可见性在一定程度上解释了为什么BGP抛弃了其他互联网协议和应用程序上的许多安全性改进措施。
BGP或IP寻址协议并没有内置措施可以防止网络发布错误前缀信息。同样,这实际上是一个基于信任的系统,ISP需要自行验证他们的下游用户发布了正确的网络信息。
它必须部署一些过滤器,防止用户发布一个不属于它的网络。但是,这个过程很容易发生错误,因为它基于更新不及时的信息源,如Whois数据库或一组路由注册表——它们都不可靠。即使在***环境中,仍然有可能出现错误。#p#
公共密钥基础架构可能是解决问题的方法
前缀劫持(Prefix Hijacking)的概念是指网络运营商发布或宣布一个未分配给它的路由器。在2008年,巴西有一个ISP不小心把差不多整个路由表泄露给同级运营商了。幸好,这个意外很快被发现,因此千万的破坏并不严重。在今年初,巴基斯坦电信公司触发一场全球性断网事件,原因是它在试图阻挡YouTube时设置了一个错误配置。这是不是一个错误配置导致泄露或内部拒绝服务的案例?很难说。而最近还发生了一些造成金钱损失的劫持事件:盗取比特币。
有一个解决可以解决许多此类问题:资源公共密钥基础架构(RPKI)。RPKI是一个专用的PKI框架,它使用X.509证书扩展来传输IP路由来源信息。一些需要发布前缀的组织创建了一个路由源签证(Route Origin Attestation, ROA),其中包括前缀、掩码长度范围和来源独立系统号。这些ROA会被发布到全世界,特定的组织可以用一个可验证的授权方式发布指定的IP前缀。根据RPKI Dashboard网站的数据,目前只有不到5%的全球路由表使用ROA保护,其中南美洲和加勒比海地区数量最多。南美洲和加勒比海地区有接近20%的网络信息中心路由处于RPKI有效状态,大约占全球路表的2.5%。
这一平台的两种实现方法
实现RPKI的方法有两个:托管方法和代理方法。在托管模型中,地区互联网注册机构(Regional Internet Registry, RIR)负责执行证书授权(CA)和托管愿意参与的组织的私有证书。对于没有很多资源或不太会修改ROA明细的较小型组织而言,这是一个很便捷的入门方法。这个过程的交互则在RIR提供的一个门户网站上进行。
代理RPKI则更加灵活一些,它允许组织使用一个编程接口来访问RIR基础架构。这要求该组织成为一个负责相关管理工作负载的CA。这种方法更适合那些有大量资源的服务提供商,他们会将这些资源分配给下游客户或组织,而这些用户会执行非常多的修改,因此通过一个门户网站来完成手工配置会非常繁琐。
在托管模式中,RIR实现这个新标准的难度较小一些,因此即使是最小型网络运营,使用BGP来参与通信也是很轻松的。对于不需要使用BGP的组织而言,他们仍然有必要理解这种技术对于安全性的作用。如果不使用BGP去连接互联网,那么你仍然要向上游提供商确定两个问题:分配给你组织的前缀是否受RPKI保护?如果没有,什么时候才会有这种保护?
评估云提供商的保护措施
如果网站或应用程序托管在一个云提供商环境中,那么你在评估和选择过程中应该确定这些应用程序所在的网络是否有RPKI保护。注意:前面提到的劫持事件就是针对托管在亚马逊Web Services的比特币拥有者。
一定要注意,RPKI可以解决BGP来源验证问题,但是无法验证路径。RPKI不能检测所有的路由异常,它只检测带有来自非授权独立系统前缀的路由。
全球路由表是互联网的基础元素。保证它的完整性是所有构成网络的责任。RPKI是保证这种共享资源完整性的一个重要步骤。我们没有任何借口可以容忍因为错误配置或劫持造成的断网事件。