eBlocker Open Source: zabezpieczenie małej sieci z kontrolą rodzicielską
Dostępnych jest wiele narzędzi do ochrony i kontroli ruchu w sieci lokalnej. Z reguły kompleksowe, komercyjne rozwiązania, spotyka się w sieciach firmowych i nie są one stosowane w sieciach domowych z uwagi na stopień zaawansowania i wymóg odpowiednich umiejętności technicznych do konfiguracji. Dodatkowo w małej sieci nie ma potrzeby wdrażania rozbudowanych systemów. Co nie oznacza, iż taką sieć nie da się skutecznie zabezpieczyć!
Podstawowy i często podawany sposób, to konfiguracja własnego serwera DNS np. opisywany przez nas Pi-hole czy AdGuard – oba wymagają pewnej konfiguracji.
Jednym z mniej popularnych programów do zabezpieczenia małej sieci jest eBlocker. To darmowe rozwiązanie ma otwarty kod, jest rozwijane przez niemieckich programistów od 2014 roku, a projekt sponsorowany jest przez społeczność.
Można powiedzieć, iż stosowany w nim sposób ochrony jest dość kontrowersyjny, ponieważ w praktyce wykonywany jest „atak” ARP spoofing. Natomiast dzięki takiemu podejściu, osoba, która będzie konfigurowała eBlocker, nie musi posiadać szerokiej wiedzy z zakresu sieci komputerowych, a dodatkowo nie ma potrzeby zmiany żadnych ustawień sieci. eBlocker oparty jest na systemie Debian.
Pierwsze uruchomienie eBlocker
Jak wspomniano na stronie producenta, eBlocker jest dostępny jako dedykowany obraz dla Raspberry Pi bądź też jako plik OVA dla maszyny wirtualnej.
Wdrożenie eBlocker w maszynie wirtualnej polega na pobraniu pliku obrazu i zaimportowaniu do hypervisora (np. VirtualBox czy VMware). Domyślne ustawienia sprawią, iż eBlocker będzie osiągalny „bezpośrednio” w sieci lokalnej. Przydzielony adres zostanie wyświetlony na ekranie maszyny wirtualnej.
Skorzystanie z Raspberry Pi jest ciekawsze i bardziej praktyczne. Pobrany plik instalacyjny musimy zapisać na karcie SD. Do tego celu służy Raspberry Pi Imager.
Następnie kartę SD umieszczamy w slocie urządzenia Raspberry Pi. Podłączamy zasilanie i kabel sieciowy, czekamy na uruchomienie się systemu.
Wstępna konfiguracja
Po wejściu na adres IP urządzenia powinniśmy zobaczyć panel. Początkowa konfiguracja polega na zaakceptowaniu licencji, ustawieniu strefy czasowej, nadaniu własnej nazwy dla eBlocker, zdecydowaniu o automatycznej ochronie nowo podłączonych do sieci urządzeń.
Klucz licencyjny będzie automatycznie ustawiony jako FAMLFT-OPENSOURCE. Konieczne jest podanie adresu e-mail, na który będziemy otrzymywać wiadomości dotyczące ewentualnych błędów bezpieczeństwa wykrytych w eBlocker. W związku z tym, iż nie spodziewam się szczególnego ryzyka ataku na lokalną sieć (sieci domowe najczęściej nie są dostępne z zewnątrz), oraz iż podany przez nas adres nie jest walidowany, możesz wpisać adres w stylu admin@localhost bądź podobny.
W kolejnym kroku powinniśmy przeprowadzić aktualizację oprogramowania. Na tym etapie eBlocker będzie gotowy do działania. Zanim jednak przejdziemy do zapoznania się z jego możliwościami, warto wykonać w systemie operacyjnym polecenie arp -a.
Adresy MAC są unikalne, ale jak widać, jeden z nich pojawił się trzy razy. Adres 192.168.1.1 to router, natomiast adresy 169.254.93.109 i 192.168.1.117 wskazują na Raspberry Pi z eBlocker. Pierwszy z tych adresów jest zawsze taki sam (panel jest dostępny wyłącznie na porcie 3000), natomiast drugi został otrzymany z serwera DHCP. Tak w praktyce wygląda „objaw” trwającego ataku ARP spoofing — złośliwy host fałszuje swój rzeczywisty adres MAC. Oczywiście w naszym przypadku jest to zamierzone działanie. Można powiedzieć, iż eBlocker przejmuje rolę routera w celu kontrolowania ruchu do wskazanych hostów.
Dostępne opcje w eBlocker
Przegląd funkcji rozpoczniemy od zakładki Devices, która pojawi się po zakończonej aktualizacji i restarcie eBlocker. Prezentuje ona wykryte w sieci urządzenia (skanowanie domyślnie odbywa się co 10 sekund). jeżeli podczas konfiguracji nie zdecydowaliśmy się na automatyczną ochronę, jedynie nasze aktualne urządzenie będzie objęte kontrolą. Możemy aktywować ochronę dla pozostałych hostów.
Po aktywowaniu urządzenia cały ruch sieciowy będzie „przechodził” przez eBlocker. Można to zweryfikować z użyciem polecenia tracert (traceroute dla Linux). Dobrym pomysłem jest przypisanie do hostów ich nazw. W tym celu wybieramy dane urządzenie i edytujemy Device name.
Hasło do panelu admina
Istotne jest ustawienie hasła, które może zapobiec nieautoryzowanym zmianom konfiguracji. Przechodzimy do System -> ADMIN PASSWORD, aktywujemy checkbox przy opcji „Administrator password is disabled”, po czym dwukrotnie wpisujemy hasło. Od tej chwili panel będzie chroniony hasłem.
Użycie sieci Tor lub tunelu VPN
Za pomocą eBlocker możemy przekierować cały ruch do danego hosta poprzez sieć Tor lub VPN (konieczne jest zaimportowanie pliku OVPN). Wskazujemy urządzenie z listy i w zakładce ANONYMIZATION wybieramy Tor Network. W pewnym stopniu wpłynie to na wydajność łącza, natomiast zapewni anonimizację.
Analiza ruchu HTTPS
Kluczowa dla efektywnego działania eBlocker jest możliwość „rozszyfrowywania” połączeń HTTPS. W codziennych sytuacjach nie jest to pożądane działanie, natomiast mając na uwadze zapewnienie pewnej kontroli nad treściami w sieci, należy je wdrożyć w praktyce. Przechodzimy do zakładki HTTPS i aktywujemy dzięki checkbox’a wsparcie dla HTTPS. Wybieramy przycisk START HTTPS WIZARD i wykonujemy opisywane kroki. w uproszczeniu musimy pobrać wygenerowany certyfikat i zaimportować go w docelowym systemie. Na koniec możemy przetestować działanie:
Na pozostałych hostach należy wykonać analogiczne kroki. Instrukcje dostarcza HTTPS Wizard. Aby go uruchomić, wystarczy wejść pod adres http://eblocker.box/https na docelowych urządzeniach. W przypadku przeglądarki Firefox, oprócz instalacji certyfikatu w systemie, konieczna jest również instalacja w samej przeglądarce. eBlocker przedstawi odpowiednie szczegóły po wejściu na tę stronę w Firefox.
Kontrola rodzicielska w eBlocker
Po przejściu opisanych kroków zostaniemy przekierowani na Dashboard dla konkretnego urządzenia, z którego poziomu jego użytkownik może zarządzać niektórymi ustawieniami, np. zablokować pewne domeny lub określić, czy host powinien być „w trybie online”, co ma znaczenie przy limitach czasu korzystania z Internetu (które określamy w zakładce Parental Control -> Restrictions on daily Internet usage).
W zakładce Parental Control możemy zablokować określone kategorie witryn, np. serwisy społecznościowe czy muzyczne.
Domyślnie blokowane są domeny zawierające reklamy czy trackery oraz malware. Niestety zawartość list nie jest publicznie dostępna. Część domen jest blokowana (co widać w dashboard), natomiast nie zawsze to działanie jest w pełni skuteczne. Warto korzystać z rozszerzenia uBlock Origin.
Pozostałe funkcjonalności
Dostępna w karcie ANONYMIZATION jest także opcja pozwalająca na modyfikację User-Agent. Do wyboru mamy Android, iPad, iPhone, Mac, PC (Linux), PC (Windows) oraz ustawienie własnego nagłówka.
W zakładce Network możemy uruchomić funkcjonalność serwera DHCP. jeżeli aktywujemy tryb Expert Mode uzyskamy możliwość przypisania statycznego adresu IP dla eBlocker oraz określenia puli adresów DHCP.
Podsumowanie
eBlocker pozwala w łatwy sposób zabezpieczyć naszą sieć oraz zwiększyć poziom prywatności. Dużą zaletą jest to, iż opisywane rozwiązanie nie wymaga szerokiej wiedzy technicznej (w standardowej konfiguracji), więc z powodzeniem może być używane w każdej małej sieci. Trzeba pamiętać, iż to tylko jeden z wielu różnych sposobów ochrony urządzeń, które mają dostęp do sieci Internet.