為什麼互聯網仍然在線?

網路似乎是一個強大的、獨立的、堅不可摧的結構。 理論上,該網絡足夠強大,可以在核爆炸中倖存下來。 事實上,網路可以放下一台小型路由器。 這一切都是因為網路上充斥著關於貓的矛盾、漏洞、錯誤和影片。 網路的骨幹 BGP 充滿了問題。 令人驚訝的是他還有呼吸。 除了網路本身的錯誤之外,它還受到各種因素的破壞:大型網路供應商、公司、國家和 DDoS 攻擊。 該怎麼辦以及如何忍受它?

為什麼互聯網仍然在線?

知道答案了 阿列克謝·烏恰金 (夜蛇)是 IQ Option 網路工程師團隊的領導者。 其主要任務是為用戶提供平台的可訪問性。 在阿列克謝的報告筆錄中 聖徒 HighLoad++ 2019 讓我們來談談 BGP、DDOS 攻擊、網路交換器、供應商錯誤、權力下放以及小型路由器導致網路進入睡眠狀態的情況。 最後 - 關於如何度過這一切的一些技巧。

網路崩潰的那一天

我將僅舉幾個網路連線中斷的事件。 這對於完整的圖片來說就足夠了。

《AS7007事件》。 網路第一次崩潰是在 1997 年 7007 月。自治系統 XNUMX 的一台路由器的軟體有錯誤。 在某個時刻,路由器向其鄰居公佈其內部路由表,並將一半的網路送入黑洞。

“巴基斯坦反對 YouTube”。 2008 年,來自巴基斯坦的勇敢者決定封鎖 YouTube。 他們做得非常好,以至於半個世界都沒有貓了。

“Rostelecom 捕捉 VISA、MasterCard 和 Symantec 前綴”。 2017 年,Rostelecom 錯誤地開始宣布 VISA、MasterCard 和 Symantec 前綴。 因此,金融流量是透過提供者控制的管道進行的。 這次洩密事件持續的時間並不長,但對金融公司來說卻是不愉快的。

Google vs 日本。 2017 年 XNUMX 月,Google 開始在其部分上行鏈路中公佈日本主要供應商 NTT 和 KDDI 的前綴。 流量被作為傳輸發送到 Google,很可能是錯誤的。 由於Google不是提供者並且不允許過境流量,因此日本的很大一部分地區沒有網路。

“DV LINK 捕捉了 Google、Apple、Facebook、Microsoft 的前綴”。 同樣在 2017 年,俄羅斯供應商 DV LINK 出於某種原因開始宣布Google、蘋果、Facebook、微軟和其他一些主要參與者的網路。

“來自美國的 eNet 已捕獲 AWS Route53 和 MyEtherwallet 前綴”。 2018 年,俄亥俄州供應商或其客戶之一宣布推出 Amazon Route53 和 MyEtherwallet 加密錢包網路。 這次攻擊是成功的:儘管有自簽名證書,在用戶進入 MyEtherwallet 網站時會出現警告,但許多錢包被劫持,部分加密貨幣被盜。

光是2017年,此類事件就超過14起! 網路仍然是去中心化的,所以並不是所有的東西、也不是每個人都會崩潰。 但有數以千計的事件,全部與為網際網路提供動力的 BGP 協定有關。

BGP及其問題

協議 BGP - 邊界閘道協定1989 年,IBM 和 Cisco Systems 的兩名工程師首次在三張「餐巾紙」——A4 紙上描述了這一點。 這些 “餐巾” 作為網路世界的遺跡,它仍然坐落在舊金山的思科系統公司總部。

該協議基於自治系統的交互 - 自治系統或簡稱AS。 自治系統只是在公共註冊表中分配 IP 網路的 ID。 具有此 ID 的路由器可以向全世界公佈這些網路。 相應地,Internet上的任意路徑都可以表示為向量,稱為 AS路徑。 此向量由必須遍歷才能到達目標網路的自治系統的數量組成。

例如,有一個由多個自治系統組成的網路。 您需要從 AS65001 系統前往 AS65003 系統。 來自一個系統的路徑在圖中以 AS 路徑表示。 它由兩個自治系統組成:65002和65003。對於每個目標位址都有一個AS路徑向量,它由我們需要經過的自治系統的數量組成。

為什麼互聯網仍然在線?

那麼BGP存在哪些問題呢?

BGP是一種信任協定

BGP 協定是基於信任的。 這意味著我們默認信任我們的鄰居。 這是互聯網誕生之初開發的許多協定的一個特徵。 讓我們弄清楚「信任」的意思。

