co to jest routing

[Droga Bezpiecznika] Co to jest routing? – #7

Jakiś czas temu pisałem, że DNS można nazwać sercem internetu. Do tego zdania dopisuję teraz małą gwiazdkę, bo routing zasługuje na dokładnie ten sam tytuł. Jeżeli coś ma się popsuć w internecie albo w sieci firmowej, to statystycznie najczęściej będzie to właśnie routing albo DNS. To dwa mechanizmy, na których stoi cała reszta, i dwa mechanizmy, które najczęściej pojawiają się w raportach z awarii i incydentów.

W tym materiale chcę pokazać, czym jest routing i jakie są protokoły routingu. Nie będę wchodził głęboko w szczegóły sieciowe. Zostaję na poziomie mocnych ogólników, żeby osoba, która dopiero zaczyna przygodę z cyberbezpieczeństwem, zrozumiała mechanizm i konsekwencje bezpieczeństwa. Uczymy się tu pod kątem cybersecurity, nie pod egzamin dla sieciowca, a takich szczegółów na tym etapie po prostu nie musisz jeszcze znać.

Routing w analogii do nawigacji samochodowej

co to jest routing

Do wytłumaczenia routingu najlepsza jest chyba analogia do nawigacji i samochodu. Jeżeli oglądałeś innego twórcę mówiącego o routingu, to niemal na pewno użył jej tak samo.

Wyobraź sobie, że Twój pakiet to samochód, a router to miasto. Pakiet to porcja danych, na jakie dzielone jest wszystko, co wysyłasz przez sieć. Router to urządzenie, które przekazuje te pakiety dalej, w stronę celu. Zadaniem routingu jest wyznaczenie najlepszej trasy, żeby dostać się do konkretnego miasta.

Jeżeli chcę zaplanować sobie trasę z Wejherowa do Gdańska, nawigacja automatycznie wyznaczy mi najbardziej optymalny przejazd między jedną lokalizacją a drugą. Router robi dokładnie to samo z pakietem: sprawdza adres docelowy i decyduje, którędy go wypuścić dalej.

Analogia idzie jeszcze dalej. W nawigacji mogę po prostu zaznaczyć punkt A i punkt B, a automat sam wyznaczy trasę. Mogę też ręcznie dodać punkty pośrednie i wtedy trasa jest z góry ustalona, bardziej sztywna. I tak samo działa to w sieciach: mamy routing dynamiczny i routing statyczny.

Routing statyczny

Routing statyczny to trasy wpisane ręcznie przez administratora. Nic się samo nie przelicza i nic samo się nie zmienia.

Stosujemy go najczęściej w sieciach, w których potrzebujemy większej kontroli nad ruchem. Mogą to być:

  • DMZ (strefa zdemilitaryzowana, czyli wydzielony fragment sieci z usługami wystawionymi na zewnątrz),
  • sieci, w których stoją wyłącznie urządzenia IoT,
  • infrastruktura krytyczna.

Wszędzie tam, gdzie chcemy dokładnie wiedzieć, którędy płynie ruch, najlepiej sprawdzi się trasa statyczna.

Dokładniejsza trasa ma pierwszeństwo

Przy trasach statycznych trzeba pamiętać o dwóch rzeczach: o metryce i o dokładności trasy.

Weźmy przykład. Mamy adresację 192.168.0.0/16 i ktoś ręcznie dopisuje trasę 192.168.0.0/24. Wygrywa ta druga, ponieważ trasa bardziej dokładna, czyli obejmująca węższy zakres adresów, ma pierwszeństwo.

Krótkie wyjaśnienie zapisu, jeśli widzisz go pierwszy raz: liczba po ukośniku mówi, jak duża jest pula adresów. /16 to bardzo szeroki zakres, /24 to jego wąski wycinek. Im większa liczba, tym węższa i tym samym dokładniejsza trasa.

I tu wchodzimy w kwestie bezpieczeństwa, bo to jest najczęstszy wektor ataku przy routingu statycznym. Cyberprzestępca próbuje dodać trasę bardziej dokładną niż istniejąca, żeby przekierować ruch na swoje urządzenie, które ma całkowicie pod kontrolą. Nie musi kasować niczego, co już jest w tablicy routingu. Wystarczy, że dopisze coś węższego, a router sam zacznie preferować jego wpis.

Dochodzą do tego jeszcze metryki, czyli liczbowa ocena „kosztu" trasy, po której router wybiera lepszą z kilku możliwych. Musisz wiedzieć, że coś takiego jak metryka istnieje, ale na tym etapie się tym za bardzo nie przejmuj.

