Yandex 實施 RPKI

你好,我的名字是亞歷山大‧阿齊莫夫。 在 Yandex,我開發了各種監控系統以及傳輸網路架構。 但今天我們要講的是BGP協定。

Yandex 實施 RPKI

一週前,Yandex 在與所有對等夥伴以及流量交換點的介面上啟用了 ROV(路由來源驗證)。 請閱讀下文,了解這樣做的原因以及它將如何影響與電信業者的互動。

BGP 及其問題

您可能知道 BGP 被設計為域間路由協定。 然而,一路走來,用例的數量不斷增長:如今,由於大量的擴展,BGP 已經變成了消息總線,涵蓋了從運營商 VPN 到現在流行的 SD-WAN 的任務,甚至還找到了以下應用:類似SDN 控制器的傳輸,將距離向量BGP 轉換為類似鏈結衛星協定的協定。

Yandex 實施 RPKI

圖。 1。 BGP SAFI

為什麼 BGP 獲得(並將繼續獲得)如此多的使用? 主要原因有兩個:

  • BGP 是唯一在自治系統 (AS) 之間工作的協定;
  • BGP 支援TLV(類型-長度-值)格式的屬性。 是的,該協定並不孤單,但由於在電信業者之間的連接處沒有任何東西可以替代它,因此在其上附加另一個功能元素總是比支援額外的路由協定更有利可圖。

他究竟怎麼了? 簡而言之,該協定沒有內建機制來檢查接收到的資訊的正確性。 也就是說,BGP 是一種先驗的信任協議:如果您想告訴世界您現在擁有 Rostelecom、MTS 或 Yandex 的網絡,請這樣做!

基於 IRRDB 的過濾器 - 最差中最好的

問題來了:為什麼網路在這種情況下仍然有效? 是的,它在大部分時間都有效,但同時它也會週期性地爆炸,導致整個國家部分無法訪問。 儘管 BGP 中的駭客活動也在增加,但大多數異常仍然是由錯誤引起的。 今年的例子是 操作員小錯誤 在白俄羅斯,這導致 MegaFon 用戶在半小時內無法存取網路的大部分內容。 另一個例子 - 瘋狂的 BGP 優化器 破壞了世界上最大的 CDN 網路之一。

Yandex 實施 RPKI

米。 2.Cloudflare流量攔截

但是,為什麼這種異常現象每六個月就會發生一次,而不是每天發生一次? 因為運營商使用外部路由資訊資料庫來驗證他們從 BGP 鄰居收到的資訊。 這樣的資料庫有很多,有的是註冊商管理的(RIPE、APNIC、ARIN、AFRINIC),有的是獨立玩家(最著名的是RADB),也有大公司擁有的一整套註冊商(Level3) 、NTT 等)。 正是有了這些資料庫,域間路由才能保持其運作的相對穩定性。

然而,也存在細微差別。 基於ROUTE-OBJECTS和AS-SET物件檢查路由資訊。 如果第一個意味著對 IRRDB 的一部分進行授權,那麼對於第二個類,則沒有作為類別的授權。 也就是說,任何人都可以將任何人添加到他們的集合中,從而繞過上游提供者的過濾器。 此外,無法保證不同 IRR 基礎之間 AS-SET 命名的唯一性,這可能會導致電信業者突然失去連線而產生令人驚訝的影響,而電信業者則沒有進行任何更改。

另一個挑戰是 AS-SET 的使用模式。 這裡有兩點:

  • 當運營商獲得新客戶端時,會將其新增至其 AS-SET 中,但幾乎從不刪除它;
  • 過濾器本身僅在與客戶端的介面處配置。

因此,BGP 過濾器的現代格式包括在與客戶端的介面上逐漸降級的過濾器以及對來自對等合作夥伴和 IP 傳輸提供者的先驗信任。

什麼正在取代基於 AS-SET 的前綴過濾器? 最有趣的是,短期內甚麼都沒有。 但是,其他機制正在出現,以補充基於 IRRDB 的過濾器的工作,首先,這當然是 RPKI。

RPKI

簡單地說,RPKI 架構可以被認為是分散式資料庫,其記錄可以透過密碼驗證。 在ROA(路由物件授權)的情況下,簽署者是位址空間的擁有者,記錄本身是一個三元組(前綴、asn、max_length)。 本質上,該條目假定以下內容:$prefix 位址空間的擁有者已授權 AS 編號 $asn 通告長度不大於 $max_length 的前綴。 使用 RPKI 快取的路由器能夠檢查該對的合規性 前綴 - 路上的第一位發言者.

Yandex 實施 RPKI

圖 3. RPKI 架構

ROA 物件已經標準化了相當長的一段時間,但直到最近它們實際上還只停留在 IETF 期刊的紙面上。 在我看來,造成這種情況的原因聽起來很可怕——糟糕的行銷。 標準化完成後,人們的動機是 ROA 可以防止 BGP 劫持——但事實並非如此。 透過在路徑開頭插入正確的 AC 編號,攻擊者可以輕鬆繞過基於 ROA 的過濾器。 一旦意識到這一點,下一個合乎邏輯的步驟就是放棄使用 ROA。 事實上,如果技術不起作用,我們為什麼還需要它?

為什麼現在是改變主意的時候了? 因為這不是全部真相。 ROA 無法防止 BGP 中的駭客活動,但 防止意外的交通劫持,例如 BGP 中的靜態洩漏,這種情況越來越常見。 此外,與基於 IRR 的過濾器不同,ROV 不僅可以用於與客戶端的接口,還可以用於與對等方和上游提供者的接口。 也就是說,隨著RPKI的引入,先驗信任正逐漸從BGP中消失。

現在,基於ROA的路由檢查正逐漸被主要參與者實施:最大的歐洲IX已經丟棄了錯誤路由;在一級運營商中,值得強調的是AT&T,它在與對等合作夥伴的接口上啟用了過濾器。 最大的內容提供者也正在接觸該專案。 數十家中型交通業者已經悄悄實施,沒有告訴任何人。 為什麼所有這些運營商都實施 RPKI? 答案很簡單:保護您的傳出流量免受其他人的錯誤影響。 這就是為什麼 Yandex 是俄羅斯聯邦首批將 ROV 納入其網路邊緣的國家之一。

接下來會發生什麼?

我們現在已經啟用了在具有流量交換點和專用對等互連的介面處檢查路由資訊。 不久的將來,也將啟用上游流量提供者的驗證。

Yandex 實施 RPKI

這對你來說有什麼不同? 如果您想提高網路和 Yandex 之間流量路由的安全性,我們建議:

  • 簽署您的地址空間 在 RIPE 入口網站中 - 很簡單,平均需要 5-10 分鐘。 如果有人無意中竊取了您的地址空間,這將保護我們的連線(這肯定遲早會發生);
  • 安裝開源 RPKI 快取之一(成熟驗證器, 路由器)並在網路邊界啟用路由檢查 - 這將花費更多時間,但同樣,它不會造成任何技術困難。

Yandex 也支援開發基於新 RPKI 物件的過濾系統 - 阿斯巴 (自治系統提供者授權)。 基於ASPA和ROA物件的過濾器不僅可以取代「洩漏」的AS-SET,還可以解決使用BGP的MiTM攻擊問題。

我將在一個月後的 Next Hop 會議上詳細談論 ASPA。 來自 Netflix、Facebook、Dropbox、Juniper、Mellanox 和 Yandex 的同事也將在那裡發表演講。 如果你對網路堆疊及其未來的發展感興趣,就來吧 註冊已開放.

來源: www.habr.com

添加評論