标签 BGP 下的文章

AI 生成的漫画获得版权注册

Midjourney 是一个商业的图片合成服务。一位艺术家使用 Midjourney 创造了一本名为《黎明的扎丽亚》的漫画书,已经获得了美国版权注册。该作品是 AI 辅助的,而不是完全由 AI 创造的。艺术家编写了漫画故事,创造了版面,并做出了艺术选择,将图像拼接在一起。这本漫画书可以免费下载。

消息来源:ARS Technica
老王点评:即便 AI 还不能独立完成创作,也不能以 AI 身份取得版权和专利,但是 AI 辅助创作必然会越来越用在各种艺术创作中,而且可能会毫不逊色。很可能,以后你创作时,只是提供一些素材、提示词,然后去喝杯咖啡,等着从 AI 生成的结果中挑选一二。

黑客利用 BGP 劫持 IP 段窃取了约 23 万美元加密货币

8 月 17 日,英国一家不知名的网络运营商 Quickhost.uk 突然通过 BGP 广播宣布,隶属于亚马逊 AS16509 的一个 IP 段需要路由经过它的网络 AS20943。该 IP 段中的一个地址被用于托管加密货币交易所 Celer Bridge 的一个子域名。并且,攻击者还从某不知名的 CA 获得了一个 TLS 证书,然后托管了伪造的子域名网站,随后从访问该域名的 32 个账号中窃取了约 23 万美元的加密货币。这一 BGP 劫持持续了 3 个多小时后,亚马逊恢复了对该地址段的控制。

消息来源:ARS Technica
老王点评:无论是错误配置还是恶意欺诈,BGP 的脆弱性显露无疑。虽然也有一些补救措施,但是并没有根本上解决 BGP 安全问题,这是一个全行业的问题。

GNOME 43 发布

前两天,GNOME 43 发布了正式版本。它引入了一个重新设计的快速系统设置区域,一个新的 “设备安全” 管理区域,GNOME 文件管理器的各种改进,增强了 Mutter 合成器以更好地支持 Wayland,更多的应用程序已经从 GTK3 移植到 GTK4,以及整个桌面栈的许多其他变化。

消息来源:GNOME
老王点评:GNOME 和 KDE 作为 Linux 上最主要的两大桌面环境,虽然给人的感觉不是惊艳,但是却稳健的不断在改进。

昨天,Facebook 发生了由 BGP 引起的离线事故。我对学习更多关于 BGP 的知识已经隐约感兴趣了很长时间,所以我阅读了一些文章。

我感到很沮丧,因为没有一篇文章告诉我如何在我的电脑上实际查找与 BGP 有关的信息,因此我 写了一条询问有关工具的推特

我一如既往地得到了一堆有用的回复,所以这篇博文展示了一些你可以用来查询 BGP 信息的工具。这篇文章中可能会有较多的错误,因为我对 BGP 不是很了解。

我不能发布 BGP 路由

我从来没有了解过 BGP 的原因之一是,据我所知,我没有在互联网上发布 BGP 路由的权限。

对于大多数网络协议,如果需要,你可以非常轻松地自己实现该协议。例如,你可以:

  • 发行你自己的 TLS 证书
  • 编写你自己的 HTTP 服务器
  • 编写你自己的 TCP 实现
  • 为你的域名编写你自己的权威 DNS 服务器(我现在正在为一个小项目尝试这样做)
  • 建立你自己的证书机构(CA)

但是对于 BGP,我认为除非你拥有自己的 ASN,否则你不能自己发布路由(你可以在你的家庭网络上实现 BGP,但这对我来说有点无聊,当我做实验的时候,我希望它们真的在真正的互联网上)。

无论如何,尽管我不能用它做实验,但我仍然认为它超级有趣,因为我喜欢网络,所以我将向你展示我找到的一些用来学习 BGP 的工具。

首先我们来谈谈 BGP 的一些术语。我打算很快掠过,因为我对工具更感兴趣,而且网上有很多关于 BGP 的高水平解释(比如这篇 cloudflare 的文章)。

AS 是什么?

我们首先需要了解的是 AS(“ 自治系统 autonomous system ”)。每个 AS:

  1. 由一个组织拥有(通常是一个大型组织,如你的 ISP、政府、大学、Facebook 等)。
  2. 控制一组特定的 IP 地址(例如,我的 ISP 的 AS 包括 247,808 个 IP 地址)。
  3. 有一个编号 ASN(如 1403)。

