APNIC文摘 — APNIC網路的RPKI案例研究

本APNIC文摘原標題為RPKI in APNIC’s network: A case study,由George Michaelson撰文。

APNIC在資源公鑰基礎建設(Resource Public Key Infrastructure,RPKI)中具有雙重角色。其一,也是最重要的角色,是基於APNIC於亞太地區分發網際網路號碼資源的責任,作為X.509憑證的信任錨點(Trust Anchor,TA)。

除此之外,APNIC也營運自身網路。APNIC相信參與全球路由的重要,這不僅是APNIC了解取得資源方實際經驗的責任,也能確保APNIC網路遇到傳輸問題時,終端能輕易聯絡APNIC。因此,APNIC在基礎建設允許的距離內,盡量與多個網路交換中心(Internet Exchange Point,IXP)互連。

本文將集中於APNIC自營網路的角色,解釋APNIC如何在轄下網路部署RPKI。

打下基礎

APNIC 在2015年簽署轄下一核心網路資產的路由來源授權(Route Origin Authorization,ROA)以測試RPKI。那時候,有在執行路由來源驗證(Route Origin Validation,ROV)的BGP宣告對象並不多。經此測試,APNIC得以了解MyAPNIC路由管理系統如何以使用者(而非註冊管理簽署服務的研發單位)運作。測試結果沒有發現任何BGP可見度的負面影響,或ROA和網際網路路由註冊管理(Internet Routing Registry,IRR)路由物件與BGP不一致的問題。

APNIC作為中小型企業網路

APNIC所營運的網路為中小型企業網路,除布里斯本外,在日本、新加坡也有服務據點。由於本文目的為分享RPKI實踐經驗,僅以布里斯本的網路為焦點。

APNIC宣告來自6個IPv4區段的7筆路由,以及4個IPv6區段的13筆路由。除了代管部分如DNS根伺服器anycast及共同營運的研究網路外,APNIC不為任何獨立網路提供傳輸,但在合理情況下大量與本地IXP互連。

APNIC的網路比起大部分中小企業的終端網路複雜,但並不特異。APNIC的自用位址來自3個不同路由,目前皆為Cisco IOS裝置。澳洲電信公司Telstra、網路業者Vocus和澳洲學術研究網路AARNet為APNIC的3大主要傳輸往來對象,但APNIC也與Equinix和PIPE等網路業者互連。以BGP的觀點而言,ANPIC在布里斯本以AS4608為首,背後有個稍顯複雜的多宿(multi-homed)終端網路。

建立ROA:簡單為上

APNIC在2018年決定所有從核心服務網路AS4608宣告的前綴都要部署ROA。由於這些前綴沒有複雜的多AS來源,只有一個來源AS,部署ROA非常簡單。

APNIC持有少數可以整合聚集的IPv4前綴(整合成在/24之上的1個/22和1個/21),因此,APNIC利用MyAPNIC路由管理功能,建立了極簡化但可涵蓋/24的最大長度的ROA。雖然也可以建立不使用最大長度的ROA,但APNIC認為保持IRR路由和ROA一致的方式最簡單也最好。

研究和IPv6可能比較複雜

不像大部分企業,APNIC也針對AS4608宣告的少數BGP進行研究,這些BGP路由的宣告和傳播也因此變得比較複雜。為了驗證RPKI,這部分路由改從另一個具自己獨立RPKI系統的AS,利用虛擬BGP宣告器宣告。

擁有不只一個據點的企業,通常可以取得/32的資源,因此得以在/48的限制下發出多筆更具體的宣告。IPv6的ROA建立就稍微複雜一點:通常不會選擇用最大長度的單一ROA代表整個網路區塊,因為邏輯上難以宣稱BGP中所有可能細節為真。有心人士也容易趁此機會宣告更具體的路由前綴,藉此「偷走」來自你的AS源頭的AS路徑。APNIC的做法是簽署/32到/35的最大長度前綴,再另外簽署目前宣告的指定/48。

驗證

APNIC一開始是利用RIPE NCC Java validator測試RPKI驗證。後來RIPE NCC不再支援此Java,APNIC改成使用Nlnet Routinator Rust code,並部署於兩個instance製造冗餘。APNIC出資贊助NLnet維護此服務,並取得NLNet的軟體支援作為回報。除此之外,APNIC也在另一個instance上使用C語言的OpenBSD rpki-client,藉此保有3個彼此獨立的RPKI驗證端。此做法也幫助APNIC內部檢核,若3個端點彼此驗證結果不同,APNIC會收到提醒並進一步處理問題。

APNIC不直接捨棄無效宣告的原因

部署ROV的最後,你必須決定如何處置無效的BGP宣告。一般做法是維持一段「觀察回報」時期後,便開始直接捨棄(drop)所有無效宣告。

但APNIC必須無時無刻保持所有網路在所有地區的暢通,因此直接捨棄無效路由的做法,反而可能有APNIC資源持有者因設定錯誤,導致服務阻斷的風險。因此,目前APNIC做法是記錄所有無效宣告,但不直接捨棄。

若你不確定怎麼做,可以參考以下建議流程:

  1. 簽署轄下資產並清楚宣告意圖。只要者些ROA簽署和BGP的AS來源意圖保持一致,就對你的BGP沒有任何直接風險。
  2. 確保RPKI和IRR一致。如果你使用MyAPNIC路由管理系統,系統會自動幫你設定好。
  3. 避免BGP沒有宣告的最大長度設定,防止其他更明確的宣告利用錯誤路徑侵入你的AS來源。
  4. 設置可與BGP整合的驗證程式,用它檢測網路的全球驗證狀態後,再設定到即時BGP裡。
  5. 你可以選擇使用不只一個驗證程式,確保代碼多元性。
  6. 設置監測工具(如BGPalerter)追蹤BGP問題。
  7. 經過深思熟慮後若仍決定捨棄無效BGP,才在BGP宣告中啟動RPKI-RTR反饋。

前往RPKI @ APNIC了解更多資訊和案例分享,以及APNIC Academy線上課程。

本文內容純屬筆者個人意見,並不代表TWNIC立場

*台灣網路資訊中心(TWNIC)與亞太網路資訊中心(APNIC)合作,定期精選APNIC Blog文章翻譯摘要,提供中心部落格讀者了解目前亞太地區網路發展之最新趨勢。原文標題為RPKI in APNIC’s network: A case study

圖片來源: APNIC Blog

Scroll to Top