chaos-calmer

Kompromitacja firewall'a OpenWRT za sprawą ping

Ten standardowy firewall, który oferuje OpenWRT, ma w zamiarze blokować wszystkie nowe próby połączeń od strony WAN. Faktycznie tak jest w istocie. Niemniej jednak, mamy tam jedną regułę, która zezwala na wysyłanie żądań ping . Niby te żądania wydają się być niepozorne ale przy takiej konfiguracji iptables jaką oferuje OpenWRT istnieje ryzyko, że ktoś z zewnątrz może utworzyć sporo sesji bez jakiegokolwiek nadzoru. Każda z tych sesji musi być śledzona przez kernel w tablicy conntrack'a. Nie mając kontroli nad tym ile takich sesji może zostać utworzonych, łatwo może dojść do zapełnienia tej tablicy. Jeśli do tego dojdzie, to router przestanie nawiązywać nowe połączenia. Przydałoby się zatem jakoś ten cały ping ogarnąć i to niekoniecznie blokując go po stronie WAN. W tym wpisie zaimplementujemy sobie mechanizm ochrony przez tego typu zagrożeniem.

WPS, czyli WiFi Protected Setup w OpenWRT

Wi-Fi Protected Setup (WPS) powstał w celu ułatwienia konfiguracji urządzeń w sieci WiFi. Przy WPS nie musimy ustawiać wszystkich parametrów połączenia ręcznie. Nie musimy także pamiętać nazwy sieci czy samego hasła, które może mieć nawet 64 znaki. Zamiast tego, cała konfiguracja sprowadza się to wciśnięcia dwóch przycisków: jednego na karcie WiFi, drugiego na obudowie routera. Niemniej jednak, wszędzie gdzie nie spojrzeć, ludzie rozpisują się na temat tego jakim to niebezpieczeństwem jest włączenie w routerach WiFi opcji WPS. O tych zagrożeniach, jeśli kogoś interesują, można poczytać, np. tutaj. W tym wpisie rozprawimy się raz na zawsze z mitami dotyczącymi WPS, który jest implementowany w routerach WiFi. Postaramy się skonfigurować ten mechanizm pod OpenWRT i zobaczymy czy cokolwiek z tego co ludzie piszą na necie ma zastosowanie w praktyce.

Automatyczna blokada internetu LTE w OpenWRT

Jakiś czas temu opisywałem darmowy internet LTE w RBM/PLAY. Jego niewątpliwą zaletą jest fakt, że jest za free, o ile posiadamy odpowiedni modem. Niemniej jednak, ta usługa jest na 30 dni, po upływie których trzeba ją aktywować na nowo. Jeśli z jakichś przyczyn się tego nie zrobi, to wtedy korzystanie z internetu może nas słono kosztować. Niby można zaprzęgnąć do pomocy gammu-smsd, który będzie nas powiadamiał SMS'em, że usługa została wyłączona lub włączona. Niemniej jednak, w dalszym ciągu pozostaje do ogarnięcia kwestia czasu, przez który czekamy na włączenie usługi. Najlepszym wyjściem jest całkowita blokada internetu na routerze, tak by przez ten moment nie nawiązać żadnego połączenia. Jeśli nie nawiążemy połączenia, to dane z pakietu danych nie będą nam uciekać. W momencie, gdy usługa zostanie aktywowana, to blokada będzie zdejmowana. Tego typu rozwiązanie można zaimplementować w OpenWRT za sprawą oprogramowania smstools dostępnego w pakiecie smstools3 . W tym wpisie postaramy się zaprojektować swojego rodzaju automatyczne blokowanie internet w zależności od otrzymywanych komunikatów od operatora GSM.

Sieć bezprzewodowa WiFi w OpenWRT (WLAN)

Sieć bezprzewodowa w dzisiejszych czasach to podstawa. Z reguły routery posiadają jedno radio operujące na częstotliwości 2,4 GHz. Te nieco nowsze (i droższe) modele mają do dyspozycji dwa radia: 2,4 GHz oraz 5 GHz. OpenWRT zapewnia wsparcie zarówno dla sieci pracującej w paśmie 2.4 GHz jak i tej nadającej w 5 GHz. Konfiguracja tych pasm w OpenWRT różni się nieco. Weźmy dla przykładu obsługę kanału 12 i 13, którą dotyczy tylko sieci pasma 2.4 GHz. Podobnie sprawa ma się z szerokością kanałów, która jest inna w przypadku obu tych pasm. Niemniej jednak, większość opcji pozostaje taka sama i w tym artykule rzucimy okiem na zagadnienie konfiguracji sieci WiFi w OpenWRT.

Podział switch'a na kilka VLAN'ów w OpenWRT

Każdy router ma w swoim wyposażeniu switch, czyli przełącznik umożliwiający rozdzielenie sygnału na kilka portów. W ten sposób przy pomocy przewodu możemy podłączyć więcej komputerów niż by to miało miejsce w przypadku posiadania tylko jednego gniazda RJ-45. Na oryginalnym firmware zwykle nie mamy możliwości dodatkowej konfiguracji switch'a. Z kolei ta co jest, oferuje nam jedynie jeden port WAN i kilka portów dla podłączenia komputerów w sieci lokalnej. Jeśli jednak pokusilibyśmy się o wgranie OpenWRT na nasz router, to będziemy mieli możliwość zarządzania konfiguracją switch'a. W ten sposób będziemy mogli tworzyć dowolne konfiguracje portów (VLAN), wliczając w to utworzenie, np. kilku portów WAN. Tego typu rozwiązanie może się przydać do bardziej zaawansowanych konfiguracji sieciowych, np. failover łącza czy load balancing w przypadku, gdy posiadamy kilku ISP i chcemy wykorzystać w pełni łącze oferowane przez te podmioty.

