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
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:
- Włączyć uwierzytelnianie na
OSPFiBGP, żeby router nie przyjmował informacji o trasach od dowolnego urządzenia, które się odezwie. - 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
OSPFiEIGRPobsługują sieci firmowe, aBGPodpowiada 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.

