为什么互联网仍然在线?

互联网似乎是一个强大,独立且坚不可摧的结构。 从理论上讲,网络的强度足以抵抗核爆炸。 实际上,Internet可以丢弃一台小型路由器。 全部归因于互联网是一堆矛盾,漏洞,错误和有关猫的视频的事实。 互联网的基础BGP包含许多问题。 令人惊奇的是他还在呼吸。 除了Internet本身的错误之外,其他所有人也正在破坏它:大型Internet提供商,公司,州和DDoS攻击。 如何处理它以及如何使用它?



IQ Option网络工程团队的负责人Alexey UchakinNight_Snake )知道答案。 其主要任务是平台对用户的可访问性。 在解释Saintey High ++ 2019上 Alexey的报告时,我们将讨论BGP,DDOS攻击,Internet断开连接,提供程序错误,分散化以及小型路由器使Internet进入睡眠状态的情况。 最后-关于如何生存的一些技巧。


互联网崩溃的那一天


当Internet上的连接断开时,我仅举几例。 这对于整个图片就足够了。

“与AS7007一起事件 Internet于1997年4月第一次崩溃。自治系统7007的一个路由器的软件出现错误。 在某个时候,路由器向邻居宣布其内部路由表,并将一半的网络发送到黑洞。

巴基斯坦vs. YouTube 。 2008年,来自巴基斯坦的勇敢者决定封锁YouTube。 他们做得很好,以至于一半的世界没有封印。

“ Rostelecom捕获VISA,MasterCard和Symantec前缀 在2017年,Rostelecom错误地宣布了前缀VISA,MasterCard和Symantec。 结果,财务流量通过提供商控制的渠道进行。 泄漏并没有持续很长时间,但是金融公司对此并不满意。

Google诉日本 。 2017年8月,谷歌开始在其部分上行链路中宣布大型日本提供商NTT和KDDI的前缀。 流量是通过Google运送到Google的,这很可能是错误的。 由于Google不是提供商,并且不允许中转流量,因此日本很大一部分地区都没有互联网。

“ DV LINK捕获了Google,Apple,Facebook,Microsoft的前缀 在同一2017年,俄罗斯提供商DV LINK由于某种原因开始宣布建立Google,Apple,Facebook,Microsoft和其他一些主要参与者的网络。

“美国eNet抢占了AWS Route53和MyEtherwallet前缀 2018年,俄亥俄州的一家提供商或其客户之一宣布了Amazon Route53网络和MyEtherwallet加密钱包。 攻击是成功的:尽管有自签名证书,但当用户进入MyEtherwallet网站时会出现警告,很多钱包被劫持并偷走了一部分加密货币。

仅在2017年,就有超过14,000起此类事件! 网络仍然是分散的,因此并非所有故障也不会全部中断。 但是事件发生在成千上万,并且都与Internet起作用的BGP协议有关。

BGP及其问题


BGP协议-边界网关协议 ,是1989年由IBM和Cisco Systems的两位工程师在三个“餐巾纸”-A4纸上首次描述的。 这些“餐巾纸”仍然位于旧金山的思科系统总部,作为网络世界的遗物。

该协议基于自治系统 -自治系统或缩写形式-AS 的交互 。 自治系统只是IP地址在公共注册表中分配给它的一些ID。 具有此ID的路由器可以向世界宣布这些网络。 因此,Internet上的任何路由都可以表示为称为AS Path的向量。 向量由自治系统编号组成,必须完整才能到达目标网络。

例如,存在许多自治系统的网络。 您需要从AS65001系统升级到AS65003系统。 在图中,来自一个系统的路径由AS路径表示。 它由两个自治部分组成:65002和65003。每个目标地址都有一个AS路径向量,该向量由我们需要经过的自治系统的数量组成。



那么BGP有什么问题呢?

BGP是一种信任协议


BGP协议-基于信任。 这意味着默认情况下,我们信任邻居。 这是Internet诞生时开发的许多协议的功能。 让我们弄清楚“信任”是什么意思。

没有邻居认证 。 正式有MD5,但2019年有MD5-好吧...

没有过滤 。 BGP有过滤器,已经对其进行了描述,但未使用或使用不正确。 稍后我将解释原因。

建立邻居非常简单 。 几乎所有路由器上的BGP协议中的邻居设置-几行配置。

不需要BGP管理权限 。 无需参加考试来确认您的资格。 醉酒时,没有人会剥夺配置BGP的权利。

两个主要问题


