Wiele witryn i serwisów internetowych nadal stosuje taktykę śledzenia aktywności użytkownika w sieci, aby wyświetlać mu spersonalizowane reklamy. To naruszanie prywatności użytkowników ma miejsce niezależnie od przepisów takich jak Ogólne rozporządzenie o ochronie danych osobowych. Użytkownik może się jednak zabezpieczyć. Jedną z możliwości jest korzystanie z programowych blokerów reklam i programów zapobiegających śledzeniu. Chociaż opcje te są skuteczne, mogą być ograniczone. Na przykład prawie niemożliwe jest znalezienie blokera reklam dla inteligentnego telewizora.  Dlatego najlepszym rozwiązaniem jest wdrożenie blokera reklam w całej sieci w postaci urządzenia sprzętowego. Jednym z takich urządzeń jest Raspberry Pi-hole. Wcześniej opisywaliśmy najlepsze projekty Raspberry Pi 4. Tym razem omówimy kolejny projekt, który może pomóc w ochronie sieci przed reklamami.

Co to jest Pi-Hole?

Pi-hole to narzędzie do filtrowania oparte na DNS, które można skonfigurować i używać do blokowania reklam, śledzenia, znanych złośliwych witryn i złośliwego oprogramowania w całej sieci. 

Dlaczego warto używać Pi-Hole?

Raspberry Pi-Hole na drewnianej podstawceŹródło: Maxpixel: Maxpixel

Tradycyjne blokery reklam, takie jak U-Blocker i Adblock Plus, działają w ograniczonej piaskownicy przeglądarki internetowej lub urządzenia operacyjnego. Analizują one dane przychodzące z urządzenia podczas ładowania strony internetowej lub zasobu. Następnie adblocker usuwa lub zastępuje wszelkie treści, które rozpoznaje jako reklamę. Takie rozwiązanie może być skuteczne w przypadku urządzeń lub przeglądarek obsługujących adblockery, ale naraża na ataki inne urządzenia w sieci lub ekosystemie.

Można próbować ręcznie instalować dodatkowe blokery reklam na wszystkich urządzeniach w sieci, ale nie jest to zbyt efektywne ani czasochłonne. Co więcej, nie wszystkie urządzenia obsługują blokowanie reklam. Najlepszym sposobem obejścia tego problemu jest ochrona jednego punktu w sieci za pomocą urządzenia takiego jak Pi-hole. Umożliwia ono usuwanie reklam z wszystkich urządzeń z dostępem do Internetu, w tym z:

smartfony (aplikacje i gry)

Smart TV

inteligentne zegarki

odtwarzacze multimedialne

Urządzenia castingowe.

Pi-hole nie ogranicza się jednak tylko do blokowania reklam. Po skonfigurowaniu tej funkcji można ją zastosować do dowolnego ruchu internetowego w sieci. Można na przykład blokować znane usługi śledzenia i umieszczać witryny dla dorosłych na czarnej liście użytkowników w sieci (np. dzieci). 

Ponadto można uniemożliwić złośliwemu oprogramowaniu lub złośliwym witrynom komunikowanie się z kontrolującymi je serwerami. Pi-Hole nie jest więc zwykłym adblockerem, ale urządzeniem zabezpieczającym sieć, które może mieć wiele zastosowań. Może być jednak trudne do opanowania dla użytkowników, którzy nie znają się na sieci i sprzęcie.  

Jak działa Pi-Hole?

Obraz wektorowy przedstawiający blokadę reklam ar

Po uruchomieniu witryny, gry lub usługi z obsługą reklam witryna, gra lub usługa wysyła żądanie do adresu URL serwera DNS, który zarządza reklamami dla danego zasobu. Odbywa się to podczas ładowania wszystkich głównych zasobów (głównej treści, obrazów, tekstu, filmów itp.). 

