無論是出於惡意、惡意或其他原因,路由洩漏和劫持都可能對網路造成嚴重破壞。由於路由或多或少是一個沒有單一權威的謠言鏈,因此沒有準確的參考來識別「不良」路由更新(儘管我們可能希望愚人節 RFC 3514 是真實的)。作為網路營運商,我們所能做的就是嘗試確定哪些更新是好的。
RPKI 有何幫助?
使用 RPKI,我們可以驗證誰有權透過路由來源授權 (ROA) 路由哪些資源。與路由不同,資源公鑰基礎設施(RPKI)確實具有權限模型,因此可以建立信任,這是能夠可靠地識別良好路由更新的第一步。
RPKI 是一個公鑰基礎設施框架,因此當位址持有者向最終持有者分配資源時,他們也會頒發一個憑證(基於X.509標準),將資源與最終持有者的公鑰綁定,所有這些都由發行者的私鑰簽署金鑰(信任錨)。這允許最終持有者證明有關特定互聯網號碼資源的託管權和其他狀態資訊。這些權限可以根據信任錨(信任鏈上游)進行驗證。
可以利用 RPKI 的單一權威模型和認證層次結構來使用 ROA 執行路由來源驗證 (ROV)。
ROA 列出了 ASN 有權公佈的前綴,這意味著它可以權威地證明誰是地址的合法託管人,並識別哪些 ASN 擁有託管人的許可來發起該地址。一旦經過驗證,ROA 可用於產生路由過濾器。這可以幫助防止在未經授權的情況下由 AS 發起前綴的路由劫持,並且可以幫助防止前綴被錯誤地錯誤發起。
步驟1:啟動RPKI引擎
要對特定帳戶下的資源進行認證,首先需要在MyAPNIC中啟動RPKI引擎。登入 MyAPNIC 後,從功能表列中選擇「資源」 ,然後選擇「資源認證」下列出的RPKI。啟動 RPKI 引擎。
第 2 步:建立 ROA
現在您已準備好建立 ROA 來實作 RPKI ROV。
在您的 MyAPNIC 入口網站中,前往資源並選擇路由管理下的路由。
在此區域中,您應該會看到現有路線的清單。在這裡我們看到 APNIC 培訓帳戶,其中顯示了我們的兩個中轉 AS;AS 45192 和 131107 及其相關的 IPv4 和 IPv6 前綴。我們還有其他用於多宿主目的的 AS。
創建 ROA 就像選擇創建路線 並指定以下內容一樣簡單:
- 字首
- 起源AS
- 最具體的公告 (MSA) — 這是您的 ROA 將涵蓋的最小子路線(子聚合)公告。請注意,如果您通告/公告的前綴小於此 MSA,則對於任何進行來源驗證的人來說都會被視為無效,因此請考慮您將來的使用並確保該值涵蓋您的所有實際公告。
- Whois(可選)。選擇此選項可讓您隨 ROA 一起建立 Route(6) 物件。如果選擇此選項,MSA 和前綴長度之間的距離必須為 8 位元或更少。例如,如果您有 /32 IPv6 前綴並選擇啟用 whois 選項,則您的 MSA 僅限於 /40。如果您僅選擇“ROA”選項,則此限制不適用
- 資產報酬率
下圖顯示了路由建立過程:
- 取消選擇 whois 選項的 IPv6
- 選擇了 whois 選項的 IPv4
點擊“下一步”並選擇任何子路線(如果適用)後,您就準備好了。點擊提交以完成該過程。
就是這樣了!您的 ROA 已建立。建立 ROA 後,APNIC 系統會將您的 ROA 發佈到全球 RPKI 儲存庫。
請注意,只有前綴的保管人可以執行此操作。如果您的上游說:“嘿,您能授權我宣傳您的前綴嗎?”,只有您可以通過創建包含其 ASN 的 ROA 來做到這一點。
第 3 步:檢查您的 ROA
有很多方法可以檢查您的 ROA 是否已發布。我更喜歡 NTT 的路由註冊資料庫。我可以發出一個簡單的 whois 命令,該命令指向 NTT 的路由註冊表,然後檢查我的前綴。
whois 結果顯示前綴有一個 ROA 配置文件,來源為 AS 131107。前綴由 APNIC 委託,因此被列為信任錨。
您也可以使用 BGPMon 檢查您的 ROA。
如果你想匹配一個前綴和AS,你可以使用這個命令,它會告訴你它是否有效。
如果您不想使用命令列,則可以使用APNIC 的 RPKI 驗證器,透過搜尋特定前綴來查看它是否已驗證。
Hurricane Electric 也在https://bgp.he.net上託管了一個工具。綠色鍵表示您的 ROA 已建立並已傳播到全域儲存庫。