沒有鄰居驗證。 正式來說,有 MD5,但 5 年的 MD2019 只是…

無濾鏡。 BGP 有過濾器並且對它們進行了描述,但是它們沒有被使用或使用不正確。 稍後我會解釋原因。

設定鄰居非常容易。 在幾乎所有路由器上透過 BGP 協定設定鄰居只需幾行配置。

無需BGP管理權限。 您不需要參加考試來證明您的資格。 沒有人會剝奪您在醉酒時配置 BGP 的權利。

兩個主要問題

前綴劫持。 前綴劫持是在宣傳不屬於您的網絡,就像 MyEtherwallet 的情況一樣。 我們採用了一些前綴,與提供者達成一致或對其進行了駭客攻擊,然後透過它我們宣布這些網路。

路由洩漏。 洩漏有點複雜。 洩漏是 AS Path 的變化。 在最好的情況下,這種變化只會導致更大的延誤,因為您需要行駛更長的路線或在更寬敞的路段上行駛。 在最壞的情況下,谷歌和日本的情況將會重演。

谷歌本身不是運營商或交通自治系統。 但當他向其提供者宣布日本營運商的網路時,透過 AS Path 通過 Google 的流量被視為更高優先級。 流量到達那裡並下降只是因為谷歌內部的路由設定比邊界的過濾器更複雜。

為什麼過濾器不起作用?

沒人在乎。 這是主要原因——沒人關心。 透過 BGP 連接到提供者的小型提供者或公司的管理員使用 MikroTik,在其上配置了 BGP,甚至不知道可以在那裡配置過濾器。

配置錯誤。 他們搞砸了一些事情,在面罩上犯了一個錯誤,戴上了錯誤的網布——現在又出現了一個錯誤。

沒有技術可能性。 例如,電信業者有許多客戶。 明智的做法是自動更新每個客戶端的過濾器 - 監視他是否擁有新網絡,以及他是否已將網路出租給某人。 遵循這一點很困難,用你的雙手更困難。 因此,他們只是安裝寬鬆的過濾器或根本不安裝過濾器。

例外。 對於心愛的客戶和大客戶也有例外。 特別是在業者間接口的情況下。 例如,TransTeleCom 和 Rostelecom 有一堆網絡,它們之間有一個介面。 如果關節掉落,對任何人都沒有好處,因此過濾器會被放鬆或完全移除。

IRR 中的過時或不相關信息。 過濾器是根據記錄的資訊建構的 IRR - 網際網路路由註冊表。 這些是區域互聯網註冊商的註冊機構。 通常,註冊表包含過時或不相關的信息,或兩者兼而有之。

這些註冊商是誰?

為什麼互聯網仍然在線?

所有互聯網位址都屬於該組織 IANA - 網路號碼分配機構。 當您從某人那裡購買 IP 網路時,您購買的不是位址,而是使用它們的權利。 地址是一種無形資源,根據共同協議,它們均歸 IANA 所有。

系統是這樣運作的。 IANA 將 IP 位址和自治系統編號的管理委託給五個地區註冊商。 他們發布自治系統 LIR-- 本地網際網路註冊商。 然後,LIR 會向最終使用者指派 IP 位址。

該系統的缺點是每個地區註冊商都以自己的方式維護其註冊簿。 每個人對於登記冊中應包含哪些資訊以及誰應該或不應該檢查這些資訊都有自己的看法。 結果就是我們現在的亂局。

您還能如何解決這些問題?

IRR-- 品質平庸。 IRR 很清楚——那裡的一切都很糟糕。

BGP 社區。 這是協議中描述的一些屬性。 例如,我們可以在我們的公告中附加一個特殊的社區,以便鄰居不會將我們的網路發送給他的鄰居。 當我們有 P2P 連結時,我們只交換我們的網路。 為了防止路由意外到其他網絡,我們新增了社群。

社區不具傳遞性。 它始終是兩個人的合同,這是他們的缺點。 我們無法分配任何社區,但每個人都默認接受的社區除外。 我們不能確定每個人都會接受這個社區並正確解釋它。 因此,最好的情況是,如果你同意你的上行,他就會明白你在社區方面想從他那裡得到什麼。 但你的鄰居可能不明白,或者運營商會簡單地重置你的標籤,而你將無法達到你想要的。