下面是我通过做一些实验对 AS 的一些观察:

  • 一些相当大的科技公司并没有自己的 AS。例如,我在 BGPView 上查看了 Patreon,就我所知,他们没有自己的 AS,他们的主要网站(patreon.com104.16.6.49)在 Cloudflare 的 AS 中。
  • 一个 AS 可以包括许多国家的 IP。Facebook 的 AS(AS32934)肯定有新加坡、加拿大、尼日利亚、肯尼亚、美国和其他国家的 IP 地址。
  • 似乎 IP 地址可以在一个以上的 AS 中。例如,如果我查找 209.216.230.240,它有 2 个 ASN 与之相关:AS6130AS21581。显然,当这种情况发生时,更具体的路线会被优先考虑 —— 所以到该 IP 的数据包会被路由到 AS21581

什么是 BGP 路由?

互联网上有很多的路由器。例如,我的 ISP 就有路由器。

当我给我的 ISP 发送一个数据包时(例如通过运行 ping 129.134.30.0),我的 ISP 的路由器需要弄清楚如何将我的数据包实际送到 IP 地址 129.134.30.0

路由器计算的方法是,它有一个路由表:这是个有一堆 IP 地址范围的列表(比如 129.134.30.0/23),以及它知道的到达该子网的路由。

下面是一个 129.134.30.0/23 (Facebook 的一个子网)的真实路由的例子。这不是来自我的 ISP。

11670 32934
  206.108.35.2 from 206.108.35.254 (206.108.35.254)
    Origin IGP, metric 0, valid, external
    Community: 3856:55000
    Last update: Mon Oct  4 21:17:33 2021

我认为这是在说通往 129.134.30.0 的一条路径是通过机器 206.108.35.2,这是在它的本地网络上。所以路由器接下来可能会把我的 ping 包发送到 206.108.35.2,然后 206.108.35.2 会知道如何把它送到 Facebook。开头的两个数字(11670 32934)是 ASN。

BGP 是什么?

我对 BGP 的理解非常浅薄,它是一个公司用来公布 BGP 路由的协议。

昨天发生在 Facebook 身上的事情基本上是他们发布了一个 BGP 公告,撤销了他们所有的 BGP 路由,所以世界上的每个路由器都删除了所有与 Facebook 有关的路由,没有流量可以到达那里。

好了,现在我们已经涵盖了一些基本的术语,让我们来谈谈你可以用来查看 AS 和 BGP 的工具吧!

工具 1:用 BGPView 查看你的 ISP 的 AS

为了使 AS 这个东西不那么抽象,让我们用一个叫做 BGPView的 工具来看看一个真实的 AS。

我的 ISP(EBOX)拥有 AS 1403。这是 我的 ISP 拥有的 IP 地址。如果我查找我的计算机的公共 IPv4 地址,我可以看到它是我的 ISP 拥有的IP地址之一:它在 104.163.128.0/17 块中。

BGPView 也有这个图,显示了我的 ISP 与其他 AS 的连接情况。

工具 2:traceroute -A 和 mtr -z

好了,我们感兴趣的是 AS 。让我们看看我从哪些 AS 中穿过。

traceroutemtr 都有选项可以告诉你每个 IP 的 ASN。其选项分别是 traceroute -Amtr -z

让我们看看我用 mtr 在去 facebook.com 的路上经过了哪些 AS!

$ mtr -z facebook.com
 1. AS???    LEDE.lan
 2. AS1403   104-163-190-1.qc.cable.ebox.net
 3. AS???    10.170.192.58
 4. AS1403   0.et-5-2-0.er1.mtl7.yul.ebox.ca
 5. AS1403   0.ae17.er2.mtl3.yul.ebox.ca
 6. AS1403   0.ae0.er1.151fw.yyz.ebox.ca
 7. AS???    facebook-a.ip4.torontointernetxchange.net
 8. AS32934  po103.psw01.yyz1.tfbnw.net
 9. AS32934  157.240.38.75
10. AS32934  edge-star-mini-shv-01-yyz1.facebook.com

这很有意思,看起来我们直接从我的 ISP 的 AS(1403)到 Facebook 的 AS(32934),中间有一个“互联网交换”。

