Słownik

Co to jest ROA?

ROA (Route Origin Authorization) to podpisany rekord RPKI mówiący, który AS może ogłaszać dany prefiks i do jakiej maksymalnej długości maski (maxLength).

Ostatnia aktualizacja:

ROA (Route Origin Authorization) to podpisany cyfrowo obiekt RPKI, w którym posiadacz prefiksu deklaruje, który system autonomiczny (AS) ma prawo ogłaszać ten prefiks w BGP oraz do jakiej maksymalnej długości maski. ROA jest fundamentem walidacji pochodzenia tras (ROV). Na jego podstawie router lub walidator rozstrzyga, czy konkretne ogłoszenie BGP jest prawidłowe, czy też wskazuje na przejęcie lub błąd konfiguracji.

Co zawiera rekord ROA

ROA wiąże ze sobą trzy informacje i jest podpisany certyfikatem powiązanym z przydziałem zasobów, którego łańcuch zaufania prowadzi do trust anchor danego rejestru regionalnego (RIR), na przykład RIPE NCC. Format ROA opisuje RFC 6482, a sposób jego użycia do walidacji tras opisuje RFC 6811.

  • Prefiks (lub zbiór prefiksów) IPv4 albo IPv6, którego dotyczy autoryzacja.
  • Numer AS uprawniony do ogłaszania tego prefiksu jako AS pochodzenia.
  • maxLength: najdłuższa maska, do jakiej prefiks może być ogłaszany; brak tego pola oznacza tylko dokładną długość prefiksu.
  • Podpis cyfrowy i łańcuch certyfikatów prowadzący do trust anchor RIR.

ROA a stany walidacji: valid, invalid, unknown

Podczas walidacji pochodzenia (ROV) router porównuje ogłaszaną parę prefiks i AS pochodzenia ze zbiorem ROA pobranym z walidatora i przypisuje jeden z trzech stanów. Pojedynczy ROA może obejmować wiele prefiksów i wiele numerów AS, ale każda kombinacja jest oceniana osobno.

  • Valid: istnieje ROA, którego AS pochodzenia zgadza się z ogłoszeniem, a długość maski mieści się w maxLength.
  • Invalid: dla prefiksu istnieje ROA, ale AS pochodzenia jest inny lub maska dłuższa niż maxLength. To sygnał przejęcia lub pomyłki.
  • Unknown (NotFound): żaden ROA nie pokrywa prefiksu, więc poprawności nie da się rozstrzygnąć.

Pułapka maxLength i higiena ROA

Najczęstszym błędem przy tworzeniu ROA jest zbyt szeroki maxLength. Ustawienie /24 dla prefiksu /22, którego w rzeczywistości nie dezagregujesz, otwiera furtkę dla atakującego do ogłoszenia bardziej szczegółowego, wciąż valid prefiksu. Dobra praktyka (zgodna z BCP 185 / RFC 7115) to maxLength równy faktycznie ogłaszanej długości. Wygasły certyfikat lub literówka w numerze AS potrafią z dnia na dzień zmienić własne trasy na invalid, dlatego stan ROA należy stale monitorować.

ROA w sieci AS202520 SkyPass

Dla wszystkich prefiksów, które ogłaszamy jako AS202520, publikujemy ROA z poprawnym AS pochodzenia i maxLength dopasowanym do faktycznej długości. Na sesjach BGP w usługach IP transit, peeringu oraz zdalnym dostępie w THINX, TPIX, WRIX i 1-IX odrzucamy trasy invalid. Jeśli ogłaszasz prefiksy przez nasz IP transit lub peering, pomagamy zweryfikować Twoje ROA, aby ruch nie był blokowany przez błędny maxLength ani wygasły certyfikat.

Najczęstsze pytania

Czym różni się ROA od RPKI?

RPKI to cała infrastruktura kluczy publicznych dla zasobów internetowych. ROA to konkretny, podpisany rekord w tej infrastrukturze, który mówi, który AS może ogłaszać dany prefiks i do jakiego maxLength.

Co ustawić w maxLength?

Najbezpieczniej maxLength równy długości faktycznie ogłaszanego prefiksu. Zbyt szeroki maxLength pozwala atakującemu ogłosić bardziej szczegółowy prefiks, który nadal będzie oceniony jako valid.

Czy brak ROA blokuje moje trasy?

Nie. Prefiks bez ROA otrzymuje stan unknown (NotFound) i jest normalnie akceptowany. Odrzucane są wyłącznie trasy invalid, czyli takie, dla których ROA istnieje, ale się nie zgadza.

Gdzie tworzy się ROA?

W portalu swojego RIR (np. RIPE NCC), korzystając z certyfikatu powiązanego z przydzielonymi adresami i numerem AS. Rekord jest następnie publikowany i pobierany przez walidatory na całym świecie.

Powiązane artykuły