前缀劫持-前缀劫持 。 前缀劫持是一个不属于您的网络的公告,就像MyEtherwallet一样。 我们使用了一些前缀,同意了提供者或对其进行了破解,然后通过它来宣布这些网络。

路线泄漏-路线泄漏 。 泄漏有点棘手。 泄漏是AS路径的变化 。 在最佳情况下,更改将导致更大的延迟,因为您需要走更长或更短的路线。 在Google和日本,情况最糟。

Google本身既不是运营商,也不是公交自主系统。 但是,当他向其提供者宣布由日本运营商组成的网络时,则将通过AS Path通过Google的流量视为优先事项。 流量之所以掉到那儿是因为Google内部的路由设置比边界上的过滤器更复杂。

为什么过滤器不起作用?


没有人在乎 。 这是主要原因-每个人都不在乎。 小型提供商或通过BGP与提供商连接的公司的管理员采用了MikroTik,并在其上配置了BGP,甚至不知道可以在那里配置过滤器。

配置错误 。 他们首次亮相,在口罩上犯了一个错误,放错了网眼-现在又是一个错误。

没有技术可能性 。 例如,通信提供商有很多客户。 您应该以一种聪明的方式自动为每个客户端更新过滤器-确保他拥有一个新的网络,并且已将其网络租给了某人。 跟踪这一点很困难;用手很难做到。 因此,他们只是放轻松的过滤器,或者根本不放置过滤器。

例外情况 对于心爱的大客户,也有例外。 特别是在操作员间关节的情况下。 例如,TransTeleCom和Rostelecom有很多网络,它们之间有连接。 如果接头放下,对任何人都不会有好处,因此过滤器会松弛或完全移除。

IRR中过时或不相关的信息 。 过滤器是基于IRR-Internet路由注册表中记录的信息构建的。 这些是区域Internet注册服务机构的注册机构。 注册表中的信息经常过时或不相关,或者全部在一起。

这些注册商是谁?





所有Internet地址均由IANA(互联网分配号码授权机构)拥有 。 当您从某人那里购买IP网络时,您不是购买地址,而是使用它们的权利。 地址是一种无形的资源,根据共同的协议,它们都属于IANA机构。

该系统的工作原理是这样的。 IANA将IP地址和自治系统编号的管理委派给五个地区注册商。 那些向LIR本地Internet注册服务商发布自治系统。 接下来,LIR将IP地址分配给最终用户。

该系统的缺点是每个地区注册商都以自己的方式维护自己的注册机构。 每个人对于注册表中应包含哪些信息,应该或不应该对其进行检查,都有自己的看法。 结果是一团糟,现在。

您还能如何处理这些问题?


内部收益率(IRR)质量中等 。 很明显,有了IRR,那里的一切都很糟糕。

BGP社区 。 这是协议中描述的一些属性。 例如,我们可以在公告中附加一个特殊的社区,这样邻居就不会将我们的网络发送给他的邻居。 当我们拥有P2P链接时,我们仅交换我们的网络。 为了使路由不会意外地到达其他网络,我们挂断了社区。

社区不是可传递的 。 这始终是两个人的合同,这是他们的缺点。 我们无法与其他任何人闲逛,除了一个默认为所有人接受的社区。 我们不能确定这个社区会被所有人接受并正确解释。 因此,在最佳情况下,如果您同意您的上行链路,他将在社区中了解您对他的要求。 但是他的邻居可能不理解,否则操作员只会重置您的标记,而您将无法实现自己想要的。

RPKI + ROA仅解决了一小部分问题 。 RPKI是资源公钥基础结构 -用于签署路由信息的特殊框架。 让LIR及其客户维护最新的地址空间数据库是个好主意。 但是他有一个问题。

RPKI也是一个分层的公共密钥系统。 IANA是否具有从中生成RIR密钥以及从中生成LIR密钥的密钥? 他们使用ROA签署地址空间的方法-路由来源授权:

“我向您保证,该前缀将代表这一自治权宣布。”

除了ROA,还有其他对象,但是稍后会以某种方式关于它们。 看来这件事很好而且有用。 但是它不能保护我们免受“完全”一词的泄漏,也不能解决劫持前缀的所有问题。 因此,玩家并不急于执行它。 尽管已经有了大型厂商(如AT&T和大型IX)的保证,但带有无效ROA记录的前缀将下降。

也许他们会这样做,但是到目前为止,我们有大量根本没有签名的前缀。 一方面,尚不清楚它们是否被有效宣布。 另一方面,由于我们不确定这是否正确,因此默认情况下我们无法删除它们。

