Jak filtrować prefiksy inne niż bogon otrzymane przez BGP z Internet Exchange (IXP)?

14

Po podłączeniu do internetowej wymiany równorzędnej (IXP), co jest dobrym sposobem, aby upewnić się, że ludzie nie wysyłają prefiksów, których nie powinni ogłaszać?

Jeśli chodzi o bogony, znam projekt Team Cymru Bogon Reference , ale jeśli chodzi o filtrowanie czegokolwiek innego od rówieśników, nie mam pojęcia, od czego zacząć. Rozumiem, że po to są RPKI i podobne?

SimonJGreen
źródło
dlaczego po prostu nie spotkać się z nimi z eBGP i prefiksami blackhole w ich tablicy routingu?

Odpowiedzi:

13

Jak powiedzieli inni, RPKI byłoby dobrą drogą, ale jeszcze jej nie ma. W punktach wymiany zazwyczaj ustalamy limit maksymalnej liczby prefiksów dla każdej sesji.

Dodatkowo stosujemy następujące zasady:

  1. Brak domyślnej trasy

  2. Żadnych bogonów, a dokładniej ta lista:

    route-filter 0.0.0.0/8 orlonger reject;
    route-filter 127.0.0.0/8 orlonger reject;
    route-filter 10.0.0.0/8 orlonger reject;
    route-filter 172.16.0.0/12 orlonger reject;
    route-filter 192.168.0.0/16 orlonger reject;
    route-filter 224.0.0.0/4 orlonger reject;
    route-filter 240.0.0.0/4 orlonger reject;
    route-filter 169.254.0.0/16 orlonger reject;
    route-filter 192.0.2.0/24 orlonger reject;
    route-filter 198.51.100.0/24 orlonger reject;
    route-filter 203.0.113.0/24 orlonger reject;
    route-filter 100.64.0.0/10 orlonger reject;
    
  3. Brak prefiksów dłuższych niż / 24

  4. Brak prywatnych numerów AS na ścieżce

  5. Żaden z naszych własnych prefiksów

W przypadku IPv6 robimy to samo, tylko wózki są różne. Wkleiłem poniżej nasz filtr. Należy pamiętać, że składnia może być nieco nieparzysta, ale wynika to ze sposobu dopasowywania prefiksów Juniper. Aby uzyskać składnię Cisco, możesz przejść tutaj: Zalecenia dotyczące filtra BGP IPv6 (przykład Juniper na stronie jest błędny, w razie potrzeby skorzystaj z poniższego).

termin ebgp-zrelaksowany {
    od {
        rodzina inet6;
        route-filter 3ffe :: / 16 orlonger;
        filtr trasy 0000 :: / 8 lub dłuższy;
        route-filter 2001: db8 :: / 32 orlonger;
        route-filter 2001 :: / 32 dokładna następna polityka;
        filtr trasy 2001 :: / 32 dłuższy;
        route-filter 2002 :: / 16 dokładna następna polityka;
        filtr trasy 2002 :: / 16 dłuższy;
        route-filter fe00 :: / 9 orlonger;
        route-filter ff00 :: / 8 orlonger;
        route-filter 2000 :: / 3 prefiks-długość-zakres / 49- / 128;
        filtr trasy 0 :: / 0 lub dłuższy;
    }
    następnie odrzuć;
}
Sebastian Wiesinger
źródło
11

W tej chwili (dopóki RPKI nie będzie bardziej rozpowszechnione), zwykle po prostu filtrujemy wspólne bogony i stosujemy filtr z maksymalnym prefiksem do wymiany peerów. Filtrujemy również niektóre ASN, które z pewnością nigdy nie pojawią się w większości sesji równorzędnych, takich jak Level3 lub Cogent, ani nie powinny być przesyłane przez giełdę.

Zwykle stwierdzamy, że większość typowych przecieków trasy nie mieści się w przedziale 1-2 cyfr. W każdym razie jest to bardzo trudne do złapania, chyba że odfiltrujesz wszystkich swoich rówieśników, budując prefiks / listę ASN lub filtrując według radb itp. Większość wycieków kończy się bliżej 10k-100k +, co jest łatwe do złapania przez dość niski (100-500 ) filtr o maksymalnym prefiksie. Następnie możesz dostosować tę sesję według potrzeb.