我不确定 互联网交换 internet exchange (IX)是什么,但我知道它是互联网的一个极其重要的部分。不过这将是以后的事了。我猜是,它是互联网中实现“对等”的部分,就假设它是一个有巨大的交换机的机房,里面有无限的带宽,一堆不同的公司把他们的电脑放在里面,这样他们就可以互相发送数据包。

mtr 用 DNS 查找 ASN

我对 mtr 如何查找 ASN 感到好奇,所以我使用了 strace。我看到它看起来像是在使用 DNS,所以我运行了 dnspeep,然后就看到了!

$ sudo dnspeep
...
TXT   1.190.163.104.origin.asn.cymru.com 192.168.1.1          TXT: 1403 | 104.163.176.0/20 | CA | arin | 2014-08-14, TXT: 1403 | 104.163.160.0/19 | CA | arin | 2014-08-14, TXT: 1403 | 104.163.128.0/17 | CA | arin | 2014-08-14
...

所以,看起来我们可以通过查找 1.190.163.104.origin.asn.cymru.com 上的 txt 记录找到 104.163.190.1 的 ASN,像这样:

$ dig txt 1.190.163.104.origin.asn.cymru.com
1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.160.0/19 | CA | arin | 2014-08-14"
1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.128.0/17 | CA | arin | 2014-08-14"
1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.176.0/20 | CA | arin | 2014-08-14"

这很好!让我们继续前进吧。

工具 3:数据包交换所的观察镜

PCH(“ 数据包交换所 packet clearing house ”)是运行大量互联网交换点的组织。“ 观察镜 looking glass ”似乎是一个通用术语,指的是让你从另一个人的计算机上运行网络命令的 Web 表单。有一些观察镜不支持 BGP,但我只对那些能显示 BGP 路由信息的观察镜感兴趣。

这里是 PCH 的观察镜: https://www.pch.net/tools/looking_glass/

在该网站的 Web 表单中,我选择了多伦多 IX(“TORIX”),因为 mtr 说我是用它来访问 facebook.com 的。

操作 1:显示 ip bgp 摘要

下面是输出结果。我修改了其中的一些内容:

IPv4 Unicast Summary:
BGP router identifier 74.80.118.4, local AS number 3856 vrf-id 0
BGP table version 33061919
RIB entries 513241, using 90 MiB of memory
Peers 147, using 3003 KiB of memory
Peer groups 8, using 512 bytes of memory

Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd
...
206.108.34.248  4       1403  484672  466938        0    0    0 05w3d03h           50
...
206.108.35.2    4      32934  482088  466714        0    0    0 01w6d07h           38
206.108.35.3    4      32934  482019  466475        0    0    0 01w0d06h           38
...

Total number of neighbors 147

我的理解是,多伦多 IX(“TORIX”)直接连接到我的 ISP (EBOX,AS 1403)和 Facebook(AS 32934)。

操作 2:显示 ip bgp 129.134.30.0

这是筛选自 show ip bgp129.134.30.0(Facebook 的一个 IP 地址)的输出:

BGP routing table entry for 129.134.30.0/23
Paths: (4 available, best #4, table default)
  Advertised to non peer-group peers:
  206.220.231.55
  11670 32934
    206.108.35.2 from 206.108.35.254 (206.108.35.254)
      Origin IGP, metric 0, valid, external
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:33 2021

  11670 32934
    206.108.35.2 from 206.108.35.253 (206.108.35.253)
      Origin IGP, metric 0, valid, external
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:31 2021

  32934
    206.108.35.3 from 206.108.35.3 (157.240.58.225)
      Origin IGP, metric 0, valid, external, multipath
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:27 2021

  32934
    206.108.35.2 from 206.108.35.2 (157.240.58.182)
      Origin IGP, metric 0, valid, external, multipath, best (Older Path)
      Community: 3856:55000
      Last update: Mon Oct  4 21:17:27 2021

这似乎是在说,从该 IX 到 Facebook 有 4 条路线。

魁北克 IX 似乎对 Facebook 一无所知

我也试过从魁北克 IX(“QIX”,它可能离我更近,因为我住在蒙特利尔而不是多伦多)做同样的事情。但 QIX 似乎对 Facebook 一无所知:当我输入129.134.30.0 时,它只是说 “% 网络不在表中”。

所以我想这就是为什么我被送到多伦多 IX 而不是魁北克的 IX。

更多的 BGP 观察镜

这里还有一些带观察镜的网站,可以从其他角度给你类似的信息。它们似乎都支持相同的 show ip bgp 语法,也许是因为他们运行的是同一个软件?我不太确定。

似乎有很多这样的观察镜服务,远不止这 3 个列表。

这里有一个与这个列表上的一个服务器进行会话的例子:route-views.routeviews.org。这次我是通过 telnet 连接的,而不是通过 Web 表单,但输出的格式看起来是一样的。

$ telnet route-views.routeviews.org

route-views>show ip bgp 31.13.80.36

BGP routing table entry for 31.13.80.0/24, version 1053404087
Paths: (23 available, best #2, table default)
  Not advertised to any peer
  Refresh Epoch 1
  3267 1299 32934
    194.85.40.15 from 194.85.40.15 (185.141.126.1)
      Origin IGP, metric 0, localpref 100, valid, external
      path 7FE0C3340190 RPKI State valid
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  6939 32934
    64.71.137.241 from 64.71.137.241 (216.218.252.164)
      Origin IGP, localpref 100, valid, external, best
      path 7FE135DB6500 RPKI State valid
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 1
  701 174 32934
    137.39.3.55 from 137.39.3.55 (137.39.3.55)
      Origin IGP, localpref 100, valid, external
      path 7FE1604D3AF0 RPKI State valid
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  20912 3257 1299 32934
    212.66.96.126 from 212.66.96.126 (212.66.96.126)
      Origin IGP, localpref 100, valid, external
      Community: 3257:8095 3257:30622 3257:50001 3257:53900 3257:53904 20912:65004
      path 7FE1195AF140 RPKI State valid
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  7660 2516 1299 32934
    203.181.248.168 from 203.181.248.168 (203.181.248.168)
      Origin IGP, localpref 100, valid, external
      Community: 2516:1030 7660:9001
      path 7FE0D195E7D0 RPKI State valid
      rx pathid: 0, tx pathid: 0

这里有几个路由的选择:

  • 3267 1299 32934
  • 6939 32934
  • 701 174 32934
  • 20912 3257 1299 32934
  • 7660 2516 1299 32934

我想这些都有不止一个 AS 的原因是,31.13.80.36 是 Facebook 在多伦多的 IP 地址,所以这个服务器(可能在美国西海岸,我不确定)不能直接连接到它,它需要先到另一个 AS。所以所有的路由都有一个或多个 ASN。

最短的是 6939(“Hurricane Electric”),它是一个 “全球互联网骨干”。他们也有自己的 Hurricane Electric 观察镜 页面。

工具 4:BGPlay

到目前为止,所有其他的工具都只是向我们展示了 Facebook 路由的当前状态,其中一切正常,但这第四个工具让我们看到了这个 Facebook BGP 互联网灾难的历史。这是一个 GUI 工具,所以我将包括一堆屏幕截图。

该工具在 https://stat.ripe.net/special/bgplay。我输入了 IP 地址 129.134.30.12(Facebook 的一个 IP),如果你想一起试试。

首先,让我们看看一切出错之前的状态。我点击了在 10 月 4 日 13:11:28 的时间线,得到了这个结果:

我最初发现这很让人不知所措。发生了什么事?但后来有人在推特上指出,下一个要看的地方是点击 Facebook 灾难发生后的时间线(10 月 4 日 18 点 38 分)。

很明显,这张图有问题:所有的 BGP 路线都不见了!哦,不要!

顶部的文字显示了最后一条 Facebook BGP 路由的消失:

Type: W > withdrawal Involving: 129.134.30.0/24
Short description: The route 50869, 25091, 32934 has been withdrawn.
Date and time: 2021-10-04 16:02:33 Collected by: 20-91.206.53.12

如果我再点击“ 快进 fast forward ”按钮,我们看到 BGP 路由开始回来了。

第一个宣告的是 137409 32934。但我不认为这实际上是第一个宣布的,在同一秒内有很多路由宣告(在 2021-10-04 21:00:40),我认为 BGPlay 内部的排序是任意的。

如果我再次点击“ 快进 fast forward ”按钮,越来越多的路由开始回来,路由开始恢复正常。

我发现在 BGPlay 里看这个故障真的很有趣,尽管一开始界面很混乱。

也许了解一下 BGP 是很重要的?

我在这篇文章的开头说,你不能改变 BGP 路由,但后来我想起在 2016 年或 2017 年,有一个 Telia 路由问题,给我们的工作造成了一些小的网络问题。而当这种情况发生时,了解为什么你的客户无法到达你的网站其实是很有用的,即使它完全不受你控制。当时我不知道这些工具,但我希望能知道!

我认为对于大多数公司来说,应对由其他人的错误 BGP 路由造成的中断,你所能做的就是“什么都不做,等待它得到修复”,但能够\_自信地\_什么都不做是很好的。

一些发布 BGP 路由的方法

如果你想(作为一个业余爱好者)真正发布 BGP 路由,这里有一些评论中的链接:

  • 获取你自己的 ASN 的指南
  • dn42 似乎有一个 BGP 的实验场(它不在公共互联网上,但确实有其他人在上面,这似乎比自己在家里做 BGP 实验更有趣)

目前就这些了

我想还有很多 BGP 工具(比如 PCH 有一堆 路由数据的每日快照,看起来很有趣),但这篇文章已经很长了,而且我今天还有其他事情要做。

我对我作为一个普通人可以得到这么多关于 BGP 的信息感到惊讶,我一直认为它是一个“秘密的网络巫师”这样的东西,但显然有各种公共机器,任何人都可以直接 telnet 到它并用来查看路由表!没想到!


via: https://jvns.ca/blog/2021/10/05/tools-to-look-at-bgp-routes/

作者:Julia Evans 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

FreeBSD 认为 BSD 许可证比 GPL 更重要

在一个访谈中,FreeBSD 开发者 Baldwin 说,“使我们独一无二的部分原因是我们的许可证,对很多厂商来说,与 GPL 尤其是 GPLv3 相比,BSD 许可证是非常重要的。”

FreeBSD 是一个采用 BSD 许可证的项目。许多采用 FreeBSD 的公司都会支持它。像 Netflix 这样的公司,他们开发的功能与工作会直接进入 FreeBSD 的上游。

而作为一个典型的被视为基于 BSD 内核发展起来其 macOS 操作系统的苹果公司,“并不像 Netflix 那样对上游做出超级积极的贡献。但我不怪他们。我们是一个 BSD 许可证项目,我们不是 GPL”,Baldwin 说。当然,他们也承认,苹果为 LLVM 项目贡献了很多,让 FreeBSD 项目受益匪浅。

从自由的角度看,BSD 许可证自然更让企业舒服一些;而从开源的可持续发展上,GPL 许可证更具有保障性。我认为,这两种许可证流派对开源生态都极其重要。

微软 Exchange 服务器漏洞被“至少 10 个骇客组织盯上”

上周,微软 Exchange 服务器中的四个漏洞成为新闻焦点,被至少 10 个高级持续性威胁(APT)的骇客组织盯上了,他们在横跨 115 个不同国家的约 5000 台服务器上安装了 Web shell 后门,以通过 Web 浏览器远程控制服务器。

虽然这些漏洞已经被微软打了补丁,但仍有大量的未打补丁的 Exchange 服务器。安全人员发现骇客组织借此展开勒索软件传播,试图利用 Exchange 服务器缓慢的打补丁速度,让攻击速度“每隔几个小时就会增加一倍”。

虽然就我的体验而已,并不喜欢 Exchange,但是它在企业环境中还是使用颇广,需要尽快更新或采用临时补救措施。

新的去中心化路由协议旨在取代 BGP

1994 年以来,用于将现代互联网“互联”起来的主要协议一直是 BGP 协议,但是随着互联网发展和技术的变化,BGP 协议无论是效率还是安全性都存在一定的问题。

而有一家名为 Syntropy 的初创公司提出了一种去中心化自主路由协议(DARP),旨在取代 BGP 作为互联网的默认路由方式,通过使用世界各地的节点不断收集当前网络的低效率数据。然后利用这些数据,通过最有效的路由来进行数据路由。通过数百台服务器的实际测试证明,延迟可以减少几十到几百毫秒。连接默认是加密的,网络抖动也会减少。

新的路由协议看起来不错,不过要得到广泛支持还需要很多考验。

可通过用户的浏览历史精确跟踪用户

Mozilla 的研究人员使用的数据集包含了 5.2 万名 Firefox 用户在两周内的浏览历史,分析显示了 48,919 个可区分的浏览资料,即 99% 的浏览历史是独一无二的。超过八成用户可通过浏览历史重新识别身份。研究人员还发现,只需要考虑 50 个最流行网站就足以获得独特指纹。研究人员称他们发现大量第三方在收集用户浏览历史将其作为标识符使用。

来源:solidot

拍一拍:又一个可以精确跟踪用户的方式,要保持隐私可真难。

微软 Linux 软件集合将不再支持 TLS 1.0/1.1

微软为 Linux 系统构建和支持各种软件产品托管在 package.microsoft.com,将不再允许使用 TLS 1.0/1.1,将强制使用 TLS 1.2。换句话说,在 9 月 24 日之后不使用 TLS 1.2 的客户将不再被允许从微软下载 Linux 软件包。

来源:cnBeta.COM

拍一拍:其实大部分人对 TLS 什么的都无感。

CenturyLink 中断导致全球网络流量下降 3.5%

美国 ISP CenturyLink 在周日遭遇了一次重大的技术故障,因为其一个数据中心的错误配置在整个互联网上造成了破坏。该故障涉及防火墙和 BGP 路由,从它的网络向外扩散,影响了其他 ISP,最终导致更多其他公司的连接问题。导致全球互联网流量下降了 3.5%,这将是有史以来最大的互联网中断事件之一。CenturyLink 最终重置了所有设备,并从干净的 BGP 路由表开始,花了七个小时才修复这次事故。

来源:zdnet

拍一拍:BGP 故障何时休?我觉得天网也不用干啥,只要能掌握 BGP 广播就够了。

768k 日即将临近,它有可能会导致部分网络发生故障,但不用恐慌,你也可能会很幸运的体验不到任何问题。768k 日发源于 512k 日,512k 日是指路由器耗尽了储存全球 BGP 路由表的内存,它于 2014 年 8 月 12 日到来,导致了全世界数以百计的 ISP 发生网络故障。

在 512k 日来临之际,许多旧的路由器收到了紧急更新,分配了更多内存去储存 BGP 路由表,而新分配的值是 768k 或 768,000。现在 768k 的限制又要突破了。根据最新的数据,全球路由表已经达到了 767,392,无限接近 768k。

网络工程师和专家预测,768k 日将会在下个月到来,但这一次应该不会发生像 2014 年那样严重的网络问题,不过小型的地区 ISP 可能会遇到问题。

来源:solidot.org

更多资讯

car2go 汽车共享 App 遭黑客入侵,100 多辆豪华汽车被窃

据 TheDrive 网站报道,黑客近日入侵 car2go 汽车共享应用 APP,并在芝加哥窃取了 100 多辆高端豪华汽车。

来源: 盖世汽车

详情: http://t.cn/EXkMHek

穆勒报告披露更多俄罗斯如何攻击 DNC 及希拉里竞选团队的信息

据外媒报道,穆勒报告带来了俄罗斯政府如何入侵希拉里·克林顿总统竞选团队以及美国民主党全国委员会(DNC)文件和电子邮件的新信息。该份报告证实,俄罗斯曾一度使用位于美国的服务器展开大规模数据渗漏行动。

来源: cnBeta.COM

详情: http://t.cn/EXkMEgM

Facebook 承认员工可获取数百万 Instagram 用户的明文密码

Facebook 周四称,该公司员工可在一个内部数据库中看到数以百万计的 Instagram 用户密码,这些密码以可搜索的格式存储在数据库中。Facebook 此次宣布的这一消息是对上个月发表的一篇博文的更新,当时该公司披露信息称,公司员工可以看到数百万 Facebook 用户密码。

来源: 新浪科技

详情: http://t.cn/EXkxvOH

(信息来源于网络,安华金和搜集整理)

之前的文章中,我们介绍了如何使用 Quagga 将 CentOS 服务器变成一个 BGP 路由器,也介绍了 BGP 对等体和前缀交换设置。在本教程中,我们将重点放在如何使用 前缀列表 prefix-list 路由映射 route-map 来分别控制数据注入和数据输出。

之前的文章已经说过,BGP 的路由判定是基于前缀的收取和前缀的广播。为避免错误的路由,你需要使用一些过滤机制来控制这些前缀的收发。举个例子,如果你的一个 BGP 邻居开始广播一个本不属于它们的前缀,而你也将错就错地接收了这些不正常前缀,并且也将它转发到网络上,这个转发过程会不断进行下去,永不停止(所谓的“黑洞”就这样产生了)。所以确保这样的前缀不会被收到,或者不会转发到任何网络,要达到这个目的,你可以使用前缀列表和路由映射。前者是基于前缀的过滤机制,后者是更为常用的基于前缀的策略,可用于精调过滤机制。

本文会向你展示如何在 Quagga 中使用前缀列表和路由映射。

拓扑和需求

本教程使用下面的拓扑结构。

服务供应商A和供应商B已经将对方设置成为 eBGP 对等体,实现互相通信。他们的自治系统号和前缀分别如下所示。

  • 对等区段: 192.168.1.0/24
  • 服务供应商A: 自治系统号 100, 前缀 10.10.0.0/16
  • 服务供应商B: 自治系统号 200, 前缀 10.20.0.0/16

在这个场景中,供应商B只想从A接收 10.10.10.0/23, 10.10.10.0/24 和 10.10.11.0/24 三个前缀。

安装 Quagga 和设置 BGP 对等体

之前的教程中,我们已经写了安装 Quagga 和设置 BGP 对等体的方法,所以这里就不再详细说明了,只简单介绍下 BGP 配置和前缀广播:

上图说明 BGP 对等体已经开启。Router-A 在向 router-B 广播多个前缀,而 Router-B 也在向 router-A 广播一个前缀 10.20.0.0/16。两个路由器都能正确无误地收发前缀。

创建前缀列表

路由器可以使用 ACL 或前缀列表来过滤一个前缀。前缀列表比 ACL 更常用,因为前者处理步骤少,而且易于创建和维护。

ip prefix-list DEMO-PRFX permit 192.168.0.0/23

上面的命令创建了名为“DEMO-FRFX”的前缀列表,只允许存在 192.168.0.0/23 这个前缀。

前缀列表的另一个强大功能是支持子网掩码区间,请看下面的例子:

ip prefix-list DEMO-PRFX permit 192.168.0.0/23 le 24

这个命令创建的前缀列表包含在 192.168.0.0/23 和 /24 之间的前缀,分别是 192.168.0.0/23, 192.168.0.0/24 和 192.168.1.0/24。运算符“le”表示小于等于,你也可以使用“ge”表示大于等于。

一个前缀列表语句可以有多个允许或拒绝操作。每个语句都自动或手动地分配有一个序列号。

如果存在多个前缀列表语句,则这些语句会按序列号顺序被依次执行。在配置前缀列表的时候,我们需要注意在所有前缀列表语句之后是隐性拒绝语句,就是说凡是不被明显允许的,都会被拒绝。

如果要设置成允许所有前缀,前缀列表语句设置如下:

ip prefix-list DEMO-PRFX permit 0.0.0.0/0 le 32

我们已经知道如何创建前缀列表语句了,现在我们要创建一个名为“PRFX-LST”的前缀列表,来满足我们实验场景的需求。

router-b# conf t
router-b(config)# ip prefix-list PRFX-LST permit 10.10.10.0/23 le 24

创建路由映射

除了前缀列表和 ACL,这里还有另一种机制,叫做路由映射,也可以在 BGP 路由器中控制前缀。事实上,路由映射针对前缀匹配的微调效果比前缀列表和 ACL 都强。

与前缀列表类似,路由映射语句也可以指定允许和拒绝操作,也需要分配一个序列号。每个路由匹配可以有多个允许或拒绝操作。例如:

route-map DEMO-RMAP permit 10

上面的语句创建了名为“DEMO-RMAP”的路由映射,添加序列号为10的允许操作。现在我们在这个序列号所对应的路由映射下使用 match 命令进行匹配。

router-a(config-route-map)# match (press ? in the keyboard)

  as-path       Match BGP AS path list
  community     Match BGP community list
  extcommunity  Match BGP/VPN extended community list
  interface     match first hop interface of route
  ip            IP information
  ipv6          IPv6 information
  metric        Match metric of route
  origin        BGP origin code
  peer          Match peer address
  probability   Match portion of routes defined by percentage value
  tag           Match tag of route

如你所见,路由映射可以匹配很多属性,在本教程中匹配的是前缀。

route-map DEMO-RMAP permit 10
match ip address prefix-list DEMO-PRFX

这个 match 命令会匹配之前建好的前缀列表中允许的 IP 地址(也就是前缀 192.168.0.0/23, 192.168.0.0/24 和 192.168.1.0/24)。

接下来,我们可以使用 set 命令来修改这些属性。例子如下:

route-map DEMO-RMAP permit 10
match ip address prefix-list DEMO-PRFX
set (press ? in keyboard)

  aggregator          BGP aggregator attribute
  as-path             Transform BGP AS-path attribute
  atomic-aggregate    BGP atomic aggregate attribute
  comm-list           set BGP community list (for deletion)
  community           BGP community attribute
  extcommunity        BGP extended community attribute
  forwarding-address  Forwarding Address
  ip                  IP information
  ipv6                IPv6 information
  local-preference    BGP local preference path attribute
  metric              Metric value for destination routing protocol
  metric-type         Type of metric
  origin              BGP origin code
  originator-id       BGP originator ID attribute
  src                 src address for route
  tag                 Tag value for routing protocol
  vpnv4               VPNv4 information
  weight              BGP weight for routing table

如你所见,set 命令也可以修改很多属性。为了作个示范,我们修改一下 BGP 的 local-preference 这个属性。

route-map DEMO-RMAP permit 10
match ip address prefix-list DEMO-PRFX
set local-preference 500

如同前缀列表,路由映射语句的末尾也有隐性拒绝操作。所以我们需要添加另外一个允许语句(使用序列号20)来允许所有前缀。

route-map DEMO-RMAP permit 10
match ip address prefix-list DEMO-PRFX
set local-preference 500
!
route-map DEMO-RMAP permit 20

序列号20未指定任何匹配命令,所以默认匹配所有前缀。在这个路由映射语句中,所有的前缀都被允许。

回想一下,我们的需求是只允许或只拒绝一些前缀,所以上面的 set 命令不应该存在于这个场景中。我们只需要一个允许语句,如下如示:

router-b# conf t
router-b(config)# route-map RMAP permit 10
router-b(config-route-map)# match ip address prefix-list PRFX-LST

这个路由映射才是我们需要的效果。

应用路由映射

注意,在被应用于一个接口或一个 BGP 邻居之前,ACL、前缀列表和路由映射都不会生效。与 ACL 和前缀列表一样,一条路由映射语句也能被多个接口或邻居使用。然而,一个接口或一个邻居只能有一条路由映射语句应用于输入端,以及一条路由映射语句应用于输出端。

下面我们将这条路由映射语句应用于 router-B 的 BGP 配置,为 router-B 的邻居 192.168.1.1 设置输入前缀广播。

router-b# conf terminal
router-b(config)# router bgp 200
router-b(config-router)# neighbor 192.168.1.1 route-map RMAP in

现在检查下广播路由和收取路由。

显示广播路由的命令:

show ip bgp neighbor-IP advertised-routes

显示收取路由的命令:

show ip bgp neighbor-IP routes

可以看到,router-A 有4条路由前缀到达 router-B,而 router-B 只接收3条。查看一下范围,我们就能知道只有被路由映射允许的前缀才能在 router-B 上显示出来,其他的前缀一概丢弃。

小提示:如果接收前缀内容没有刷新,试试重置下 BGP 会话,使用这个命令:clear ip bgp neighbor-IP。本教程中命令如下:

clear ip bgp 192.168.1.1

我们能看到系统已经满足我们的要求了。接下来我们可以在 router-A 和 router-B 上创建相似的前缀列表和路由映射语句来更好地控制输入输出的前缀。

这里把配置过程总结一下,方便查看。

router bgp 200
network 10.20.0.0/16
neighbor 192.168.1.1 remote-as 100
neighbor 192.168.1.1 route-map RMAP in
!
ip prefix-list PRFX-LST seq 5 permit 10.10.10.0/23 le 24
!
route-map RMAP permit 10
match ip address prefix-list PRFX-LST

总结

在本教程中我们演示了如何在 Quagga 中设置前缀列表和路由映射来过滤 BGP 路由。我们也展示了如何将前缀列表结合进路由映射来进行输入前缀的微调功能。你可以参考这些方法来设置满足自己需求的前缀列表和路由映射。这些工具是保护网络免受路由毒化和来自 bogon 路由(LCTT 译注:指不该出现在internet路由表中的地址)的广播。

希望本文对你有帮助。


via: http://xmodulo.com/filter-bgp-routes-quagga-bgp-router.html

作者:Sarmed Rahman 译者:bazz2 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出