Konfiguracja Filtrowania Pakietów na Routerze
- Szczegóły
Dzisiejsze routery domowe to skomplikowane urządzenia, wyposażone w wiele funkcji, które często kryją się za zagadkowymi akronimami. Operator Internetu zazwyczaj przekazuje nam urządzenie, które umożliwia połączenie z Internetem przez Wi-Fi lub kabel sieciowy. Ze względów bezpieczeństwa warto zaopatrzyć się we własny router i wyłączyć w modemie od operatora wszystkie zbędne usługi. Dodatkową korzyścią jest ukrycie naszego routera za urządzeniem od operatora, co utrudni ataki z Internetu.
Podstawowe Zasady Bezpieczeństwa Routera
Przy pierwszym uruchomieniu routera większość usług jest już włączona, aby ułatwić użytkownikowi rozpoczęcie korzystania z urządzenia. Jeśli kupiliśmy sprzęt, który ma powszechnie znane domyślne hasło do sieci bezprzewodowej, to ktoś nieuprawniony może się do niego podłączyć bez naszej zgody. Dobrym pierwszym krokiem podczas konfigurowania routera jest zmiana nazwy użytkownika administracyjnego i jego hasła. Jako nowe hasło należy wybrać silne, unikalne i niesłownikowe hasło.
Domyślna nazwa sieci bezprzewodowej może wskazywać na urządzenie, z którego korzystamy, bo na przykład zawiera jego model lub numer seryjny. Jeśli chodzi o hasło, to oczywiście powinno być ono silne, unikalne i niesłownikowe, ale pamiętaj, że będzie je trzeba wprowadzić ręcznie na wszystkich urządzeniach.
Routery często są wyposażone w zaporę ogniową (ang. firewall), czyli prosty program nie wpuszczający pakietów pochodzących z serwerów w Internecie, do których wcześniej nie nawiązano połączenia z wewnątrz sieci. W ruchu tym pośredniczy router. Ruch powrotny z serwera, zawierający treść bloga, zostanie przepuszczony przez firewall, ponieważ ten wcześniej widział ruch wychodzący. W ten sposób chronimy sieć domową przed częścią ataków z zewnątrz.
DNS (Domain Name System) to system, który tłumaczy tekstowe adresy stron internetowych (URL) na odpowiadające im adresy IP zrozumiałe dla komputerów. Urządzenie podłączone do sieci (także twój router) ma zapisany w konfiguracji adres IP serwera DNS i prosi ten serwer o tłumaczenie adresów. Zmiana adresu serwera DNS może przyczynić się do poprawienia bezpieczeństwa. Niektóre serwery DNS mogą na przykład blokować translacje adresów do znanych złośliwych stron, jak to robi serwer Quad9 dostępny pod adresem 9.9.9.9.
Przeczytaj także: Definicja i pomiar filtracji kłębuszkowej
Aktualizacje systemów operacyjnych (nie tylko routerów) to podstawa, jeśli chodzi o higienę bezpieczeństwa. Dlatego niektórzy producenci udostępniają funkcję automatycznych aktualizacji.
Quality of Service (QoS) to w przypadku routerów zestaw reguł pozwalających na poprawienie działania konkretnych usług w sieci domowej. Router może na przykład przepuszczać ruch pochodzący z usług wideo (Netflix, YouTube, Disney+) przed ruchem z usług związanych z przeglądaniem stron internetowych albo wideorozmów.
Każda karta sieciowa, nieważne czy przewodowa czy Wi-Fi, ma adres MAC i posługuje się nim, zanim uzyska adres IP. Dzięki filtrowaniu adresów MAC można określić, czy pozwolimy danemu urządzeniu na podłączenie się do sieci czy też nie. W praktyce jednak karty lub mechanizmy systemu operacyjnego pozwalają na zmianę tej wartości. Powoduje to, że obecnie mechanizm ten jest prosty do obejścia.
DHCP (Dynamic Host Configuration Protocol) to protokół sieciowy pozwalający urządzeniom podłączającym się do naszej sieci na otrzymanie od routera danych konfiguracyjnych, na przykład przydzielonego adresu IP, adresu IP bramy sieciowej, adresu serwera DNS czy maski podsieci. Jeśli DHCP jest włączony w naszej sieci, to możliwe jest, żeby to samo urządzenie uzyskało różne adresy IP za każdym razem, gdy podłączy się do sieci. Aby uniknąć tego efektu, możemy ustawić stały adres IP dla danego sprzętu - przy każdym podłączeniu do sieci router będzie przydzielał mu ten sam adres IP.
Jeśli mamy w sieci urządzenia, które nie są już wspierane przez producenta i nie dostają aktualizacji (na przykład stara drukarka sieciowa) lub takie, którym do końca nie ufamy (na przykład kolorowa żarówka LED sterowana przez Wi-Fi), to możemy je czasowo lub trwale odciąć od Internetu. Router będzie blokował wszelkie połączenia na zewnątrz od takiego urządzenia.
Przeczytaj także: Webber AP8400 - wymiana filtrów
Translacja adresów sieciowych (NAT, Network Address Translation) umożliwia zmianę źródłowych i docelowych adresów IP i portów sieciowych w pakietach podczas ich przekazywania między sieciami przez router. W praktyce NAT umożliwia dostęp wielu urządzeniom w sieci lokalnej do zasobów Internetu przez router. Mechanizm ten jest zazwyczaj domyślnie włączony. Jeśli jest włączony na modemie od operatora oraz na naszym routerze, to komputery w naszej sieci są za tak zwanym podwójnym NAT-em.
Przekierowanie portów (ang. port forwarding) pozwala na przekierowanie pakietów przychodzących z Internetu na określony port routera do adresu IP i portu konkretnego urządzenia w sieci lokalnej. Należy uważać przy konfiguracji tej opcji, gdyż może się okazać, że urządzenie z naszej sieci jest osiągalne z zewnątrz i może zostać łatwo zaatakowane. Na szczęście routery udostępniają listę zawierającą wszystkie przekierowania portów, co pozwala na łatwe sprawdzenie, czy nie wykonaliśmy przypadkowo niebezpiecznego kroku.
Mechanizm Universal Plug’n’Play (UPnP) powstał, aby ułatwić życie użytkownikom na przykład konsoli do gier. Dowolne urządzenie podłączone do sieci domowej może wpłynąć na konfigurację sieciową routera bez naszego wyraźnego zezwolenia. Możemy nawet nie wiedzieć, że żarówka LED sterowana przez Wi-Fi komunikuje się z nieznanym nam serwerem po niestandardowym porcie.
Niektóre routery pozwalają na dostęp administracyjny z zewnątrz. Należy pamiętać, że to oznacza, że w Internecie jest widoczna strona logowania do naszego routera i tylko ona chroni naszą sieć przed niepożądanymi zmianami przez atakującego. Jeśli nie mamy wyraźnej potrzeby, należy wyłączyć tę opcję. Jeśli istnieje potrzeba zdalnego zarządzania, to lepiej uruchamiać taki dostęp okresowo, w razie potrzeby lub ograniczyć dostęp do panelu logowania jedynie ze zdefiniowanych adresów IP.
Niektóre routery pozwalają na stworzenie dodatkowych sieci Wi-Fi, które są odseparowane od pozostałych sieci, czyli urządzenia podłączone do takiej sieci nie „widzą” tych w pozostałych sieciach. Może być to przydatne do stworzenia sieci Wi-Fi dla urządzeń niezaufanych, na przykład dla komórek naszych gości, komputerów służbowych/szkolnych czy sprzętów IoT.
Przeczytaj także: Optymalne rozcieńczenie bimbru
Wi-Fi Protected Access to standard zabezpieczeń w sieciach bezprzewodowych i następca WEP (Wired Equivalent Privacy). Występuje w trzech wersjach i jeśli to możliwe, należy korzystać z najnowszej wersji - 3. Niektóre routery umożliwiają podłączenie urządzenia do sieci za pomocą mechanizmu Wi-Fi Protected Setup (WPS) bez potrzeby wprowadzania hasła do sieci bezprzewodowej przez użytkownika. W założeniu ten mechanizm miał uprościć dodawanie sprzętów do sieci, ale błędy implementacji pozwalały na ataki polegające na odzyskaniu tego PIN-u po podsłuchiwaniu ruchu sieciowego i dostaniu się do sieci.
Filtrowanie Usług Sieciowych
Filtr usług sieciowych blokuje wymianę pakietów LAN na WAN i ogranicza korzystanie z określonych usług sieciowych przez urządzenia. Na przykład, jeśli nie chcesz, aby urządzenie korzystało z usługi internetowej, wprowadź 80 w porcie docelowym. Ruch wykorzystujący port 80 zostanie zablokowany. Pozostaw pole źródłowego adresu IP puste, aby zastosować tę regułę do wszystkich urządzeń LAN.
Black List Duration (Czas trwania czarnej listy): W zaplanowanym czasie klienci Czarnej listy nie mogą korzystać z określonych usług sieciowych. Po określonym czasie wszyscy klienci sieci LAN mogą uzyskać dostęp do określonych usług sieciowych.
White List Duration (Czas trwania czarnej listy): W zaplanowanym czasie klienci Białej listy mogą korzystać TYLKO z określonych usług sieciowych.
Konfiguracja Filtra Usług Sieciowych
- Wybierz Yes (Tak) by włączyć Filtr Usług Sieciowych.
- Wybierz Białą lub Czarną Listę (White list / Black list) w typie tabeli filtrowania (Filter table type).
- Wybierz rodzaj aplikacji z rozwijanej listy lub zdefiniuj własną (user defined).
- Ustaw przedział czasowy dla Filtra Usług Sieciowych.
- Wprowadź rodzaj pakietów ICMP który ma być filtrowany, jeśli wymagane.
- Skonfiguruj regułę Filtra Usług Sieciowych który będzie blokował pakiety przychodzące z adresu źródłowego na adres docelowy. (*Dwie opcje TCP i TCP All to ta sama opcja)
- Kliknij ”+” by dodać skonfigurowaną regułę do tabelki.
- Kliknij Apply (Zastosuj) by zapisać ustawienia.
Zaawansowane Opcje Filtrowania Pakietów
Komputery z systemem Windows 2003 obsługują kilka metod kontrolowania dostępu przychodzącego. Jedną z najprostszych i najbardziej zaawansowanych metod kontrolowania dostępu przychodzącego jest użycie funkcji filtrowania TCP/IP. Filtrowanie TCP/IP pomaga w zabezpieczeniach, ponieważ działa w trybie jądra. Filtrowanie protokołu TCP/IP może filtrować tylko ruch przychodzący i nie może blokować komunikatów protokołu ICMP (Internet Control Message Protocol), niezależnie od ustawień skonfigurowanych w kolumnie Zezwalaj tylko protokoły IP lub niezależnie od tego, czy nie zezwalasz na protokół internetowy 1.
Po zaznaczeniu tego pola wyboru włączysz filtrowanie dla wszystkich adapterów, ale filtry są konfigurowane indywidualnie dla każdego adaptera. W oknie dialogowym Filtrowanie TCP/IP znajdują się trzy sekcje, w których można skonfigurować filtrowanie portów TCP, portów protokołu UDP (User Datagram Protocol) i protokołów internetowych.
Gdy opcja Zezwalaj na wszystko jest aktywowana, zezwalasz na wszystkie pakiety dla ruchu TCP lub UDP. Zezwalaj tylko na zezwalanie tylko na wybrany ruch TCP lub UDP przez dodanie dozwolonych portów. Aby określić porty, należy użyć przycisku Dodaj. Aby zablokować cały ruch UDP lub TCP, wybierz pozycję Zezwalaj tylko, ale nie dodawaj żadnych numerów portów w kolumnie Porty UDP lub w kolumnie Porty TCP.
Po włączeniu filtrowania TCP/IP można skonfigurować każdy adapter, wybierając opcję Zezwól na wszystko lub zezwalając tylko na określone protokoły IP, porty TCP i UDP (User Datagram Protocol) do akceptowania połączeń przychodzących. Jeśli na przykład włączysz filtrowanie TCP/IP i skonfigurujesz zewnętrzny adapter sieci tak, aby zezwalał tylko na port 80, umożliwia to zewnętrznemu adapterowi sieciowemu akceptowanie tylko ruchu internetowego.
Filtrowanie TCP/IP może filtrować tylko ruch przychodzący. Ta funkcja nie ma wpływu na ruch wychodzący ani porty odpowiedzi TCP, które są tworzone w celu akceptowania odpowiedzi z żądań wychodzących.
Firewall w OpenWRT
Firewall dostępny w OpenWRT został podzielony na szereg pakietów. Rzadko używane moduły zostały upchnięte w osobnych paczkach. Skrypt aplikujący reguły iptables znajduje się w /etc/init.d/firewall .
Strukturę firewall'a tworzą tablice raw, mangle, nat oraz filter i łańcuchy, przez które przechodzą pakiety. Te schematy zostały jednak nieco rozbudowane przez OpenWRT. W każdej z tych czterech tablic można definiować własne łańcuchy i kierować do nich ruch. Z reguły będziemy operować na tablicach nat oraz filter. Tablica nat jest związana z translacją adresów, np. przekierowanie portów.
Reguły mogą być akceptowane (ACCEPT), odrzucane (REJECT) oraz zrzucane (DROP). Opcje REJECT oraz DROP dotyczą negatywnej odpowiedzi na przesłane żądanie połączenia. W przypadku DROP host, który próbuje się podłączyć, nie dostaje żadnej informacji zwrotnej. W przypadku REJECT mamy te powyższe informacje i te problemy nas nie dotyczą.
Konfiguracja firewall'a w OpenWRT odbywa się za pomocą plików /etc/config/firewall oraz /etc/firewall.user. Pierwszy z nich zawiera konfigurację, która zabezpiecza nasz router i sieć przed dostępem od strony interfejsu WAN. Drugi z plików służy do dodawania reguł, które z jakiegoś powodu nie mogą trafić do pliku /etc/config/firewall.
W pliku /etc/config/firewall mamy szereg opcji, które sterują zachowaniem firewall'a. Opcja tcp_syncookies jest w stanie chronić nas przed atakami typu SYN flood (atakujący wysyła zapytanie o połączenie, ale go nie finalizuje, przez co zapycha serwer masą nierozwiązanych połączeń). Kolejne trzy opcje, tj. disable_ipv6 jest w stanie wyłączyć reguły IPv6.
W dalszej konfiguracji firewall'a (/etc/config/firewall), musimy nadać strefie nazwę i za to odpowiada opcja name. W list network mamy logiczne interfejsy, które są podpięte pod tę strefę. Informacje o interfejsach są do odczytania z pliku /etc/config/network. Opcje input, output oraz forward ustawiają politykę domyślną dla pakietów w tej strefie. Opcja masq włącza maskaradę, za pomocą której ruch z sieci lokalnej może zostać przesłany przez ten interfejs. Opcja conntrack włącza śledzenie połączeń dla tej strefy, jeśli poprzednia jest włączona.
W pliku /etc/config/firewall mamy sekcje z regułami. Reguły dobrze jest nazywać, tak by przy listowaniu ich w filtrze były stosownie oznaczone. Służy opcja name. Reguły dotyczą strefy wan, tj. routera. Tak skonstruowana reguła trafi do łańcucha zone_wan_input. Parametry takie jak src_ip (np. IP) będą wskazywać, że ma być to reguła dla określonego protokołu. Definiują one opcje, które są podawane do iptables.
Opcje Reguł Firewall
- src oraz dest - źródłowa i docelowa strefa.
- src_port oraz dest_port - źródłowy i docelowy port.
- proto - nazwa (numer) protokołu.
- target - akcja.
- limit oraz limit_burst - ustawiają limit dla połączeń.
W zależności od kierunku pakietów, mamy z grubsza dwa rodzaje NAT. Dla przesyłania pakietów z sieci lokalnej do internetu stosowany jest Source NAT (SNAT). Dla ruchu w drugą stronę korzysta się z DNAT (Destination NAT). Translacja adresów w firewall'u OpenWRT jest z reguły włączona na interfejsie WAN. Jest to warunkowane dodaniem opcji masq do powyżej zdefiniowanych stref w pliku /etc/config/firewall. Opcji target można określić wartości DNAT lub SNAT. Istotne jest znaczenie opcji src_dip, src_dport, dest_ip oraz dest_port:
- dest_ip - w przypadku DNAT, ruch kierowany jest do określonego tutaj hosta.
- src_dip - w przypadku DNAT, ruch jest kierowany na ten adres IP.
- dest_port - w przypadku DNAT, ruch jest kierowany na dany port hosta.
Konfigurację iptables można w dowolnym momencie sobie podejrzeć. Zwróci ono dość obszerny log. Domyślnie są listowane reguły dla tablicy filter. Tak wygenerowane reguły nadają się do dalszego studiowania i analizy.
Filter Rules w RouterOS
Filter Rules (reguły filtrowania) to jeden z trzech elementów firewalla w systemie RouterOS. Jego podstawowy cel to zapewnienie bezpieczeństwa poprzez odrzucenie ruchu niespełniającego określonych warunków.
Reguły filtrowania dodajemy w drzewie konfiguracji /ip firewall filter. Domyślną polityką w RouterOS jest akceptowanie pakietów, zatem przy pustej konfiguracji żadne pakiety nie są blokowane. Dodając nową regułę, możemy określić szereg (około 50) jej właściwości. Wybór łańcucha (pole chain) to pole obligatoryjne. Odpowiada za to, jakiego rodzaju ruchu i na którym etapie przetwarzania może dotyczyć reguła:
- input - ruch przychodzący (przez jeden z interfejsów), kierowany do routera.
- output - ruch wychodzący (przez jeden z interfejsów) od routera.
- forward - ruch przechodzący przez router.
Zakres działania łańcuchów predefiniowanych jest rozłączny. Innymi słowy, dany pakiet może być przetwarzany tylko w obrębie jednego z ww. System pozwala na definiowanie własnych łańcuchów. Ruch w łańcuchu zdefiniowanym przez użytkownika musi pierwotnie pochodzić z któregoś z łańcuchów domyślnych.
Pól warunkowych w konfiguracji reguły jest zdecydowanie najwięcej, natomiast żadne z nich nie jest obligatoryjne. Pola te określają warunki, jakie musi spełniać pakiet, aby podlegać zdefiniowanej przez regułę akcji. Podstawowe pole tej grupy to action (domyślnie accept). Określa ono, co ma się stać z pakietem, który należy do wybranego łańcucha i spełnia określone pola warunkowe.
Akcje Dostępne w Regułach Filtrowania RouterOS
- add-src-to-address-list i add-dst-to-address-list - powodują dynamiczne dodanie adresu (źródłowego - src, lub docelowego - dst) zapisanego w nagłówku przetwarzanego pakietu IP do listy adresów o nazwie określonej dodatkowym parametrem (address-list).
- jump - służy do przekazywania pakietu do innego (zdefiniowanego przez użytkownika) łańcucha.
- return - wraca pakiet do miejska, z którego została wywołana akcja jump.
- passthrough - pakiet jest przekazywany do następnej reguły.
- reject - odrzuca pakiet, z tym że dodatkowo wysyła informację ICMP o odrzuceniu.
- tarpit - przechwytuje połączenie TCP (odpowiada pakietem SYN/ACK na przychodzący pakiet TCP SYN).
Reguły są przetwarzane sekwencyjnie. Pakiet najpierw jest przetwarzany przez pierwszą (od góry) regułę na liście. Jeżeli należy do określonego łańcucha oraz spełnia kryteria ustawione w polach warunkowych, to aplikowana jest przypisana do reguły akcja i pakiet nie jest już przetwarzany przez kolejne reguły (chyba, że ustawiona akcja to passthrough lub jump). Warunki ustawione w regule rozpatrywane są łącznie, więc jeśli pakiet nie spełnia przynajmniej jednego z nich, to akcja nie jest stosowana i pakiet jest przekazywany do rozpatrzenia przez kolejną regułę.
Zasady Budowy Dobrego Zestawu Reguł
- Budowanie firewalla zacznij od ustalenia i przemyślenia polityki, jaką firewall powinien realizować.
- Jawnie określaj dozwolony, prawidłowy ruch, co jest bardziej bezpieczne.
- Jeżeli pewna część ruchu wymaga specjalnego potraktowania, to przekieruj ten ruch do własnego łańcucha i wewnątrz niego zastosuj filtrowanie.
- Dodając reguły filtrowania, opisuj w komentarzu, jaki jest jej cel.
- Spośród reguł wykonujących tę samą akcję, te, które przechwytują najwięcej ruchu, umieszczaj na początku.
- Zarówno po implementacji firewalla, jak i po każdej jego modyfikacji, sprawdź, czy firewall działa zgodnie z założeniami.
Przykładowe Reguły Filtrowania
Reguły Dla Routera
Pierwsze trzy reguły pozwalają na działanie protokołu ICMP do celów diagnostycznych oraz usług SSH i WinBox do zarządzania. Kolejne dwie reguły to zezwolenie na zapytania DNS. Następna para reguł pozwala na połączenia zestawione i powiązane z nimi. Pozwala to routerowi na wykonywanie połączeń do innych hostów, w szczególności na dostęp do Internetu (np. w celu synchronizacji czasu przez NTP). Ostatnia reguła blokuje pakiety, które nie załapały się na żadną z ww.
Reguły Dla Sieci Firmowej
Pierwsze dwie reguły akceptują ruch wychodzący z sieci DMZ, będący częścią ustanowionych połączeń. Komunikacja pomiędzy maszynami w DMZ odbywa się w obrębie danej domeny rozgłoszeniowej (nie przechodzi przez router), stąd nie są potrzebne dodatkowe reguły firewalla zezwalające na ten ruch. Kolejna reguła przekierowuje ruch kierowany na port TCP 80 (protokół HTTP) do nowego łańcucha: dmz. W łańcuchu tym mamy 3 reguły stanowiące proste zabezpieczenie przed atakami DoS polegającymi na zestawianiu dużej liczby połączeń TCP. Pierwsza z tych reguł blokuje ruch z adresów wpisanych na listę atak_dos_blokada. Druga reguła dodaje na tę listę (na czas 24 godzin) adresy hostów, które próbowały zestawić jednocześnie ponad 100 połączeń do hostów w sieci DMZ. Dodatkowo, reguła ta zapisuje do logów informację z prefixem „atak dos”. Kolejne reguły akceptują ruch przychodzący do pracowników w ramach zestawionych połączeń. Reguła nr 5 akceptuje ruch wychodzący od pracowników do Internetu. Użyte są dwa warunki określające źródło (interfejs oraz źródłowy adres IP), co dodatkowo zabezpiecza przed wysyłaniem pakietów ze zmodyfikowanym źródłowym adresem IP z innej sieci (IP spoofing).
Zależności i Kolejność Przetwarzania
Po pierwsze, aby działały funkcje związane ze stanem połączeń, funkcja śledzenia połączeń nie może być wyłączona. Domyślna wartość przełącznika (auto) powoduje, że śledzenie połączeń jest włączone, gdy istnieje przynajmniej jedna reguła firewalla. Z drugiej strony, jeśli w firewallu nie używamy żadnych reguł wymagających śledzenia połączeń, wyłączając tę funkcję, osiągniemy znaczną oszczędność mocy obliczeniowej procesora.
Druga ważna zależność dotyczy kolejności przetwarzania przez różne mechanizmy. W takiej sytuacji, pakiety przychodzące do routera z Internetu są kierowane de facto na adres IP przypisany do routera. W świetle tego co pisaliśmy wcześniej o łańcuchach, pakiety te powinny trafić do łańcucha input (a nie forward). DST-NAT (część bloku Prerouting) wykonuje się jednak przed blokiem Routing Decision, który odpowiada za kierowanie pakietu do łańcucha Input lub Forward.
Podsumowanie
Konfiguracja routera, w tym filtrowanie pakietów i ustawienia firewalla, jest kluczowa dla zapewnienia bezpieczeństwa sieci domowej i firmowej. Zrozumienie podstawowych zasad i dostępnych narzędzi pozwala na skuteczne zabezpieczenie przed nieautoryzowanym dostępem i potencjalnymi atakami.
tags: #router #filtracja #pakietów #konfiguracja