Routing dynamiczny i jego protokoły

Routing dynamiczny działa jak nawigacja w trybie automatycznym: trasę otrzymujemy sami, bez ręcznego wpisywania. Routery wymieniają się informacjami między sobą i na tej podstawie ustalają, którędy prowadzić ruch.

O ile routing statyczny jest dość prosty, o tyle dynamiczny ma już więcej protokołów. Protokół to zestaw reguł, według których urządzenia rozmawiają ze sobą o trasach.

Protokół Gdzie się go spotyka Po co
OSPF sieci korporacyjne i mniejsze sieci automatyczny wybór trasy w bardziej dynamicznym środowisku
EIGRP sieci wewnętrzne dynamiczny wybór najlepszej trasy
BGP dostawcy internetu i więksi operatorzy trasowanie ruchu między dużymi sieciami w internecie

Zadaniem każdego z nich jest wybranie dla nas jak najlepszej trasy.

OSPF stosujemy w sieciach korporacyjnych albo mniejszych. Jeżeli zależy nam na bardziej dynamicznym środowisku i nie potrzebujemy aż tak dużej kontroli, to OSPF na pewno ułatwi pracę administratorom sieci.

BGP jest używany raczej u dostawców internetu i u większych operatorów. Od BGP zależy głównie działanie większości usług internetowych i właśnie dlatego jest to protokół tak ważny z poziomu security. Kiedy BGP się sypie, nie znika jedna firma z sieci, tylko całe fragmenty internetu.

Jak podnieść bezpieczeństwo routingu dynamicznego

Jeżeli chcemy zwiększyć poziom bezpieczeństwa protokołów dynamicznych, to na pewno powinniśmy:

  1. Włączyć uwierzytelnianie na OSPF i BGP, żeby router nie przyjmował informacji o trasach od dowolnego urządzenia, które się odezwie.
  2. Filtrować trasy, czyli z góry określić, jakie trasy w ogóle wolno przyjąć i rozgłosić dalej.

Najczęstsze wektory ataku przy routingu dynamicznym to:

  • wstrzyknięcie dodatkowej trasy,
  • próba podszycia się pod sąsiada, czyli pod router, z którym nasze urządzenie normalnie wymienia informacje,
  • manipulacja metrykami, żeby trasa atakującego wyglądała na tę najlepszą.

Wszystkie trzy sprowadzają się do tego samego: ktoś chce, żeby Twój ruch poszedł tam, gdzie on go chce mieć.

Statyczny czy dynamiczny — szybkie porównanie

Routing statyczny Routing dynamiczny
Skąd bierze się trasa wpisana ręcznie ustalana automatycznie przez protokół
Analogia z nawigacji ręcznie dodane punkty stopu punkt A i B, resztę robi automat
Gdzie się stosuje DMZ, sieci IoT, infrastruktura krytyczna sieci korporacyjne, dostawcy internetu
Kontrola nad ruchem duża mniejsza, za to mniej pracy ręcznej
Typowy wektor ataku dopisanie dokładniejszej trasy wstrzyknięcie trasy, podszycie się pod sąsiada, manipulacja metrykami

Podsumowanie

  • Routing wyznacza pakietowi trasę do celu. Razem z DNS jest to mechanizm, który psuje się w sieciach najczęściej.
  • Najprostsza analogia: pakiet to samochód, router to miasto, a routing to nawigacja wyznaczająca przejazd.
  • Routing statyczny wpisujemy ręcznie i wybieramy go tam, gdzie potrzeba dużej kontroli nad ruchem: DMZ, IoT, infrastruktura krytyczna.
  • Bardziej dokładna trasa ma pierwszeństwo, i to jest najczęstszy wektor ataku: przestępca dopisuje węższą trasę i przekierowuje ruch na swoje urządzenie.
  • W routingu dynamicznym OSPF i EIGRP obsługują sieci firmowe, a BGP odpowiada za ruch między operatorami. Zabezpieczasz je uwierzytelnianiem i filtrowaniem tras.

To dość krótki materiał o routingu i celowo taki jest. Niejeden sieciowiec złapie się teraz za głowę i pomyśli „Boże, co on wygaduje", ale ten odcinek jest skierowany do ludzi z cybersecurity, a nie do osób, które chcą zgłębić tajniki sieci.

Materiał Video

Comments

No comments yet. Why don’t you start the discussion?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *