云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港带宽_腾讯企业邮箱官方_学生机

小七 141 0

本周一,Verizon和BGP优化器将互联网的大部分内容离线

关于周一发生的事情,我们在周一写了一篇关于整个互联网的令人痛苦的路线泄露的文章。我们写道,这不应该发生,因为Verizon不应该将这些路由转发到互联网的其他部分。这篇博文发表于协调世界时19:58左右,也就是路线泄漏结束后的7个多小时(我们将在下面看到大约12:39 UTC)。今天我们将深入研究存档的路由数据并对其进行分析。下面代码的格式是为了使用简单的shell命令,这样任何读者都可以跟随,更重要的是,可以自己研究路由桌子。这个是一起非常公开的BGP路由泄露事件。这两件事都是通过许多新闻机构在网上报道的,而事件发生时的BGP数据则是通过社交媒体报道的。Andree Toonk在推特上快速列出了2400个ASN受影响。快通过数据转储,显示大约2400个ASN(网络)受到影响。Cloudflare受到的打击最大。以下是受影响的前20名ASNpic.twitter.com/9J7uvyasw2-安德烈·图克(@atoonk)2019年6月24日这个博客包含了大量的缩略语,这些缩略词在博客。使用成熟的NCC存档数据成熟的NCC操作一个非常有用的BGP路由存档。它在全局范围内运行收集器,并提供用于查询数据的API。更多信息请访问https://stat.ripe.net/。在BGP的世界里,所有路由都是公共的(在任何收集数据的人都有足够的收集点的能力范围内)。存档的数据对研究非常有价值,这也是我们在本博客中将要做的。网站可以创建一些非常有用的数据可视化。倾倒RIPEstat数据目前,RIPEstat数据在实时后大约8到12小时被摄取。这不是一个实时服务。可以通过多种方式查询数据,包括完整的web界面和API。我们使用API以JSON格式提取数据。我们只关注泄露的云闪路线。许多其他的ASN也被泄露了(参见上面的tweet);但是,我们希望处理有限的数据集,并关注Cloudflare的路由发生了什么。下面的所有命令都可以在许多系统上轻松运行。脚本和原始数据文件现在都可以在GitHub上使用。以下是在运行macOS的MacBook Pro上完成的莫哈韦。第一个我们收集24小时的路线通告和RIPEstat看到的来自AS13335(Cloudflare)的AS-PATH数据。$#收集24小时的数据-绰绰有余$ASN="AS13335"$START="2019-06-24T00:00:00"$END="2019-06-25T00:00:00"$ARGS="资源=${ASN}&starttime=${START}&endtime=${END}"$URL="https://stat.ripe.net/data/bgp-updates/data.json?${ARGS}"$#从RIPEstat获取数据$curl-sS"${URL}"| jq。>13335个-routes.json$ls-l 13335美元-routes.json-rw-r--r--1马丁员工339363899 6月25日08:47 13335-routes.json$这是340 MB的数据-看起来很多,但它包含了大量的空白和大量我们不需要的数据。我们的第二个任务是将这些原始数据缩减为所需的数据—即时间戳、实际路由和AS-PATH。第三项将非常有用。注意我们使用的是jq,它可以通过brew package manager安装在macOS上。$#只提取时间、路由和AS-PATH$jq-rc'。数据更新[]|。时间戳,。attrs.target_前缀,.属性路径'小于13335-routes.json|粘贴---->13335-listing-a.txt$wc-l 13335-listing-a.txt691318 13335-listing-a.txt$我们的路由事件已经降到了70万个以下,但是,这并不是一个漏洞,这包括Cloudflare的ASN(上面的数字13335)。为此,我们需要回到周一的博客,意识到是AS396531(Allegheny Technologies)在泄密事件中出现了701(Verizon)。现在我们进一步减少数据:$#提取路径泄漏701396531AS701是Verizon,AS396531是Allegeny Technologies$egrep'701396531'13335-listing-b.txt$wc-l 13335-listing-b.txt204568 13335-listing-b.txt$在20.4万个数据点上,我们看起来更好。它仍然是大量的数据,因为如果拓扑结构发生变化,BGP可能会非常健谈。一个管道泄漏就会造成这种情况。现在让我们看看有多少路由受到影响:$#提取受路由泄漏影响的实际路由$cut-f213335-listing-c.txt$wc-l 13335-listing-c.txt101 13335-listing-c.txt$这个数字要小得多。我们已经通过Verizon泄露了至少101条路线。这可能不是完整的列表,因为像RIPEstat这样的路由收集器没有来自Verizon的直接提要,所以这些数据是Verizon的路径和其他路径的混合视图。我们可以看到,如果我们查看上述文件中的AS-PATH。请注意,当这个博客第一次发布时,我在这个脚本中有一个错误,因为sort使用了-n和-V选项,所以只出现了20条路由。现在这个列表是正确的,有101条受影响的路线。请参阅stackoverflow的这篇短文以查看问题。这里是受影响路线的部分列表。$cat 13335-listing-c.txt8.39.214.0/248.42.245.0/248.44.58.0/24...104.16.80.0/21104.17.168.0/21104.18.32.0/21号文件104.19.168.0/21104.20.64.0/21号文件104.22.8.0/21104.23.128.0/21104.24.112.0/21104.25.144.0/21104.26.0.0/21104.27.160.0/21104.28.16.0/21104.31.0.0/21141.101.120.0/23162.159.224.0/21172.68.60.0/22172.69.116.0/22号文件...$这是一个有趣的列表,因为其中一些路由不是来自Cloudflare的网络,但是它们以AS13335(我们的ASN)作为始发者出现。例如,104.26.0.0/21路由没有从我们的网络中公布,但是我们确实宣布了104.26.0.0/20(它覆盖了该路由)。更重要的是,我们有一个IRR(internetroutingregistries)路由对象和该块的RPKI ROA。这是IRR对象:路由:104.26.0.0/20产地:AS13335来源:ARIN这是RPKI ROA。此ROA的最大长度设置为20,因此不应使用较小的路由接受。前缀:104.26.0.0/20最大长度:/20ASN编号:13335信任锚:阿林有效期:2018年8月2日星期四04:00:00 GMT-Sat,2027年7月31日04:00:00 GMT发布时间:2018年8月2日星期四21:45:37 GMT名称:535ad55d-dd30-40f9-8434-c17fc413aa99密钥:4a75b5de16143adbeaa987d6d91e0519106d086e父密钥:a6e7a6b44019cf4e388766d940677599d0c492dc路径:rsync://rpki.arin.net/repository/arin rpki ta/5e4a23ea-。。。ROA中的Max Length字段表示可接受公告的最小大小。这是一个最大长度为a/20的a/20路由,这说明在这个IP空间内不允许a/21(或/22或/23或/24)。进一步查看上面的路线表,我们得到以下信息列表:看到的路线Cloudflare IRR和ROA ROA最大长度104.16.80.0/21->104.16.80.0/20/20104.17.168.0/21->104.17.160.0/20/20104.18.32.0/21->104.18.32.0/20/20104.19.168.0/21->104.19.160.0/20/20104.20.64.0/21->104.20.64.0/20/20104.22.8.0/21->104.22.0.0/20/20104.23.128.0/21->104.23.128.0/20/20104.24.112.0/21->104.24.112.0/20/20104.25.144.0/21->104.25.144.0/20/20104.26.0.0/21->104.26.0.0/20/20104.27.160.0/21->104.27.160.0/20/20104.28.16.0/21->104.28.16.0/20/20104.31.0.0/21->104.31.0.0/20/20那么这些/21是怎么出现的?这就是我们深入研究BGP路由优化系统的世界,以及它们合成不应该存在的路由的倾向。如果这些路线泄漏(本周之后很明显它们会泄漏),所有的地狱都会爆发。当不是一个而是两个ISP允许无效路由在其自治网络之外传播时,这种情况会更加复杂。我们将进一步探索AS-PATH博客。更多与20年前相比,RFC1997在BGP中加入了社区的概念。社区是对路线广告进行标记或分组的一种方式。社区通常用于标记路由,以便应用特定的处理策略。RFC1997包括少数具有普遍知名度的社区。其中之一是NO_EXPORT社区,它具有以下规范:所有接收到的路由都带有一个communities属性不能在BGP之外播发包含此值的内容联邦边界(独立的自治系统不是联邦的一部分应该被认为是联邦本身)。在支持BGP的网络中,NO_EXPORT社区的使用非常普遍,它是一个社区标签,可以极大地缓解这种路由泄漏。BGP路由优化系统是如何工作的(或者在这种情况下不起作用)可能是另一个博客的主题进入。时机当我们在JSON文件和文本文件中保存时间戳时,我们可以通过查看数据中路由的第一个和最后一个时间戳来确认路由泄漏中每个路由的时间。我们保存了UTC 00:00:00到第二天00:00的数据,因此我们知道我们已经覆盖了路由泄漏的时间段。我们编写一个脚本,检查每个路由的第一个和最后一个条目,并报告按开始时间排序的信息:$#提取路由泄漏的时间$while读取cidr做回声$cidrfgrep$cidr