Dostawca DNS określony przez router internetowy wyszukuje adres URL reklamy. Następnie odpowiada urządzeniu użytkownika, podając adres IP tego serwera, aby mogło ono załadować reklamy. Chociaż statyczne zintegrowanie reklam z aplikacją, grą lub stroną internetową może być łatwiejsze, podejście dynamiczne jest bardziej korzystne. Oprócz innych zalet, umożliwia ono dostarczanie indywidualnie dopasowanych reklam za pośrednictwem wielu dostawców i wielu serwerów.

Pi-hole działa jako pośrednik między dostawcą DNS a urządzeniem użytkownika. Podobnie jak większość blokerów reklam i trackerów, posiada on listę blokad. Gdy z urządzenia użytkownika wysyłane jest żądanie do dostawcy DNS, Pi-hole sprawdza, czy znajduje się ono na jednej z jego list blokowania. Jeśli okaże się, że dane żądanie znajduje się na liście blokowania, uniemożliwi mu dotarcie do dostawcy DNS. Zamiast tego odeśle do urządzenia użytkownika odpowiedź z nieokreślonym adresem - zasadniczo informując go, że dany zasób reklamowy nie istnieje.

Nazywamy to DNS sinkhole. W zależności od tego, jak działa Twoja przeglądarka lub aplikacja, w miejscu, w którym powinna pojawić się reklama, pojawi się pusta, ukryta przestrzeń lub błąd.

Konfiguracja i korzystanie z Pi-Hole

W urządzeniu Pi-Hole zastosowano konstrukcję o wysokiej kompatybilności. Może współpracować z prawie każdym systemem Linux. Działa niezależnie od tego, czy system Linux znajduje się w kontenerze docker, czy w maszynie wirtualnej. Oczywiście należy skierować na niego swój DNS. 

Jednak wydaje się, że najpopularniejszą metodą wdrażania jest wykorzystanie niedrogiego komputera wbudowanego. Właśnie tego użyjemy w poniższym poradniku.

Wymagane komponenty, sprzęt i narzędzia

Raspberry Pi Zero (można użyć dowolnego modelu Raspberry PI)

Raspberry Pi Model 2 i Pi Zero

Karta Micro SD (16 GB)

Ręka trzymająca kartę MicroSD

Zasilacz sieciowy Micro USB 2,5A

Czarna ładowarka do telefonu komórkowego

Przejściówka z Micro USB na RJ45 Ethernet 

Obudowa dla Raspberry Pi

Kabel Ethernet

Kabel Ethernet

Radiatory (dla Raspberry PI)

Kabel mini HDMI do podłączenia Raspberry PI do telewizora

Konwerter HDMI na mini USB

Oprócz powyższych elementów będziesz potrzebował komputera lub urządzenia, które pozwoli Ci na flashowanie systemu operacyjnego na kartę Micro SD. Możesz użyć czytnika kart microSD/uSD podłączonego do komputera/laptopa. Ponadto zdecydowanie zalecamy korzystanie z komputera z systemem Windows PC. 

Konfiguracja tego projektu będzie wymagała podania kilku argumentów z wiersza poleceń. Nie należy się jednak obawiać. Zadbaliśmy o to, aby poniższy tutorial był jak najłatwiejszy do wykonania.

Instrukcje

Przed skonfigurowaniem Pi-Hole musimy najpierw zainstalować nasz system operacyjny na Raspberry PI Zero (lub wybranym komputerze wbudowanym). W tym poradniku wybraliśmy Raspbian Buster Lite. 

Użyj komputera, aby pobrać obraz Raspbian Buster Lite

Następnie pobierz i zainstaluj program balenaEtcher - pozwoli on zapisać/wypalić/instalować system operacyjny Raspbian Buster na karcie Micro SD. 

Podłącz kartę micro-SD do czytnika kart SD (podłączonego do komputera lub urządzenia inteligentnego).

Następnie uruchom aplikację balenaEtcher z laptopa lub urządzenia inteligentnego.

Kreator balenaEtcher wymaga dwóch danych wejściowych, zanim będzie mógł wykonać flashowanie systemu operacyjnego. Potrzebny będzie katalog karty micro-SD oraz katalog obrazu Raspbian Buster Lite. Po wprowadzeniu tych dwóch właściwości można kliknąć przycisk flash.

