Czy dzisiejsze routery zapobiegają fałszywym nagłówkom IP?


11

Wiem, że ludzie mogą modyfikować nagłówki IP i zmieniać źródłowy adres IP, ale urządzenia sieciowe powinny łatwo wykrywać te wiadomości. Jeśli nie, dlaczego to takie trudne? Czy to powoduje zbyt duże obciążenie?


Uwaga: poprawnym wyrażeniem jest „zapobieganie fałszowaniu”. fake mówi mi „podrabianie rolexów” (co, btw to zupełnie inny hack / atak sieciowy)
Ricky Beam

Odpowiedzi:


17

Wiem, że ludzie mogą modyfikować nagłówki IP i zmieniać źródłowy adres IP, ale urządzenia sieciowe powinny łatwo wykrywać te wiadomości.

Fałszywe adresy źródłowe IP w nagłówkach można wykryć i zablokować w urządzeniach sieciowych; inne fałszywe nagłówki IPv4 mogą być nieco trudniejsze do zidentyfikowania. Większość osób określa funkcję wykrywania fałszywych źródłowych adresów IP jako „Unicast Reverse Path Forwarding”, co jest skrótem uRPF ; uRPF jest zdefiniowany w RFC 3704 i jest uważany za najlepszą praktykę internetową . Funkcja uRPF powinna być stosowana na pierwszym routerze z urządzenia klienta lub na routerze brzegowym w sieci firmowej.

Jeśli nie, dlaczego to takie trudne? Czy to powoduje zbyt duże obciążenie?

Dopóki router nie jest routerem opartym na procesorze, nie ma negatywnego wpływu na wydajność. Wiele routerów / przełączników używanych przez dostawców usług internetowych ma tę funkcję wbudowaną w sprzętowy układ ASIC; normalnie nie ma ogromnego ograniczenia wydajności za włączenie. Czasami występują konflikty funkcji, ale w większości przypadków nie jest to wielka sprawa.

Zasady i kompetencje personelu inżynieryjnego / operacyjnego ISP są różne, a wielu dostawców usług internetowych (szczególnie w mniejszych krajach) jest tak zajęta robieniem „pracy”, że nie ma cykli, aby sprawić, by „działała dobrze”.


1
Co jeśli isp a i isp b są ze sobą połączone. Jeśli isp a nie używa uRPF, czy isp b może coś z tym zrobić?
Nachos,

Mówiąc „zrób coś z tym”, zakładam, że zakładasz, że ISP B nie ma pierwszego routera z CPE. Tak, ISP B może również używać uRPF, ale muszą go wdrożyć w trybie zwanym trybem luźnym ze względu na asymetryczny charakter routingu bgp. Oznacza to, że nie jest tak skuteczny w blokowaniu fałszywych nagłówków ... w zasadzie tylko upewnia się, że w tablicy routingu istnieje trasa dla źródłowego adresu IP ... więc jeśli ktoś wysyła ruch, który jest całkowicie niemożliwy do przekierowania, można go zablokować.
Mike Pennington,

Nie jest do końca prawdą, że tylko procesory cierpią na obniżenie wydajności. Na przykład w 7600/6500 / PFC3 bez uRPF można obserwować linerate w pakietach o minimalnym rozmiarze w WS-X67040-10GE, podkręcić uRFP, a najmniejsza ramka jest prawie podwojona do 101B, które można wysłać w linerate. Nowsze urządzenia oparte na NPU (ASR9k, MX, SR itp.) Również mają niezerowy koszt uRPF, silnik przetwarzania pakietów zajmuje więcej czasu, gdy jest włączony niż gdy jest wyłączony, nadmierne wymiarowanie może pomóc w wyodrębnieniu kosztów.
ytti

4
@ytti, ruch internetowy średnio przekracza 101 bajtów. To nie jest poważny problem dla imixa.
Mike Pennington,

1
@ytti, jasno określiłem swoją odpowiedź ... Powiedziałem: „Zwykle nie ma ogromnej kary za wydajność za włączenie”. Nie zapominajmy, że 6500 Sup7203BXL jest maszyną 400Mpps, gdy jest w pełni wypełniona DFC; umieść jeden DFC na WS-X6704 w podwoziu, a nie ma się czym martwić ... jeśli jesteś wystarczająco szalony, aby polegać tylko na przekazywaniu PFC3 dla całego podwozia, dobrze poprosiłeś o problem.
Mike Pennington,

10

Zapobieganie zmianie źródłowego adresu IP wymaga list dostępu (ACL) lub filtrowania odwrotnej ścieżki emisji pojedynczej (uRPF).