还有什么?


BGPSec 。 对于粉红色的小马网络,这是学者们想到的一件很酷的事情。 他们说:

-我们拥有RPKI + ROA-一种用于地址空间签名认证的机制。 让我们获得一个单独的BGP属性,并将其称为BGPSec路径。 每个路由器都将用其签名来签署向邻居发布的通告。 因此,我们可以从签名公告链中获得可信路径,并可以对其进行验证。

从理论上讲,这很好,但实际上存在许多问题。 BGPSec通过选择下一跳并直接在路由器上管理入站/出站流量,打破了许多现有的BGP机制。 直到整个市场参与者中有95%引入了BGPSec,BGPSec本身才是乌托邦。

BGPSec具有巨大的性能问题。 在当前硬件上,检查公告的速度约为每秒50个前缀。 进行比较:当前Internet表700,000个前缀将被填充5小时,对此它将另外更改10次。

BGP开放策略(基于角色的BGP) 。 基于高雷克斯福德模型的新报价。 这是两名参与BGP研究的科学家。

高雷克斯福德模型如下。 为简化起见,在BGP的情况下,交互类型很少:

  • 提供者客户;
  • P2P;
  • 内部交互,例如iBGP。

根据路由器的角色,默认情况下已经可以设置某些导入/导出策略。 管理员不需要配置前缀列表。 根据路由器同意的角色以及可以设置的角色,我们已经获得了一些默认过滤器。 现在,这是IETF正在讨论的草案。 我希望很快我们将以RFC的形式在硬件上实现这一点。

大型互联网服务提供商


考虑一个CenturyLink提供者的例子。 这是美国第三大提供商,服务于37个州,并拥有15个数据中心。

2018年12月,CenturyLink在美国市场上停留了50个小时。 事件发生期间,两个州的自动取款机存在问题; 911在五个州的几个小时都没有工作。 爱达荷州的彩票被撕成碎片。 美国电信委员会目前正在调查此事件。

悲剧的原因在于一个数据中心中的一张网卡。 卡出现故障,发送了错误的数据包,所有15个提供商数据中心都掉线了。



对于此提供者, “太大而不能倒下”的想法行不通。 这个想法根本行不通。 您可以带任何主要玩家投入一些琐事。 在美国,一切依旧联系良好。 有储备的CenturyLink客户大量涌入。 然后,替代运营商抱怨其链接超载。

如果有条件的哈萨克电信公司说谎,整个国家将没有互联网。

公司


可能在Google,Amazon,FaceBook和其他公司上连接到Internet吗? 不,他们也破坏了它。

2017年,在圣彼得堡举行的ENOG13会议上, APNIC的 杰夫·休斯顿Jeff Houston )提出了“过境死亡”报告 。 它说我们已经习惯了互动,现金流和互联网流量是垂直的事实。 我们有小型提供商,它们为与大型提供商的连接付费,而那些提供商已经为与全球运输的连接付费。



现在我们有了这样的垂直结构。 一切都会好起来的,但是世界正在改变-大型企业正在建造自己的越洋电缆来建立自己的主干网。


有关CDN电缆的新闻。

在2018年,TeleGeography发布了一项研究,表明互联网上超过一半的流量不再是互联网,而是主要参与者的骨干。 这是与Internet相关的流量,但与我们所讨论的网络不同。



互联网正在分解为各种各样的松散耦合网络。

微软有自己的网络,谷歌也有自己的网络,它们之间几乎没有重叠。 来自美国某处的流量通过CDN上的Microsoft渠道跨海到达欧洲,然后通过CDN或IX连接到您的提供商,并到达您的路由器。

分权消失了。

互联网的这种力量,将帮助他在核爆炸中幸存下来,其力量已经丧失。 用户和流量集中的地方。 如果有条件的Google Cloud说谎,那么一次将有许多受害者。 在某种程度上,当Roskomnadzor阻止AWS时,我们感到了这一点。 以CenturyLink为例,很显然,有足够的细节。

以前,并非全部也并非全部破产。 将来,我们可以得出这样的结论:通过影响一个主要参与者,您可以打破很多事情,许多地方和许多人可以打破。


紧接着的状态通常发生在它们之间。



在这里,我们的Roskomnadzor从来都不是先驱。 伊朗,印度,巴基斯坦也有类似的互联网关闭惯例。 在英格兰,有一项关于断开互联网连接可能性的法案。