Odłącz i ponownie podłącz kartę micro-SD do komputera

Otwórz eksplorator plików (jeśli autorun nie otworzy go automatycznie) 

System Windows (lub system operacyjny komputera) wyświetli nowy dysk z etykietą "boot". Jeśli nie jest on widoczny na liście dysków, należy ręcznie przypisać mu literę.  

Następnie otwórz folder startowy, utwórz ogólny plik bez rozszerzenia i nadaj mu nazwę "ssh" (bez cudzysłowów).

Konfigurowanie adresu IP

Podłącz kartę micro-SD do Raspberry Pi, włącz je, a następnie włącz obsługę sieci

Zaloguj się na stronie administratora routera z komputera i przeskanuj listę klientów DHCP, aż znajdziesz "raspberry pi". Alternatywnie można pobrać skaner Angry IP i użyć go do znalezienia Raspberry Pi. Po znalezieniu nazwy hosta należy zanotować adres IP i adres Mac.

Użyj adresu Mac Raspberry Pi, aby skonfigurować statyczny adres IP na routerze. Stały adres powinien być unikalny i nieużywany przez żadne inne urządzenie w sieci. Proces ten będzie się różnił w zależności od routera. Jednak zalogowanie się na stronie administratora routera wymaga odpowiedniego skonfigurowania ustawień. Możesz zapoznać się z instrukcją obsługi routera lub wyszukać w Internecie informacje na ten temat, używając nazwy i numeru modelu routera.

Odłącz i podłącz ponownie Raspberry Pi. Zresetowanie go pozwoli mu pobrać świeżo przydzielony statyczny adres IP.

Używanie protokołu Secure Shell (SSH) do instalacji oprogramowania Pi-Hole

Pobierz program PuTTY. Jest to klient SSH, który pomoże nam skonfigurować Pi-Hole.

Skonfiguruj nowy adres statyczny Raspberry na ekranie PuTTY, a następnie kliknij przycisk Otwórz.

Putty poprosi Cię o zalogowanie się jako użytkownik. Wprowadź "pi" (bez cudzysłowu).

Następnie wpisz "raspberry" jako hasło. Hasło to można zmienić później za pomocą polecenia passwd po zalogowaniu się przez Raspberry Pi. 

Zanim przejdziemy do kolejnych kroków, musimy zaktualizować Raspberry Pi. Na ekranie terminala PuTTY wpisz polecenie sudo apt update i naciśnij enter. Zostanie pobrana lista pakietów, które można zaktualizować.

Następnie należy uruchomić polecenie sudo apt upgrade -y, aby zaktualizować wszystkie dostępne pakiety.

Wprowadź następujące polecenie do ekranu terminala PuTTY: 

curl -SSL https://install.pi-hole.net | bash

Spowoduje to zainstalowanie i skonfigurowanie Pi-hole. Więcej informacji na temat tego polecenia można znaleźć na 

oficjalnej stronie GitHub

. Niemniej jednak otworzy ono automatyczny instalator Pi-Hole w trakcie działania. 

Konfigurowanie oprogramowania Pi-Hole

Po zakończeniu pracy instalatora zostanie wyświetlony ekran konfiguracji. Naciskaj klawisz Enter na klawiaturze, aż dotrzesz do strony z napisem "Choose an Interface" (Wybierz interfejs). Upewnij się, że w konfiguracji wybrano interfejs eth0 - jeśli nie korzystasz z sieci Wi-Fi (co odradzamy), możesz użyć interfejsu "wlan0". Następnie wpisz swojego dostawcę DNS. 

Większość użytkowników wybiera Google DNS, który powinien być ustawiony jako domyślny. Alternatywnie można skorzystać z OpenDNS lub innego wybranego dostawcy. Naciśnij klawisz Enter, aby przejść do następnego ekranu.

