Przyszło nam konfigurować router MikroTik w szkole, uzyskując podział sieci na 2 podsieci – zaufaną i niezaufaną. Zapraszamy do lektury.
Na początek opis sytuacji: Mamy centralne miejsce, w nim MikroTik hEX. Mały prosty routerek, ale tu się nada. Do routerka przychodzą 4 przewody Ethernet – pracownia komputerowa, sekretariat, księgowość oraz sygnał z Internetu. Sygnał ma wyprowadzone DHCP i przydziela z niego 1 adres dla szkoły.
Chcemy tak skonfigurować sieć, aby pracownia komputerowa działała w osobnej podsieci, a sekretariat i księgowość w osobnej. Taki podział ma zwiększyć bezpieczeństwo i utrudnić uczniom oraz wirusom zaszkodzenie części administracyjnej szkoły.
Dlaczego ten podział jest tak ważny, mogą Państwo również przeczytać na naszym RODOwym blogu: https://lobo.expert/2018/12/11/szkolo-zadbaj-o-swoja-siec/ .
Spis treści
Reset do fabrycznych ustawień
Operację zacząłem od resetu urządzenia do fabrycznych ustawień. Z tyłu urządzenia znajduje się dołek RES, w który należy włożyć np. rozwinięty spinacz, podłączyć zasilanie i odczekać kilka(naście) sekund, aż dioda USR zacznie migać. Przed tą operacją należy odłączyć wszystkie przewody sieciowe.
Pierwsze połączenie
Moje urządzenie ma 5 portów ethernet, z czego 1 opisany jest jako Internet (tu przychodzi sygnał) oraz jako PoE (Power over Ethernet), czyli może być także zasilane poprzez ten port. Ja skorzystałem z zewnętrznego zasilacza i opcji PoE nie wykorzystałem.
Ważne jest to, aby przy pierwszym uruchomieniu po resecie, nie podłączać przewodu do portu Internet (w moim przypadku eth1). Gdy tak zrobiłem, urządzenie wykryło sobie, że sygnał DHCP przychodzi na ten port i przestawiło się w tryb w którym wszystkie porty były połączone bridgem i adresy IP dostawałem z zewnętrznego serwera, a nie z MikroTika. Natomiast gdy uruchamiałem urządzenie z wyłączonym przewodem z portu Internet, wszystko działało poprawnie.
Dlatego na potrzeby pierwszego podłączenia wykorzystam tylko jeden przewód łączący port 5 z moim komputerem, który w tym momencie otrzymuje adres 192.168.88.254.
Cechą charakterystyczną MikroTików jest to, że nadają one numery od końca, a domyślna podsieć to 192.168.88.0/24. Router działa pod adresem 192.168.88.1.
Logowanie do panelu zarządzania
Teraz należy połączyć się i skonfigurować podstawowe parametry działania, jak choćby hasło dostępowe. MikroTiki można obsługiwać przez WWW oraz specjalnym programem – WinBox.exe. Obydwie metody dają dostęp do tego samego interfejesu, jednak ten WWW działał mi ospale i czasami nie łapał klikania, więc wolę korzystać z WinBoksa, tak jak to widać na ilustracji poniżej:
Na zakładce Neighbors (otoczenie) powinien się znaleźć mój router, oznaczony adresem 192.168.88.1. Domyślne hasło jest puste. Wystarczy więc zalogować się przyciskiem Connect. Program ostrzega nas, że jest to pierwsze uruchomienie po restarcie do ustawień fabrycznych i wymienia, jakie podstawowe ustawienia zostały dokonane.
Przyciskiem OK można zaakceptować domyślne parametry.
Aktualizacja oprogramowania
Router to komputer, tylko w mniej komputerowej obudowie. Działa pod kontrolą systemu operacyjnego RouterOS, w którym regularnie odkrywane są błędy i regularnie te błędy są poprawiane. Należy więc dbać o aktualność oprogramowania, dlatego pierwszym moim krokiem było sprawdzenie uaktualnień poprzez odwiedzenie menu System → Packages, jak poniżej.
Po wybraniu Check For Updates pojawia się okno, w którym można porównać zainstalowaną wersję oprogramowania z wersją dostępną do pobrania (u mnie jest to wersja 6.43, która może zostać zaktualizowana do 6.44 przyciskiem Downaload&Install.
Po całej operacji, router uruchomi się ponownie, a oprogramowanie będzie aktualne. Tę operację warto przeprowadzać możliwe często, gdyż stare oprogramowanie oznacza potencjalne luki w bezpieczeństwie.
Warto również w tym oknie wyłączyć nieużywane „paczki”. W modelu przeze mnie używanym nie ma modułu sieci bezprzewodowej więc śmiało mogę wyłączyć paczkę „Wireless”. Funkcje poszczególnych paczek opisano na stronie https://wiki.mikrotik.com/wiki/Manual:System/Packages
Na ilustracji powyżej, pakiety Wireless, hotspot i ppp mam ustawione jako zaplanowane do wyłączenia. Po restarcie routera nie będą one już działać, a co za tym idzie, nie będą obciążać procesora i pamięci, a ewentualne dziury w nich nie będą groźne.
Dlaczego tak ważne jest aktualne oprogramowanie można dowiedzieć się choćby z artykułu: https://niebezpiecznik.pl/post/nie-uzywaj-i-nie-kupuj-tego-routera-d-linka-przestepcy-wykorzystuja-jego-luki/ . Co prawda dotyczy innego modelu routera, i to takiego, którego nie da się zaktualizować, ale kwestie bezpieczeństwa są podobne.
Ustawiam bezpieczne hasło
Urządzenie domyślnie pozwala na zalogowanie się na konto admin z pustym hasłem. To bardzo zły pomysł, aby tak je pozostawić. Na razie jest ono podłączone tylko do mojego komputera, ale za chwilę wepnę przewód Internet. Zanim to zrobię, czas na zmianę hasła, czyli System → Users.
Jak widać, na domyślnej liście jest tylko konto admin. Sugeruję aby stworzyć nowe konto o innej nazwie, gdyż programy atakujące będą próbowały łamania właśnie konta admin. Lepiej więc użyć innej nazwy użytkownika, a obecne konto wyłączyć. Klikam więc w + i dodaję własnego użytkownika.
Warto zauważyć, że domyślna grupa powinna być zmieniona na full, bo nowe konto ma być kontem administracyjnym.
Teraz, po ponownym połączeniu WinBoksem, tym razem na konto tristan, u góry widoczne jest własnie to konto (tristan@192.168.88.1).
Nie można tylko zapomnieć o wyłączeniu, a może nawet usunięciu całkowicie, konta admin, gdyż ono dalej funkcjonuje i to bez hasła. Wracam więc do System → Users, klikam w admina i wybieram opcję Disable. Od tej chwili działa tylko nowo utworzone konto, które ma inną nazwę (u mnie tristan).
Przegląd domyślnej konfiguracji
MikroTik zdecydowanie nie jest urządzeniem domowym, z prostymi ustawieniami i tyle. Z drugiej strony, mój model to malutkie urządzenie, w zasadzie do zastosowania domowego. Dlatego też domyślnie ustawia się tak, aby mogło działać w zasadzie od strzału. Zajrzę w kilka miejsc, aby przedstawić główne parametry.
Interfaces
W tym oknie widać, że mamy dostępnych 5 portów ethernet (ether1 do ether5) oraz jeden Bridge o nazwie bridge. Dodatkowo widać, że podłączyłem już przewód Internet i na porcie ether1 odbywa się transmisja (Tx/Rx) podobnie jak na porcie ether5, do którego jest wpięty obecnie mój komputer.
Porty – jasna sprawa, ale co to ten Bridge? Otóż jest to sposób utworzenia wirtualnego urządzenia typu switch, który łączy wybrane przez nas porty. Domyślnie urządzenie spina w jedną całość (jak się za chwilę przekonamy) porty od 2 do 5. Dzięki temu niektóre elementy konfiguracji mogą dotyczyć Bridge, a nie określonego, jednego portu. Zamiast konfigurować identyczne parametry oddzielnie dla kilku portów, można je połączyć razem. Sprawdźmy to.
Bridge
W okienku Bridge na zakładce Ports widać ze interfejsy 2-5 mają przypisany bridge o nazwie bridge. 2-3-4 są odłączone (nie ma tam wpiętych przewodów), a 5 jest aktywny, bo tam jest mój komputer. Bridge o nazwie bridge mnie denerwuje, ale na razie nie ruszam jego nazwy. Idę przeglądać okna, które będą wykorzystywane w dalszej konfiguracji.
IP → Addresses
Mamy tu określone adresy, pod jakimi urządzenie widoczne jest ze strony sieci LAN (192.168.88.1/24) oraz od strony WAN (192.168.0.39/24). Warto zauważyć, że wewnętrzny adres routera jest identyczny, niezależnie do którego portu się podłączam, gdyż jest tam ustawiony bridge, a nie konkretny interfejs.
IP → Pool
Krok wcześniej sprawdzałem adres IP routera, natomiast teraz widzę pulę, z jakiej serwer DHCP przydziela adresy. Jak widać na ilustracji, jest to zakres od 192.168.88.10 do 192.168.88.254. Adres .255 to oczywiście adres rozgłoszeniowy, czyli broadcast, a adresy 1-9 domyślna konfiguracja pozostawia na wykorzystanie poza serwerem DHCP. Jak już wiemy, 192.168.88.1 jest zajęty przez router.
IP → DHCP Server
Widać tu domyślny serwer DHCP, który nazywa się defconf i działa na interfejsie bridge, czyli na dowolnym z interfejsów 2-5. Warto zwrócić uwagę na kolumnę Address Pool, w której widnieje nazwa default-dhcp, znana z poprzedniego kroku. Jeżeli natomiast zajrzę na zakładkę Leases, zobaczę iż serwer przydzielił adres IP mojemu komputerowi, który nazywa się maxime-kubuntu i dostał adres .254.
Wszystko się zgadza.
Czas na podział sieci
Przejrzałem te wszystkie okienka niejako dla rozgrzewki, w takiej kolejności, w jakiej będę je teraz modyfikował. No może za wyjątkiem okna Interfaces bo tam nic zmieniać nie trzeba.
Buduję mosty
A więc najpierw Bridge. Dodam tu jeden nowy i zmienię nazwę starego.
Zmiana nazwy możliwa jest po poklikaniu w istniejący wpis, a nowy most powstaje przez użycie +. Żadnych z istniejących opcji, poza nazwą, nie zmieniałem. W efekcie moje okno z mostami wygląda tak:
Po polach Tx/Rx można się zorientować, że mostek_sekretariat działa i to on miał kiedyś nazwę bridge, a mostek_pracownia powstał jako nowy.
To jednak nie wszystko, bowiem w oknie Ports nadal wszystkie interfejsy będą przypisane do jednego bridge’a. Muszę zmienić ich przypisanie tak, aby należały do odpowiednich bridge’ów. Mogę to zrobić poprzez podwójne kliknięcie na wpis który chcę edytować :
Teraz interfejsy 2-3 należą do pracowni, a 4-5 do sekretariatu. Od tej chwili próba podłączenia komputera do wejść 2-3 skończy się porażką, bo konfiguracja adresów i DHCP dotyczy wyłącznie mostka sekretariat, a nowy mostek nie jest jeszcze gotów do działania.
Przydzielamy adresy
Wracam więc do znanego mi okna IP → Addresses i muszę tam dodać nowy adres urządzenia. Przypomnę, że obecnie okno wygląda tak:
Czyli adres 192.168.88.1 z maską 255.255.255.0 (/24) przypisany jest do mostka sekretariat. Analogicznie muszę przypisać nowy adres, powiedzmy 192.168.66.1/24 do mostka pracownia.
W efekcie czego, lista będzie wyglądała tak:
Proszę zwrócić uwagę na to, że adres podsieci (192.168.66.0) znajduje się z automatu w polu Network, ale pole Address zawiera adres .66.1, który będzie adresem routera. Od tej chwili urządzenie będzie widoczne pod innym adresem dla portów 2-3 (mostek_pracownia) i innym dla 4-5 (mostek_sekretariat). Jednak wciąż jeszcze żadne adresy nie są przydzielane na mostku pracownianym.
Pula dla DHCP
Zanim wystartuje serwer DHCP, konieczne będzie dodanie nowej puli adresów do przydzielania. W sekcji IP → Pool dodam wiec (obok istniejącej default-dhcp) nową. Nazwę ją pula_pracowniana i przydzielę dla niej adresy od 192.16.66.2 (pod .1 jest router) do 192.168.66.254 (.255 to broadcast).
Tak określona pula wpasowuje się w podsieć z maską /24, która została ustawiona wcześniej. Oczywiście – analogicznie można dać szerszą maskę, ale myślę, że w warunkach szkolnych taka liczba komputerów w pracowni wystarczy. Większe pule stosowałem tylko ustawiając dostęp WiFi dla wszystkich uczniów.
Nikt tej puli nie przydziela
Bez działającego nowego serwera DHCP, takie ustawienie nic nie daje. Pula i owszem, jest, gotowa do wykorzystania, ale musi powstać serwer, który będzie ją serwował dla odpowiedniego mostka. Wędruję więc do IP → DHCP Server i dodaję nowy serwer, jak poniżej.
Jednak to nadal za mało. Na zakładce Networks muszę dodać nową sieć. Może to być mylące dla początkujących, bo w Addresses już podsieć była ustalana i istnieje pula, która na nią wskazuje. Jednak konieczne jest ponowne ustawienie parametrów podsieci, tym razem dla serwera DHCP.
Najważniejsze jest określenie adresu podsieci (192.168.66.0 – tak, 0, bo router ma adres 1, ale cała podsieć zaczyna się od 0), maski (/24) oraz gatewaya czyli bramy domyślnej dla tej podsieci. Informacja o bramie będzie przekazana do komputerów w pracowni, aby wiedziały z jakim routerem się łączyć przy wychodzeniu na świat.
Testowanie sieci
Aby sprawdzić, jak działa moja sieć, podłączyłem drugi komputer do portu ether2, czyli tego wpiętego w mostek_pracownia. Okazało się, że świetnie działa. Na zakładce Leases okna z serwerami DHCP pojawił się nowy komputer:
Nazywa się minime-new, bo tak go kiedyś nazwałem i dostał adres również z końcówką .254, ale z innym początkiem. Identyczne końcówki mogą być mylące, ale tak jest dlatego, że to pierwszy komputer w nowej podsieci, tak jak pierwszym w starej był maxime-kubuntu, dlatego obydwa dostały pierwszy (a raczej ostatni) numer z przydzielonej podsieci.
Firewall
Obie podsieci działają. Pracownia otrzymuje adresy 192.168.66.x, sekretariat 192.168.88.x, ale można zauważyć jeden niepokojący fakt – połączenia pomiędzy sieciami nie są zablokowane. Domyślnie firewall przepuszcza dane z 88 do 66 w obydwie strony. Konieczne jest zablokowanie ruchu przynajmniej w jednym kierunku, a najlepiej w obydwóch.
Jak sprawdziłem, że połączenie pomiędzy sieciami działa? Otóż na komputerze „pracownianym” próbowałem pingować maszynę z „sekretariatu”.
Ale uwaga! Windows domyślnie blokuje pingi, więc nawet jeśli to połączenie się nie powiodło, to nie znaczy, że router jakoś te dwie podsieci rozdziela. Nie rozdziela i ten rozdział dopiero należy wprowadzić w firewallu, czyli zaporze sieciowej MikroTika.
W tym celu udaję się do okna IP → Firewall, które domyślnie u mnie wygląda tak:
I przyciskiem + muszę dodać nową regułę typu drop. Drop, czyli porzuć, nie dokonuj połączenia. Ważne jest, aby tu zwrócić uwagę na kilka elementów. Po pierwsze na zakładce General wybieram łańcuch (chain) o nazwie forward, czyli przesyłanie danych przez router, tak jak na ilustracji poniżej:
Nie chcę jednak zablokować całego ruchu idącego przez router, bo przecież forward, czyli przesyłanie, odbywa się także pomiędzy każdym z mostków, a portem ether1, przez który sygnał wychodzi na świat. Dlatego na tej samej zakładce, muszę jeszcze zmienić In. Interface na mostek_pracownia i Out. Interface na mostek_sekretariat. Dzięki temu, reguła będzie dotyczyła tylko pakietów, które wchodzą przez jeden mostek i chcą dotrzeć do drugiego. W ten sposób zablokuję ruch w jedną stronę. No właśnie, zablokuję, o ile na zakładce Action ustawię wspomniane drop, gdyż domyślnie jest tam accept.
Analogicznie powinienem zablokować ruch w drugą stronę i na mojej liście pojawią się dwa nowe wpisy:
Brawo! W ten sposób całkowicie zablokowałem przesył pakietów pomiędzy dwiema podsieciami.
Podsumowanie
Cała operacja wydaje się być kłopotliwa i długa, gdyż rozpisałem ją na kolejne etapy. Jednak wprawny sieciowiec ustawi to bardzo szybko, a warto takiego podziału dokonać, aby zwiększyć bezpieczeństwo sieci.