Justin Seabrook-Rocha
źródło
7

W zależności od tego, jak korzystasz z wymiany komunikacji, masz kilka różnych opcji:

Po pierwsze omówię RPKI i powiem, że chociaż jest to coś, co zdecydowanie powinieneś wdrożyć i wdrożyć, zarówno dla twoich własnych tras, jak i sprawdzania innych, niestety jest tak mało używane, że nie możesz w tym momencie oczekiwać, że zrobi tyle. Prawdziwym rozwiązaniem jest WHOIS - RaDB Merit jest prawdopodobnie najlepsze, ponieważ pozwoli ci zwrócić wyniki dla wszystkich RIR jednocześnie. Ale jeśli wolisz bezpośrednio zapytać o każdy RIR, skorzystaj z niego.

Teraz, jeśli jesteś na giełdzie i otrzymujesz stos prefiksów z serwera tras IXP, w zależności od dostępnych narzędzi i możliwości routera, masz dwie możliwości:

   1. Filtruj według pochodzenia AS

Zasadniczo polega to na sprawdzeniu poprawności początkowego AS prefiksu względem tego w WHOIS - jeśli początkowy AS nie pasuje do tego w WHOIS, upuszczasz prefiks i wszelkie inne szczegóły, które również mogą zostać ogłoszone. Jest to ogólnie dobra ochrona przed niezamierzonymi porwaniami. Zdecydowana większość prefiksów powinna zawierać te dane.

   2. Filtruj według tranzytu AS

To idzie o krok dalej i filtruje trasy z dowolnym AS na ścieżce, która nie jest autoryzowana w WHOIS - nie można tego jednak zrobić dla każdego prefiksu, ponieważ nie wszyscy utworzą obiekty określające, kim są ich autoryzowani dostawcy AS tranzytu.


Z drugiej strony, jeśli używasz wymiany peeringów, aby bezpośrednio współpracować z innymi, wtedy twoje życie staje się o wiele prostsze; możesz sprawdzić, jakie mają przedrostki w WHOIS i zezwolić na nie. Moim zdaniem dobrą praktyką jest umożliwienie rówieśnikom ogłaszania bardziej szczegółowych informacji o maksymalnej długości / 24, przy jednoczesnym ustawianiu rozsądnej wartości maksymalnego prefiksu (tj. Proporcjonalnej do liczby podsieci, którą mają) w komunikacji równorzędnej, aby mogli „ zalewają Cię trasami, ale mogą zareagować na przejęcie prefiksu.

Jeśli szukasz narzędzi, sprawdź IRRToolSet i IRR PowerTools

Olipro
źródło
5

Zasadniczo odpowiedziałeś na swoje pytanie. Twoje założenie, że używanie RPKI jest właściwą drogą, jest absolutnie prawidłowe. Mówiąc dokładniej Autoryzacja wyznaczania trasy jest używana do sprawdzania poprawności prefiksu w AS. Oczywiście bogony nie będą ważne, ponieważ nie są przypisane do nikogo, więc problem sam się załatwi. Wiele z tych informacji jest dostępnych na stronie RPKI Wikipedia . Innym dobrym zasobem jest strona RPKI ARIN .

Jeśli potrzebujesz pomocy w konfiguracji, sugeruję utworzenie kolejnego pytania z pytaniem o konkretną pomoc w konfiguracji.

Warto również zauważyć, że RPKI nie będzie działać na wszystko, ponieważ nie wszyscy go używają. W pewnym momencie musisz zaufać otrzymywanym trasom.

Bigmstone
źródło
0

Zapytaj swoich rówieśników, jakie makro AS będą ogłaszać, i zbuduj dla nich filtry za pomocą IRRToolSet lub rpsltool lub irygacji. Zachęcaj ich do publikowania poprawnych informacji w IRRdb. Nie zapomnij zaktualizować własnego aut-numobiektu w najbliższym przyjaznym IRRdb, aby odzwierciedlić sąsiedztwo.

RPKI nie jest drogą do przodu, ponieważ nie chroni przed wyciekiem trasy.

Niels
źródło