Na kolejnym ekranie należy wybrać lub zmienić dostępne listy blokad. Sugerujemy pozostawienie tego ekranu bez zmian, chyba że wiesz, co robisz. 

Następnie zostanie wyświetlone pytanie o protokoły IP, które mają być używane do blokowania reklam. Ponownie sugerujemy pozostawienie tego ekranu bez zmian, chyba że wiesz, co robisz. Naciśnij klawisz Enter, aby przejść do następnej strony. 

Kreator konfiguracji wyświetli listę wszystkich dostępnych adresów IP. Lista ta powinna zawierać adres IP Raspberry Pi, a także adres routera. Zasadniczo na tym ekranie można ustawić statyczny adres Raspberry Pi. Ponieważ jednak zakończyliśmy to wcześniej, można pozostawić ten ekran nietknięty i przejść do następnej strony, naciskając klawisz Enter.

*Uwaga: jeśli na ekranie zostaną wyświetlone błędy związane z konfliktem adresów IP, należy je zignorować i przejść do następnego ekranu. 

Następny ekran zawiera dane konfiguracyjne związane z serwerami WWW, interfejsami i trybami rejestrowania. Jeśli nie jesteś zaznajomiony z tymi ustawieniami, sugerujemy pozostawienie ustawień domyślnych i naciśnięcie klawisza na klawiaturze. 

Zakończenie konfiguracji

Na koniec konfiguracja Pi-Hole wykorzysta ustawienia z poprzednich ekranów do skonfigurowania oprogramowania i urządzenia. Cały ten proces może potrwać kilka minut. Po jego zakończeniu zostanie jednak wyświetlona strona z napisem "Instalacja zakończona!". Na tym ekranie jest podany adres IP i hasło do interfejsu WWW Pi-Hole. Radzimy zanotować te informacje.

Uruchom przeglądarkę internetową na swoim komputerze (lub Raspberry Pi) i wpisz adres IP Pi-Hole. Po załadowaniu się strony internetowej pojawi się prośba o podanie hasła. Wprowadź hasło. Jeśli te kroki zostały wykonane poprawnie, w sieci powinien już działać Pi-Hole.

Można skonfigurować Pi-Hole na zasadzie "urządzenie do urządzenia" lub rozproszyć się po całej sieci za pomocą routera. Każde urządzenie będzie wymagało zmiany ustawień DNS i skierowania ich na Pi-Hole. 

Urządzenie będzie wymagało podania adresu IP lub MAC i ewentualnie hasła. Sugerujemy, abyś poszukał w Internecie instrukcji dotyczących konkretnego urządzenia. Podobnie, jeśli chcesz skonfigurować Pi-Hole tak, aby zapewniał ochronę całej sieci, musisz skonfigurować serwer DNS routera, używając adresu IP Pi-Hole. Sugerujemy skorzystanie z wyszukiwarki i wpisanie w pole wyszukiwania następującej treści: "How to set DNS for" + [nazwa i numer modelu Twojego routera], czyli, 

Jak ustawić DNS dla Netgear Nighthawk AX8 (RAX80). 

Podobnie jak w przypadku większości blokerów reklam, Pi-Hole może wykrywać fałszywe pozytywy i blokować przydatne elementy i witryny. Poniżej znajduje się lista poleceń dla domen, które należy umieścić na liście bezpiecznych stron dla Pi-Hole. 

Podsumowanie

Reklamy mogą być natrętne i irytujące. Jednak technologia stała się nieodłącznym elementem naszego codziennego życia. Zjawisko to możemy zawdzięczać internetowi rzeczy (IoT) i inteligentnym urządzeniom, takim jak czujniki. Dlatego korzystając z nowoczesnych technologii, musimy zapewnić sobie odpowiednią ochronę. Jak wynika z powyższego poradnika, jednym z najlepszych sposobów na osiągnięcie tego celu jest użycie Pi-Hole. Ważne jest jednak także zachowanie odpowiedniej higieny internetowej i technologicznej. Upewnij się, że używasz technologii z najlepszymi komponentami.