RPKI+ROA只解決了一小部分問題。 RPKI 是 資源公鑰基礎設施  — 用於簽署路由資訊的特殊框架。 強制 LIR 及其客戶維護最新的地址空間資料庫是個好主意。 但它有一個問題。

RPKI也是一個分層的公鑰系統。 IANA 擁有一個金鑰,可以根據該金鑰產生 RIR 金鑰,也可以根據該金鑰產生 LIR 金鑰? 他們使用 ROA 簽署其位址空間 - 路由來源授權:

——我向你們保證,這個前綴將代表本自治區公佈。

除了ROA之外,還有其他對象,稍後會詳細介紹。 這似乎是一件好事而且有用。 但它並不能保護我們免受「完全」一詞的洩露,也不能解決前綴劫持的所有問題。 所以,玩家們並不急於實施。 儘管 AT&T 和大型 IX 公司等大公司已經保證,帶有無效 ROA 記錄的前綴將被刪除。

也許他們會這樣做,但目前我們有大量的前綴沒有以任何方式簽名。 一方面,尚不清楚它們是否被有效宣布。 另一方面,我們不能預設刪除它們,因為我們不確定這是否正確。

那裡還有什麼?

北斗衛星導航系統。 這是學者們為粉紅小馬網絡想出的一件很酷的事情。 他們說:

- 我們有 RPKI + ROA - 一種驗證位址空間簽章的機制。 讓我們建立一個單獨的 BGP 屬性並將其稱為 BGPSec 路徑。 每個路由器都會用自己的簽名對其向鄰居發布的公告進行簽署。 這樣我們就可以從簽名公告鏈中獲得一條可信任路徑,並且能夠對其進行檢查。

理論上很好,但實務上存在著許多問題。 BGPSec 打破了許多現有的 BGP 機制,用於選擇下一跳並直接在路由器上管理傳入/傳出流量。 BGPSec 直到整個市場 95% 的企業都實施了它才起作用,這本身就是一個烏托邦。

BGPSec 存在巨大的效能問題。 在目前的硬體上,檢查公告的速度約為每秒 50 個前綴。 作為比較:目前網路表中的700萬個前綴將在000小時內上傳,在此期間將再更改5次。

BGP 開放策略(基於角色的 BGP)。 基於模型的新提案 高雷克斯福德。 這是兩位正在研究 BGP 的科學家。

高-雷克斯福德模型如下。 為了簡化,BGP 有少量類型的互動:

  • 提供商客戶;
  • 對等;
  • 內部通信,例如 iBGP。

根據路由器的角色,預設情況下已經可以指派某些匯入/匯出策略。 管理員無需配置前綴清單。 根據路由器之間達成一致且可以設定的角色,我們已經收到了一些預設過濾器。 目前 IETF 正在討論該草案。 我希望很快我們就能以 RFC 的形式看到它並在硬體上實現。

大型網路供應商

讓我們看一下提供者的範例 世紀互聯。 它是美國第三大供應商,為 37 個州提供服務並擁有 15 個資料中心。 

2018年50月,CenturyLink在美國市場上市911小時。 事件期間,兩個州的ATM機運作出現問題,五個州的XNUMX號碼幾個小時無法撥打。 愛達荷州的彩券徹底被毀了。 目前該事件正在接受美國電信委員會的調查。

悲劇的原因是一個資料中心的一張網卡。 該卡發生故障,發送了錯誤的資料包,提供者的所有 15 個資料中心都癱瘓了。

為什麼互聯網仍然在線?

這個想法對該提供者不起作用 “太大而不能倒下”。 這個想法根本行不通。 你可以選擇任何一個主要的參與者,然後在上面放一些小東西。 美國在互聯互通方面仍然表現良好。 擁有儲備的 CenturyLink 客戶紛紛湧入。 然後其他運營商抱怨他們的連結超載。

如果有條件的哈薩克電信垮台,整個國家將失去網路。

企業

也許Google、亞馬遜、FaceBook 和其他公司都支援網路? 不,他們也打破了它。

2017 年在聖彼得堡舉行的 ENOG13 會議 傑夫休斯頓 的 APNIC 引進 報告“交通之死”。 它說我們習慣了網路上的互動、資金流動和流量是垂直的。 我們有一些小型供應商為與大型提供者的連接付費,他們也已經為與全球交通的連接付費。

為什麼互聯網仍然在線?

現在我們有了這樣一個垂直方向的結構。 一切都會好起來的,但世界正在改變——主要參與者正在建造自己的跨洋電纜來建造自己的骨幹網路。