任何大型州都希望完全或部分地关闭Internet,例如Twitter,Telegram,Facebook。 他们不了解自己永远不会成功,但他们确实想要成功。 通常,出于政治目的,使用刀开关是为了消除政治竞争对手或鼻子上的选举,或者俄罗斯黑客再次破坏了某些东西。

DDoS攻击


我不会拿Qrator Labs的同志的面包,他们比我做得更好。 他们有关于互联网稳定性的年度报告 。 这就是他们在2018年报告中写的内容。

DDoS攻击的平均持续时间降至2.5小时 。 攻击者也开始数钱,如果资源没有立即减少,那么资源将很快被留下来。

攻击的强度在增加 。 在2018年,我们在Akamai网络上看到了1.7 Tb / s,这不是极限。

出现了新的攻击媒介,而旧的攻击媒介则不断扩大 。 出现了需要放大的新协议,新的攻击出现在现有协议上,尤其是TLS等。

大多数流量是移动设备 。 同时,Internet流量被传输到移动客户端。 有了这个,您需要能够同时为攻击者和防御者工作。

无敌-没有 。 这是主要思想-没有没有不能完全防御任何DDoS的通用保护。

仅当系统未连接到Internet时,才能建立系统。

我希望我足够害怕你。 现在让我们考虑如何处理。

该怎么办?!


如果您有空闲时间,渴望和英语知识,请参加以下工作组:IETF,RIPE WG。 这些是开放的邮件列表,订阅新闻通讯,参加讨论,参加会议。 如果您具有LIR身份,则可以在RIPE中投票支持各种计划。

对于凡人,这是监视 。 要知道什么是坏的。

监控:要检查什么?


正常Ping ,而不仅是二进制检查-是否有效。 将RTT写入历史记录,以便以后查看异常情况。

跟踪路由 。 这是一个用于确定TCP / IP网络中数据路径的实用程序。 帮助检测异常和堵塞。

HTTP检查-检查自定义URL和TLS证书将有助于检测攻击的阻止或DNS欺骗,这几乎是相同的。 锁定通常是通过欺骗DNS并将流量包装在存根页面上来执行的。

如果可能的话,请与您的客户核实来自不同地方的原产地来源(如果有)。 因此,您会发现DNS拦截异常,提供商有时会犯错。

监控:在哪里检查?


没有普遍的答案。 检查用户来自何处。 如果用户在俄罗斯,请从俄罗斯进行检查,但不要局限于此。 如果您的用户居住在不同的地区,请从这些地区进行检查。 但是来自世界各地的情况更好。

监控:如何检查?


我想出了三种方法。 如果您了解更多-在评论中写。

  • RIPE地图集。
  • 商业监控。
  • 自己的virtualoks网络。

让我们谈谈每个。

RIPE Atlas是如此小巧。 对于那些知道家用“检查员”的人-这是同一盒箱子,但贴有不同的标签。



RIPE Atlas是一个免费程序 。 您注册,通过邮件收到路由器,然后将其插入网络。 由于其他人会利用您的细分,因此您会得到一些贷款。 对于这些贷款,您可以自己进行一些研究。 您可以通过不同的方式进行测试:ping,traceroute,检查证书。 覆盖范围很大,节点很多。 但是有细微差别。

学分制不允许建立生产解决方案 。 正在进行的研究或商业监测的贷款还不够。 学分足以用于短期学习或一次性检查。 1-2次检查可以吃掉一个样本的每日费率。

覆盖率参差不齐 。 由于该计划在两个方向都是免费的,因此在欧洲,俄罗斯的欧洲部分以及某些地区的覆盖率很高。 但是,如果您需要印度尼西亚或新西兰,那么情况就更糟了-每个国家可能不会收集50个样本。

您无法从示例中检查http 。 这是由于技术上的细微差别。 , http . . - http check RIPE Atlas, Anchor.

. , ? , « ». , , .

, . , http- . — .

. — , , . .

custom- . - , «» url, .

. : « !»

, . , , — , ? . , . , -, .

BGP- DDoS-


. BGP- QRadar, BGPmon . full view- . , , , . — , , .

DDoS- . , NetFlow-based . FastNetMon , Splunk . DDoS-. NetFlow .


. , 14 2017 , .

. , , . , , « ». — , , : , , CDN. — -, . , , .

仅此而已。 .

, HighLoad++ Siberia 2019 . , , . , , . 24 25 . !

Source: https://habr.com/ru/post/zh-CN456582/


All Articles