Protected Routerboot – czyli jak zabezpieczyć MikroTik’a przed fizycznym dostępem

Zapewne wiele razy zastanawiałeś(aś) się nad tym jak zabezpieczyć swoją sieć przed nieautoryzowanym dostępem z zewnątrz. I jak zapewne wiesz elementów jest wiele od bezpieczeństwa danych logowania na firewallu kończąc. Ale czy Twoje scenariusze zakładają że ktoś może po prostu uzyskać fizyczny dostęp do sprzętu? W tym artykule przedstawię prosty sposób jak zabezpieczyć MikroTik’a przed fizyczną ingerencją.


Czy zagrożenie jest realne? – trochę teorii

Zaczynając musimy przypomnieć sobie jedną ważną cechę systemu RouterOS. Mianowicie fakt że w przeciwieństwie do niektórych innych producentów sprzętu sieciowego MikroTik wybrał podejście które zakłada że niemożliwym jest zalogowanie się do systemu RouterOS nie znając hasła użytkownika systemowego. Daje to pozorne wrażenie bezpieczeństwa które podparte przeświadczeniem posiadania dobrego firewall’a (np. dającego dostęp z określonych adresów z VPN), bezpieczne hasło, etc. powoduje że postrzegamy naszego MikroTik’a jako urządzenie praktycznie nie do zdobycia. No niestety nie do końca…


Żadne oprogramowanie nie jest pozbawione wad (w tym również luk bezpieczeństwa).

MikroTik jak każdy producent oprogramowania popełnia błędy. Faktem jest że należy on do grupy producentów którzy o wykrytych lukach informują szybko i równie szybko wydają stosowne poprawki. Jako przykład podam słynną podatność usługi winbox która (w dużym skrócie) umożliwiała zalogowanie się do RouterOS nie znając nawet hasła użytkownika systemowego. Pokłosiem tego zdarzenia jest fakt że obniżając wersję oprogramowania możemy uczynić naszego MikroTik’a ponownie podatnym na ten lub inny atak lub w ogóle możemy uzyskać możliwość zalogowania bez hasła (z zachowaniem konfiguracji) – poniżej cytat z changelog’a wersji 6.45.1

Important note!!!
Due to removal of compatibility with old version passwords in this version, downgrading to any version prior to v6.43 (v6.42.12 and older) will clear all user passwords and allow password-less authentication. Please secure your router after downgrading.
(...)

Zatem jak możemy się przed tym zabezpieczyć?


Protected Routerboot – na czym to polega ?

„Protected Routerboot” czy też „Protected bootloader” to opcja jaką możemy włączyć z poziomu systemu RouterOS która zmienia zachowanie RouterBoard’a w chwili uruchamiania. Ale po kolei…

Jak zapewne wiesz urządzenia MikroTik RouterBOARD posiadają kilka opcji resetowania. Mamy do wyboru powrót do domyślnej konfiguracji, możliwość wyczyszczenia konfiguracji czyli uruchomienia RouterOS „na pusto” oraz opcję netinstall która pozwala załadować na nowo plik z systemem do urządzenia wykonując formatowanie pamięci i ponowną instalację systemu.

I właśnie netinstall jest tutaj potencjalnym problemem. Jeśli korzystałeś(aś) wcześniej z tego narzędzia to wiesz że z pośród wielu opcji jakie oferuje jedna z nich to „Keep old configuration”. O ile w niektórych sytuacjach będzie ona pomocna o tyle w kwestii bezpieczeństwa tworzy dość poważną lukę. Pozwala ona na załadowanie starej wersji systemu RouterOS która (przy zachowaniu konfiguracji) tworzy problem opisany powyżej czyli np. umożliwi zalogowanie do systemu bez znajomości hasła.

Rozwiązaniem tego problemu jest właśnie opcja „Protected Routerboot” którą włączamy wchodząc w menu System->RouterBOARD następnie klikając w Settings.

Włączenie sprowadza się do zaznaczenia checkbox’a „Protected routerboot” natomiast należy też zwrócić uwagę na pola „Reformat Hold Button” oraz „Reformat Hold Button Max”.

Po włączeniu tej opcji urządzenie wyłączy wymienione wcześniej 3 opcje resetu i w przypadku przyciśnięcia przycisku reset podczas startu dioda USR zamiast informować o wchodzeniu w jedną z trzech opcji resetu będzie migać co 1 sekundę (1 sekundę świeci, jedną nie) licząc w ten sposób czas. Przycisk reset musi zostać puszczony gdy dioda USR policzy ilość sekund będącą pomiędzy wartością „Reformat Hold Button” a „Reformat Hold Button Max”. Po jego puszczeniu nastąpi skasowanie pamięci urządzenia a dokładnie konfiguracji oraz samego systemu RouterOS (licencja pozostanie). Następnie urządzenie ze względu że będzie miało pustą pamięć, bez systemu operacyjnego rozpocznie wyszukiwanie serwera netinstall (na określonym dla danego modelu porcie) aby na nowo zainstalować system. Funkcja „Protected routerboot” wyłącza również port konsolowy (i ile oczywiście urządzenie takowy posiada). Oraz co najważniejsze jest możliwa do włączenia jak i wyłączenia jedynie w systemie RouterOS. Zatem trzeba pamiętać że jeśli zapomnimy danych logowania do systemu lub utracimy do niego dostęp np. poprzez błąd w konfiguracji wówczas jedyną opcją jest przeinstalowanie systemu RouterOS i ponowna konfiguracja sprzętu.

Także o ile tryb netinstall bez „Protected routerboot” tworzy nam potencjalną lukę bezpieczeństwa którą ktoś może wykorzystać do wglądu w konfigurację urządzenia (gdzie przecież znajdzie dane poufne takie jak hasła, klucze, certyfikaty). To włączenie „Protected routerboot” niweluje ten problem dając tylko jedną opcję alternatywną w postaci skasowania całej pamięci urządzenia i instalacji czystego systemu RouterOS.