為什麼互聯網仍然在線?
有關 CDN 電纜的新聞。

2018年,TeleGeography發布研究稱,網路上一半以上的流量不再是互聯網,而是大型玩家的骨幹CDN。 這是與互聯網相關的流量,但這不再是我們談論的網路。

為什麼互聯網仍然在線?

網路正在分裂成一大堆鬆散連接的網路。

微軟有自己的網絡,Google也有自己的網絡,而且它們之間幾乎沒有重疊。 源自美國某處的流量透過 Microsoft 管道跨越大洋到達歐洲 CDN 上的某處,然後透過 CDN 或 IX 連接到您的提供者並到達您的路由器。

權力下放正在消失。

網路的這種力量正在消失,這種力量將有助於它在核爆中倖存下來。 用戶和流量集中的地方出現。 如果有條件的谷歌雲倒下了,一下子就會有很多受害者。 當 Roskomnadzor 封鎖 AWS 時,我們部分地感受到了這一點。 CenturyLink 的例子表明,即使是很小的事情也足以實現這一目標。

以前,並不是所有東西、也不是每個人都破產了。 未來我們可能會得出這樣的結論:透過影響一個主要參與者,我們可以打破很多東西、很多地方、很多人。

科蘇達爾斯提瓦

各州緊隨其後,這也是它們通常會發生的情況。

為什麼互聯網仍然在線?

在這方面,我們的 Roskomnadzor 根本不是先驅。 伊朗、印度和巴基斯坦也存在類似的關閉網路做法。 英國有一項關於關閉網路可能性的法案。

任何大國都希望有一個開關來完全或部分關閉網路:Twitter、Telegram、Facebook。 不是他們不明白自己永遠不會成功,而是他們真的想要成功。 一般來說,這種切換是出於政治目的——消除政治競爭對手,或者選舉即將到來,或者俄羅斯駭客再次破壞了某些東西。

DDoS 攻擊

我不會從 Qrator Labs 的戰友那裡奪走麵包,他們做得比我好得多。 他們有 年度報告 關於網路的穩定性。 這就是他們在 2018 年報告中寫的。

DDoS 攻擊平均持續時間降至 2.5 小時。 攻擊者也開始數錢,如果資源不能立即可用,那麼他們很快就會不管它。

攻擊的強度越來越大。 2018 年,我們在 Akamai 網路上看到了 1.7 Tb/s,但這還不是極限。

新的攻擊媒介正在出現,舊的攻擊媒介正在加劇。 容易被放大的新協定不斷出現,針對現有協定(尤其是 TLS 等)的新攻擊不斷出現。

大部分流量來自行動裝置。 同時,網路流量轉向行動用戶端。 進攻者和防守者都需要能夠處理這一點。

刀槍不入 - 沒有。 這是主要思想 - 不存在絕對可以防禦任何 DDoS 的通用保護措施。

除非連接到互聯網,否則無法安裝系統。

我希望我已經嚇到你了。 現在讓我們考慮一下該怎麼辦。

怎麼辦?!

如果您有空閒時間、渴望並具備英語知識,請參加工作小組:IETF、RIPE WG。 這些是開放郵件清單、訂閱郵件清單、參與討論、參加會議。 例如,如果您擁有 LIR 身份,您可以在 RIPE 中為各種倡議投票。

對凡人來說這是 監控。 要知道什麼壞了。

監控:檢查什麼?

正常,而不僅僅是二進制檢查 - 它是否有效。 將 RTT 記錄在歷史記錄中,以便您以後可以查看異常情況。

跟踪路由。 這是一個用於確定 TCP/IP 網路上的資料路由的實用程式。 幫助識別異常和阻塞。

HTTP 檢查自訂 URL 和 TLS 憑證 將有助於檢測攻擊的封鎖或 DNS 欺騙,這實際上是同一件事。 阻止通常是透過 DNS 欺騙和將流量轉向存根頁面來實現的。

如果可能的話,如果您有申請,請檢查客戶對您來自不同地方的來源的解析。 這將幫助您偵測 DNS 劫持異常,提供者有時會這樣做。

監控:去哪裡檢查?

沒有普遍的答案。 檢查用戶來自哪裡。 如果用戶在俄羅斯,請從俄羅斯進行檢查,但不要僅限於此。 如果您的使用者居住在不同的區域,請從這些區域進行檢查。 但來自世界各地的更好。

監控:檢查什麼?

我想出了三種方法。 如果您知道更多,請寫在評論中。

  • 成熟的阿特拉斯。
  • 商業監控。
  • 您自己的虛擬機器網路。