Żadne nie przychodzą za darmo. uRPF zazwyczaj wymaga dodatkowego wyszukiwania lub bardziej złożonego pojedynczego wyszukiwania, więc może nawet zmniejszyć o połowę wydajność wyszukiwania na niektórych platformach. ACL spowolni wyszukiwanie i zużyje pamięć.

uRPF nie wymaga konserwacji, wystarczy go raz skonfigurować i zapomnieć. ACL potrzebuje systemu, który wie, które adresy znajdują się za interfejsem i upewnia się, że ACL jest aktualny.

ACL, szerzej obsługiwany niż uRPF, uRPF jest stosunkowo rzadką funkcją w urządzeniach poziomu przełącznika L3. W „prawdziwych” routerach zwykle dostępne są obie funkcje.

Nawet jeśli obie funkcje są dostępne, skonfigurowanie uRPF w niewłaściwym miejscu sieci może spowodować uszkodzenie sieci, niezrozumienie ograniczeń ACL specyficznych dla platformy może spowodować awarie.

Zwykle nie czerpiesz korzyści z zapobiegania fałszowaniu adresów źródłowych, to przede wszystkim Internet. Ryzykujesz niezerowe ryzyko, próbując to zrobić, ponieważ możesz w końcu zniszczyć rzeczy. A Twoi klienci nie uzyskają żadnych korzyści, nikt nie zapłaci Ci więcej za ich wdrożenie. Zatem nagroda jest niska.

Odpowiedzialny dostawca usług to robi, ponieważ jest to słuszne, ale nierealistyczne jest oczekiwanie, że dostaniemy ochronę przed kradzieżą w odpowiednio dużej części wdrożonych urządzeń dostępowych. Znacznie bardziej realistycznym celem jest, jeśli wykonujemy ACL w połączeniach tranzytowych IP, ponieważ jest tam tylko około 6000 mniej lub bardziej skomplikowanych numerów AS.

Przyczyną tego jest nawet atak odbicia UDP, który można naprawić za pomocą protokołów takich jak QUIC i MinimaLT, które zapewniają brak odbicia, ponieważ zapytanie przychodzące jest większe niż odpowiedź wychodząca, więc fałszowanie traci swoją korzyść.

Ponownie ostatnio stało się dość popularne stosowanie odbicia UDP jako ataku DDoS. Istnieje wiele szeroko otwartych serwerów DNS w urządzeniach konsumenckich CPE, których konsumenci nie są świadomi, więc ci klienci cierpią, ponieważ ich połączenie domowe jest przepełnione, ponieważ jest używane do odzwierciedlenia ataku. Jest to również łatwy sposób na uzyskanie znacznego wzmocnienia małe zapytanie dziesiątek bajtów może dać dużą odpowiedź ponad tysiąc bajtów. Odnotowano refleksyjne ataki DDoS, które mają kilkaset gigabitów na sekundę, a mniejsze są codziennie, w niedzielę wieczorem przetransportowaliśmy atak 43 Gb / s do jednego z naszych klientów.


5

Filtrowanie adresów źródłowych w świecie rzeczywistym nie jest łatwe, ponieważ routing internetowy jest asymetryczny, dlatego w zasadzie potrzebujemy wyuczonego odgadnięcia, czy pakiet z tego źródła prawdopodobnie pojawi się w tym interfejsie przychodzącym.

Nie ma na to łatwej formuły, ponieważ dla każdej reguły, która działa w prawie wszystkich przypadkach, istnieje również przypadek użycia, który ma sens biznesowy, który wtedy by się złamał.

Filtrowanie ścieżek zwrotnych działa doskonale na routerach brzegowych, w których istnieje wyraźna definicja „wewnątrz” i „na zewnątrz” - nie pozwalasz osobom z zewnątrz korzystać z adresów „wewnętrznych” i odwrotnie. To staje się bardziej skomplikowane, jak tylko zacznę używać wielu routerów brzegowych do nadmiarowości.

W przypadku routerów szkieletowych jedynym sposobem, w jaki można zaimplementować filtrowanie ścieżki zwrotnej, jest zezwolenie na przychodzące pakiety, gdy element równorzędny ogłasza działającą trasę (niezależnie od tego, czy jest to nasza preferencja). Byłoby to zbyt długie wyszukiwanie, łatwe do obejścia i psuje przypadek użycia, w którym celowo kupuję tranzyt, ale nie ogłaszam mojego prefiksu tym linkiem.


1
Filtrowanie adresów źródłowych w świecie rzeczywistym nie jest łatwe , należy je zmienić na uRPF / strict. Ponieważ filtrowanie adresów źródłowych za pomocą ACL jest niezależne od symetrii routingu. Oznacza to, że nie jestem w stanie uRPF / ścisnąć moich połączonych klientów tranzytowych IP, ale łatwo mi je ACL.
ytti
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.