Konfiguracja interfejsów sieciowych w OpenWRT

Routery, które posiadamy w naszych domach, znane są z tego, że mają szereg interfejsów sieciowych. Taki przeciętny router jest wyposażony w switch z 5 portami RJ-45. Zwykle jest on też wirtualnie podzielony (VLAN) na kilka interfejsów, standardowo LAN i WAN. Do tego z reguły dochodzą jeszcze interfejsy bezprzewodowe WLAN na pasmo 2.5GHz i 5GHz. Jakby tego było mało, to mamy jeszcze wirtualny interfejs mostka, który spina ze sobą lokalne interfejsy switch'a z interfejsami bezprzewodowymi tworząc w ten sposób jeden interfejs, przez który pakiety wydostają się z naszej sieci i lecą dalej w świat przez interfejs WAN. Jest to trochę skomplikowane, dlatego też w tym wpisie przyjrzymy się całej tej konfiguracji interfejsów sieciowych w OpenWRT.

Jak sklonować adres MAC w OpenWRT

Każde urządzenie sieciowe ma inny adres MAC. Jest to numer, który identyfikuje je w strukturze sieci. Gdy zachodzi potrzeba rozbudowania sieci domowej, możemy napotkać problemy z naszym obecnym ISP. Załóżmy, że posiadaliśmy do tej pory jeden komputer, który był wpięty bezpośrednio do łącza ISP. Jeśli dokupiliśmy router i podłączymy go w miejsce komputera, to urządzenie, które widzi nasz provider, ulega zmianie. Konkretnie, to nie ma znaczenia samo urządzenie. Liczy się jedynie adres MAC. Providerzy internetowi mają powiązane adresy MAC z adresami IP i nowo wpięty router nie otrzyma adresu IP, bo ma nieautoryzowany MAC. W takiej sytuacji zwykle wystarczy telefon do ISP z prośbą przepisanie adresu. Niemniej jednak, czasami ISP każą sobie dodatkowo płacić za tę czynność. Jeśli jesteśmy postawieni w takiej sytuacji, to możemy sklonować sobie adres MAC tej maszyny, którą wcześniej widział nasz provider internetowy. Z jego perspektywy nic się nie zmieni, a my będziemy mogli sobie rozdzielić sygnał na tyle komputerów, ile tylko chcemy. W tym wpisie zobaczymy jak pod OpenWRT przeprowadzić klonowanie adresu MAC.

DHCP i DNS, czyli konfiguracja sieci w OpenWRT

Rutery WiFi są w stanie zorganizować przewodową i/lub bezprzewodową sieć w naszych domach. By taka sieć działała bez zarzutu, potrzebna jest odpowiednia adresacja wszystkich komputerów wewnątrz niej. W obecnych czasach już praktycznie nie stosuje się statycznej konfiguracji, bo to zadanie zostało zrzucone na barki serwera DHCP. W OpenWRT do tego celu oddelegowane jest oprogramowanie dnsmasq. Zapewnia ono nie tylko wspomniany wyżej serwer DHCP ale także serwer cache'ujący zapytania DNS. Ten drugi z kolei jest niezastąpiony w przypadku przekazywania zapytań o nazwy domen do upstream'owego serwera DNS, który zajmuje się rozwiązywaniem tych nazw na odpowiadające im adresy IP. Bez dnsmasq ogarnięcie naszej sieci przerodziłoby się w istne piekło. Dlatego też w tym artykule przybliżymy sobie nieco konfigurację tego narzędzia.

Konfiguracja przycisków w OpenWRT

Każdy router w standardzie ma na swojej obudowie kilka przycisków. Zwykle są to przyciski zasilania, restartu i przełącznik sieci bezprzewodowej. Różnie są one oznaczane i można się spotkać z QSS, WPS, reset czy WiFi. O ile z przyciskiem zasilania nic więcej się nie da zrobić, bo po naciśnięciu go router jest odcinany od źródła zasilania ale w przypadku pozostałych przycisków mamy zwykle pełną swobodę w ich konfiguracji i można je sobie odpowiednio zaprogramować. Oczywiście trzeba widzieć jak tego dokonać i dlatego właśnie powstał ten artykuł.

Konfiguracja diod w routerze pod OpenWRT (LED)

Praktycznie każdy router posiada szereg diod LED, które wizualizują stan pracy takiego urządzenia. W taki sposób jesteśmy w stanie stwierdzić czy sieć WiFi jest aktualnie włączona albo czy odbywa się wymiana danych za jej pomocą. Podobnie możemy ocenić aktywność mechanizmu WPS oraz czy połączenie przewodowe zostało ustanowione. Routery TP-LINK'a mają także w standardzie diodę system , która informuje nas czy router działa prawidłowo i nie uległ powieszeniu. W OpenWRT wszystkie te wyżej opisane właściwości można skonfigurować, tak by dioda LED reagowała w określony sposób na pewne zaistniałe zdarzenie. W tym wpisie przyjrzymy się bliżej konfiguracji diod routera.