讓我們來談談他們中的每一個。

成熟阿特拉斯 - 這是一個很小的盒子。 對於那些了解國內“檢查員”的人 - 這是同一個盒子,但帶有不同的貼紙。

為什麼互聯網仍然在線?

RIPE Atlas 是一個免費程序。 您註冊、透過郵件收到路由器並將其插入網路。 由於其他人使用了您的樣本,您將獲得一些積分。 透過這些貸款,您可以自己做一些研究。 您可以透過不同的方式進行測試:ping、traceroute、檢查憑證。 覆蓋範圍相當大,節點很多。 但也存在細微差別。

信用體係不允許建構生產解決方案。 沒有足夠的學分用於正在進行的研究或商業監測。 學分足以進行短期學習或一次性檢查。 1-2 次檢查消耗了一份樣本的每日標準。

覆蓋不均勻。 由於該計劃是雙向免費的,因此在歐洲、俄羅斯的歐洲部分和一些地區的覆蓋範圍很好。 但如果您需要印尼或紐西蘭,那麼一切就更糟了 - 每個國家可能沒有 50 個樣本。

您無法從範例中檢查 http。 這是由於技術上的細微差別造成的。 他們承諾在新版本中修復它,但目前無法檢查http。 只能驗證證書。 某種 http 檢查只能對稱為 Anchor 的特殊 RIPE Atlas 設備進行。

第二種方法是商業監控。 他一切都很好,你付錢了,對嗎? 他們向您承諾在世界各地有數十個或數百個監控點,並繪製出現成的漂亮儀表板。 但是,問題又來了。

是要付費的,有的地方還很貴。 Ping 監控、全球檢查和大量 http 檢查每年可能花費數千美元。 如果財務允許並且您喜歡這個解決方案,請繼續。

感興趣區域的覆蓋範圍可能不夠。 使用相同的 ping,最多可以指定世界的一個抽象部分 - 亞洲、歐洲、北美。 很少有監控系統可以深入到特定的國家或地區。

對自訂測試的支援較弱。 如果您需要一些自訂內容,而不僅僅是網址上的“捲曲”,那麼這也會有問題。

第三種方式是你的監控。 這是一句經典的話:“讓我們自己寫吧!”

您的監控變成了軟體產品的開發,並且是分散式軟體產品。 你正在尋找一個基礎設施供應商,看看如何部署和監控它——監控需要被監控,對嗎? 並且還需要支援。 在你接受這件事之前要三思十次。 付錢讓別人幫你做這件事可能會更容易。

監控BGP異常和DDoS攻擊

在這裡,基於可用的資源,一切都變得更加簡單。 使用 QRadar、BGPmon 等專門服務檢測 BGP 異常。 他們接受來自多個操作員的完整視圖表。 根據他們從不同操作員看到的情況,他們可以檢測異常情況、尋找擴大機等等。 註冊通常是免費的 - 您輸入您的電話號碼,訂閱電子郵件通知,該服務將提醒您出現問題。

監控 DDoS 攻擊也很簡單。 通常這是 基於NetFlow和日誌。 有專門的系統,例如 快速網路監控,模組 Splunk的。 作為最後的手段,您可以選擇 DDoS 保護提供者。 它還可以洩漏 NetFlow,並基於此,它會通知您針對您的方向的攻擊。

發現

不要抱持任何幻想——網路肯定會崩潰。 不是所有事情、也不是每個人都會發生故障,但 14 年 2017 起事故暗示將會發生事故。

您的任務是儘早發現問題。 至少不晚於您的用戶。 重要的是要注意,始終保留“B 計劃”。 計劃是當一切崩潰時你將採取的行動的策略。:儲備業者、DC、CDN。 計劃是一個單獨的清單,您可以根據它檢查所有工作的情況。 該計劃應該在沒有網路工程師參與的情況下發揮作用,因為他們通常很少,而且他們想睡覺。

就這樣。 祝您高可用,綠色監控。

預計下週新西伯利亞將迎來陽光明媚、客流量大且開發商高度集中的情況 HighLoad++ 西伯利亞 2019。 在西伯利亞,預計將出現一系列有關監測、可及性和測試、安全性和管理的報告。 預計降雨會以潦草筆記、網路、照片和社交網路貼文的形式出現。 我們建議延後 24 月 25 日至 XNUMX 日的所有活動, 訂票。 我們在西伯利亞等你!

來源: www.habr.com

添加評論