Blokować zawartość dostępną w Internecie da się na wiele sposobów. Jedne metody są mniej, a inne bardziej skuteczne. Problem pojawia się wtedy, gdy domeny są blokowane na samym szczycie internetowej hierarchii. W każdej chwili może to zrobić jeden z gigantów technologicznych, którzy mają monopol na usługi Internetowe, zarządzanie domenami i serwerami DNS. Nie chodzi tu o techniczne utrudnienia (niekiedy można je łatwo ominąć). Raczej o zwyczajne ograniczanie dostępu do Internetu, które jest sprzeczne z samą ideą globalnej sieci jako publicznego dobra wspólnego.
W ostatnich dniach Facebook i Twitter zablokują na całego oficjalne konto prezydenta USA, jakoby stanowiło zagrożenie (w sensie nawoływania do protestów). Oba serwisy to społecznościowe giganty i stanowią prywatny majątek konkretnych osób lub inwestorów, dobrze znanych każdemu. Z jednej strony mają oni prawo do zarządzania treściami publikowanymi na ich portalach. Z drugiej jednak pojawia się następujące pytanie: Jakie inne portale mają takie zasięgi? Ludzie co prawda używają Instagrama (teraz i tak należy do Facebooka), Snapchata, Reddita, Flickra czy LinkedIn, ale portale te służą do serwowania innych treści. Nikt rozsądny nie udostępnia zdjęć z wakacji na LinkedIn, bo to profesjonalne narzędzie dla pracowników i rekruterów. Nikt też nie nagra serii 10-sekundowych filmów z ważnym przemówieniem za pośrednictwem Snapchata, bo tutaj z kolei często dominują zdjęcia kotów, potraw czy po prostu selfie.
Cenzura treści – wady i zalety
W związku z tym, że nie ma obecnie bezpośredniego konkurenta Facebooka i Twittera, ich administratorzy nie powinni ograniczać widoczności postów i ich usuwać. Jestem w stanie zrozumieć blokowanie brutalnych treści, bo takich nie brakuje, ale portale te powinny być miejscem do wyrażania wielu opinii wszystkich stron.
Współcześnie, portale społecznościowe, to prawie infrastruktura krytyczna, która musi być zapewniona na żądanie. Tutaj przyda się konkurencja i „rozdrobnienie” gigantów jak Microsoft czy Google.
Generalnie cenzura DNS ma swoje zalety i korzyści. Cenzura to po prostu ograniczanie pewnych treści. Jeśli operator DNS zablokuje szkodliwe domeny (malware, phishing), nastąpi dopuszczalna sytuacja. Podobnie sprawa wygląda z blokowaniem kategorii czy konkretnych domen wskazanych przez klienta końcowego (OpenDNS / Pi-hole). Porównanie kilku dostawców DNS znajduje się tutaj.
Natomiast problematyczne z dwóch powodów jest blokowanie domen ze względów czysto ideologicznych. Pierwszy problem opisałem powyżej, drugi to kwestia niedoświadczonych użytkowników Internetu. Dla niektórych blokada po stronie dostawcy Internetu, który często używa własnych serwerów DNS, jest po prostu zakazaniem odwiedzenia danej domeny. Istnieje wiele prostych i nieco trudniejszych sposobów, aby „ominąć” filtrowanie na poziomie DNS.
Adres IP zamiast FQDN
Proste sposoby na obejście blokowania poprzez DNS to po prostu wpisanie adresu IP serwera zamiast powiązanej z nim domeny (FQDN, Fully Qualified Domain Name). Czyli w miejsce domeny w pasku adresu podajemy adres IP. Jeśli mamy połączenie z Internetem ta metoda zawsze zadziała. Jak uzyskać adres IP? Najprościej w Wierszu Polecenia czy terminalu wpisać PING [domena]. Adres IP będzie pokazany kilka razy:
Istnieje jednak wada polegającą na pewnym zabezpieczeniu. Otóż wiele usług korzysta z Cloudflare, które domyślnie nie pozwoli na dostęp jedynie za pośrednictwem IP (waliduje nagłówek Host żądania HTTP). Wyświetla się wtedy błąd 1003:
Dopóki w panelu Cloudflare właściciel nie zmieni ustawienia, nie będzie możliwości dostępu. Na szczęście nie musimy wpisywać adresów IP i potem zmieniać dla każdej z podstron (tylko nieliczni używają ścieżek względnych w linkowaniu: /kategoria/testy to nie to samo co domena.com/kategoria/testy).
Jaki serwer VPN?
Wystarczy użyć usługi VPN, która jednocześnie zapewni bezpieczeństwo (szyfrowany tunel) i prywatność (zewnętrzne usługi „zobaczą” adres serwera VPN, a nie nasz adres IP). Przykładem bezpłatnego i sprawdzonego VPN jest ProtonVPN. Instalacja na każdym urządzeniu jest prosta, a do połączenia wystarczy naciśnięcie jednego przycisku. Większość dostawców VPN oferuje podobną wygodę, różnice występują raczej w maksymalnej przepustowości czy większemu wyborowi serwerów.
VPN często jest używany do obejścia ograniczeń w serwisach streamingowych, które np. udostępniają film tylko dla konkretnego państwa czy też jako metoda oszczędzania pieniędzy (niektóre międzynarodowe korporacje handlowe oferują ten sam produkt taniej w innym państwie). VPN jest również używany przez przestępców, którzy skutecznie ukrywają dzięki niemu swoją tożsamość.
ProtonVPN pobierzemy stąd. Instalacja na Windows to standardowe klikanie „Dalej”, aż do momentu, gdy zostaniemy poproszeni o zalogowanie. W przypadku Linuxa łączymy się za pomocą klienta OpenVPN. Potem należy pobrać gotowe pliki konfiguracyjne ze strony dostawcy. Dzięki temu sam proces został mocno uproszczony (zalecam użycie Opcji B, bo nie każdy korzysta z GUI Ubuntu).
Po tym procesie wszystko jest gotowe do połączenia.
Wybieramy „Szybkie połączenie” i łączymy się z optymalnym serwerem lub samodzielnie wybieramy lokalizację z listy albo mapy.
Potwierdzeniem użycia innego adresu IP może być skorzystanie ze strony ipleak.net. Powinniśmy zobaczyć zmieniony adres oraz informacje, jakie wysłała nasza przeglądarka.
Zmiana domyślnego DNS
Kolejna łatwa we wdrożeniu metoda to zmiana DNS. Adresy serwerów można zmienić dla pojedynczego urządzenia lub dla całej sieci. Pierwszy sposób obejmie tylko jedno urządzenie, czyli w przypadku restrykcji „zakazana” domena będzie dostępna jedynie z tego konkretnego urządzenia. Wyjątkiem jest sytuacja, kiedy to urządzenie jest punktem dostępu dla innego urządzenia, ale w domowych sieciach raczej się z tym nie spotkamy.
W systemie Windows zmiany dokonamy, wchodząc kolejno w Panel sterowania -> Sieć i Internet -> Centrum sieci i udostępniania -> Zmień ustawienia karty sieciowej (z menu po lewej stronie okna). Wyświetlone zostaną aktualne połączenia (również Bluetooth) i karty sieciowe (również wirtualne np. VirtualBox Host-Only Network). Klikamy dwa razy na wybranym połączeniu i w nowym oknie klikamy Właściwości. Teraz tylko dwa razy klikamy na Protokół internetowy w wersji 4 (TCP/IPv4) i uzupełniamy jak na poniższym zrzucie (oczywiście adres serwera zależy od nas):
Ustawiłem preferowany serwer na Cloudflare, a alternatywny na Google DNS. Często nazywa się je odpowiednio primary i secondary DNS. W przypadku niedostępności pierwszego system automatycznie przełączy żądania na drugi podany serwer.
W systemie Linux z zainstalowanym środowiskiem graficznym można to zrobić na wiele sposobów, dlatego trudno wskazać uniwersalną metodę. Ale najszybciej dokonamy tego, modyfikując plik /etc/resolv.conf i dopisując w nim
nameserver 1.1.1.1
nameserver 8.8.8.8
Warto zrobić to poprzez dowolny edytor w terminalu, ponieważ każda modyfikacja w /etc wymaga użycia konta root. Zmiany powinny być widoczne dość szybko, ponowne uruchomienie może przyspieszyć ten proces.
Mimo wszystko najlepiej zmiany serwerów DNS dokonać w routerze, bo w ten sposób jedna zmiana wystarczy dla całej sieci. Tutaj naprawdę nie ma uniwersalnej metody, bo różni producenci to różne sposoby. Polecam szukać w ustawieniach DHCP (Dynamic Host Configuration Protocol, odpowiada za automatyczne przekazywanie adresów IP i ustawień dla urządzeń podłączonych do sieci). W modelach TP-Link właśnie tam są pola za to odpowiedzialne:
W routerach kryje się wiele ustawień odpowiadających za wydajność i bezpieczeństwo sieci. Warto poznać wszystkie i pamiętać, że należy modyfikować tylko wtedy, gdy jesteśmy pewni. Routera na pewno nie zepsujemy, ale czasem łatwo zablokować sobie dostęp do Internetu czy panelu routera (zwłaszcza w MikroTik, gdzie można szczegółowo wszystkim zarządzać). Polecam zrobić kopię ustawień.
Sieć Tor
kolejna łatwa metoda to wykorzystanie sieci Tor. Wystarczy pobrać przeglądarkę Tor Browser (opartą na Firefoxie) i już możemy się cieszyć wolnym (czasem dosłownie) dostępem do Internetu i sieci Tor.
Z przepustowością obecnie naprawdę nie jest źle, ale nigdy nie uzyskamy wyników z „normalnej” sieci. Pakiety przechodzą przez kilka punktów z tej sieci, po czym trafiają do serwera, z którym zamierzamy się połączyć. Podobnie jak w przypadku VPN, serwer „widzi” jedynie adres z sieci Tor, ale połączenie nie jest dodatkowo szyfrowane (HTTPS oczywiście działa normalnie).
Nie wyszukamy nic za pomocą Google, bo wyszukiwarka uważa adresy Tor za niebezpieczne. Można skorzystać z alternatywy, jaką jest DuckDuckGo. Niektóre VPN (w tym ProtonVPN) oferują dodatkową integrację z Torem.
Zaczynamy na stronie torproject.org, z której pobieramy instalator dla naszej platformy (wersja polskojęzyczna tutaj). Instalacja jest bardzo szybka, ogranicza się do wyodrębnienia plików przeglądarki. Po uruchomieniu zobaczymy niewielkie okno z jasnymi poleceniami:
Jak wspomniałem, nasze połączenie przechodzi przez kilka innych hostów. Poprzez ten zabieg ruch jest anonimizowany.
Czyli w logach serwera avlab.pl zamiast naszego prawdziwego adresu IP zostanie zapisany adres 148.251.67.153. Możemy dodatkowo utwardzić ustawienia przeglądarki:
Sieć I2P (peer to peer)
I2P (The Invisible Internet Project) to w pełni szyfrowana „alternatywa” Internetu z poszanowaniem dla prywatności. Instalacja jest bardzo łatwa. Na Windows wygląda to tradycyjnie, na Linuxie prezentuję poniżej.
I2P wymaga zainstalowanej Javy. Wersja 11 LTS znajduje się tutaj, ale w przypadku Ubuntu można z powodzeniem skorzystać z repozytorium.
Instalacja Java w Ubuntu
Brak większej filozofii, wystarczy w terminalu wykonać sudo apt install default-jre default-jdk
Pobieramy odpowiedni plik ze strony geti2p.net/en/download i właściwie to wszystko. I2P jest w repozytoriach.
Ręczne zainstalowanie pliku
Można uruchomić z terminala (java i2pinstall*) lub za pomocą GUI, ale i tak należy nadać plikowi prawo do uruchomienia. Najszybciej zrobimy to z terminala, czyli wydajemy komendę chmod +x ip2install*.
Program jest w języku polskim (wybór języka zaraz po uruchomieniu), dzięki czemu jest dostępny dla szerszego grona.
Więc, aby I2P zaczął działać, wchodzimy do terminala, przechodzimy do katalogu i2p i wpisujemy ./i2prouter start.
Automatycznie uruchomi się domyślna przeglądarka, w której dokonamy prostej konfiguracji. I2P działa na porcie 7657. Możemy zgodzić się lub odmówić przeprowadzenia testu przepustowości. Staliśmy się częścią sieci I2P, więc nasze połączenie ma wpływ na całą sieć.
Musimy poczekać, aż całkowicie nasz host stanie się częścią sieci I2P. W tym czasie warto zapoznać się z informacjami udostępnionymi w konsoli.
Na początek zobaczmy, jakie usługi sieciowe możemy udostępnić. Nie wymaga to technicznej wiedzy, wystarczy nacisnąć Uruchom przy wybranej usłudze. Klikamy na adres w niebieskim kolorze i zapoznajemy się z instrukcją. Najważniejsza informacja jest w pierwszym paragrafie.
Skonfigurujmy jeszcze proxy, aby uzyskać dostęp do wewnętrznej sieci I2P. W Firefox otwieramy Ustawienia i na samym dole znajdują się ustawienia sieci, w tym serwera pośredniczącego.
Dzięki skonfigurowaniu proxy uzyskujemy dostęp do „wewnętrznej sieci” I2P.
Jak to często bywa, sieci P2P są używane do rozpowszechniania piractwa, ale nie tylko! Na przykład szybko znalazłem instalator systemu Windows 10. Na tym samym forum można znaleźć wiele innych danych, w tym dokumenty, które wyciekły (nawet mają osobną kategorię).
I2P wydaje się całkiem dobrym narzędziem na wypadek cenzury. Sieć jest tutaj mocno rozproszona, a ruch szyfrowany. W dodatku nie da się jej tak wyłączyć, jak może zrobić to Google i inni giganci technologiczni.
Freenet
To bardzo dobra alternatywa dla oficjalnego Internetu. Freenet stanowi osobną sieć P2P, nastawioną na bezpieczeństwo. Wyróżnia się oddzieleniem sieci i protokołów od komunikacji, przez co dostęp do zgromadzonych danych można uzyskać, korzystając z wielu niezależnych rozwiązań.
Ponownie niezbędne jest zainstalowanie oprogramowania Java. Instalację Freenet pokażę na przykładzie Ubuntu. Pakiety Jaby zainstalowane wcześniej (zobacz wyżej w tym poradniku) default-jre i default-jdk są gotowe do pracy, zatem pozostało nam uruchomienie Freenet.
Ze strony freenetproject.org/pages/download.html pobieramy instalator. Na Windows po prostu uruchamiamy plik, a na Linuxie musimy nadać uprawnienia do wykonywania. Czyli wydajemy polecenie chmod +x new* i uruchamiamy plik (poprzez GUI lub java new*).
Uruchomi się Firefox ze stroną konfiguracyjną. Możemy wybrać poziom bezpieczeństwa. Dla nas na potrzeby tego doświadczenia wystarczy tzw. low security.
Sieć Freenet korzysta z zasobów dyskowych swoich użytkowników, co oznacza, że musimy przeznaczyć pewną ilość miejsca na naszym dysku. Domyślna wartość jest jak najbardziej poprawna.
Wybieramy Enzo’s Index i widzimy bardzo dużą listę dostępnych w ramach sieci stron internetowych z podziałem na kategorie.
Co można znaleźć we Freenet? Przykładem niech będzie podręcznik Antify, czy relację z uprawy jednego z narkotyków.
Własny serwer DNS
Własny serwer DNS to bardzo skomplikowany temat. Wypada znać czym są rekordy DNS (A — adres IPv4, AAAA — adres IPv6, MX — serwer poczty itd.) i generalnie orientować się w temacie Linuxa. Przyda się też znajomość z dziedziny security.
Znanym rozwiązaniem jako serwer DNS jest BIND 9. W Internecie jest wiele tutoriali na temat konfiguracji serwera DNS, dlatego osobiście polecam ten. Serwer do hostowania DNS powinien znajdować się w państwie wolnym od cenzury i inwigilacji, czyli nie w jednym z tych.
Koszt własnego VPS nie jest duży. Uwagę trzeba zwrócić na dostępność własnego adresu IPv4 (IPv6 to dodatek). 1 GB RAM pewnie wystarczy, a minimalna pojemność dysku to 10 GB (niekoniecznie SSD).
Pi-hole
Konfigurację BIND 9 można sobie darować, używając Pi-hole. Domyślnie możliwe jest blokowanie za pomocą kilku list domen serwujących reklamy. Można też dodawać swoje reguły. Bez problemu uruchomimy również funkcjonalność DHCP (w sieci lokalnej). Działa natywnie jedynie na Linuxie (wykorzystuje pakiety bind9 i isc-dhcp-server). W przypadku Windows konieczny jest Docker Desktop.
Instalacja Pi-hole dla użytkownika ogranicza się do jednego polecenia:
curl -sSL https://install.pi-hole.net | bash
Po przejściu przez etap instalacji do panelu można się dostać z dowolnego urządzenia w sieci.
W Setting -> DHCP dokonujemy ustawień serwera DHCP. Nigdy nie wolno doprowadzić do sytuacji posiadania kilku serwerów DHCP w sieci, więc jeśli chcemy używać serwera z Pi-hole, koniecznie wyłączmy tę funkcjonalność w routerze.
W Blacklist wpisujemy domeny, które chcemy zablokować. Jeśli w Query log zauważymy coś nietypowego, szybko można dokonać blokady.
Własny serwer VPN
W dalszej kolejności proponuję konfigurację własnego serwera VPN. Parametry serwera mogą być takie same, jak w przypadku serwera DNS. Do wyboru są dwie możliwości:
- OpenVPN: starszy, dobrze opisany i popularny
- Wireguard: nowy, szybki i zdobywający popularność
Według mnie konfiguracja VPN (przynajmniej OpenVPN) jest łatwiejsza od DNS. Do połączenia tradycyjnie potrzebny jest klient VPN, oba rozwiązania zapewniają oprogramowanie na wszystkie platformy. Własny VPN jest używany w firmach do zapewnienia bezpiecznego dostępu do firmowej sieci (intranet) zdalnym pracownikom, chociaż jest wypierany przez gotowe rozwiązania z zaawansowanym uwierzytelnianiem typu Microsoft Teems.
Sieć ZeroNet
Inną propozycją jest wykorzystanie ZeroNet. Polega to na udostępnianiu przez użytkowników stron internetowych (także własnych wersji popularnych serwisów). Jak zostało napisane na stronie projektu, nie ma tutaj cenzury (użytkownicy pochodzą z różnych państw), brak jest kosztów utrzymania, a sieć jest cały czas dostępna (nie istnieje point of failure, czyli miejsce, którego awaria zatrzyma wszystko).
Strony są dostępne nawet w przypadku kompletnej blokady wielu domen na poziomie operatora. Identyfikacja odbywa się poprzez adresy bitcoin. Twórcy Zeronet pochodzą z Węgier.
Działanie zaprezentuję na przykładzie Ubuntu 18.04 (w Windows wystarczy pobrać, wypakować archiwum ZIP i uruchomić plik ZeroNet.exe, pozostałe czynności bez zmian).
W terminalu wydajemy polecenia:
wget https://github.com/HelloZeroNet/ZeroNet-linux/archive/dist-linux64/ZeroNet-py3-linux64.tar.gz
tar xvpfz ZeroNet-py3-linux64.tar.gz
cd ZeroNet*
./ZeroNet.sh
Automatycznie uruchomi się domyślna przeglądarka z powitalną stroną. Usługa działa na porcie 43110.
Po kliknięciu przycisku ZeroSites załadowane zostaną popularne w danej chwili strony przechowywane przez użytkowników z podziałem na kategorie. Listy odświeżają się automatycznie.
Z pewnością Zeronet nie jest to zamiennik Internetu, bo nie możemy wykorzystać całego potencjału sieci. Niemniej jednak ten projekt ma sens w udostępnianiu zablokowanych treści.
Obejrzałem kilka stron wyglądających na interesujące i tylko dwa razy zauważyłem jawne łamanie praw autorskich (nowe filmy do pobrania). Jeśli w przyszłości większość Internetu będzie ograniczona, to ZeroNet będzie stanowił dobre źródło informacji. Należy pamiętać, że nie wszystko, co opublikowano w Internecie, jest prawdziwe i bezpieczne. W ZeroNet na pewno można znaleźć fake newsy i złośliwe oprogramowanie.
Internet bez cenzury – wady i zalety opisanych rozwiązań
Nie każde rozwiązanie będzie idealne dla każdego. Wszystkie metody mają swoje wady, a wdrożenie niektórych rozwiązań będzie stanowić problem dla mniej technicznych osób. Z pewnością zmiana DNS i korzystanie z VPN będzie dobrym wyborem, ponieważ znacząco wpływa na poprawę bezpieczeństwa i prywatności. Tor jest dużo wolniejszy w porównaniu z VPN (jeśli chcemy jedynie maskować adres IP), ale umożliwia nam dostęp do domen .onion, gdzie mogą być umieszczane ocenzurowane informacje. IP2, Freenet czy ZeroNet również będą dobrym wyborem w celu dostępu do ocenzurowanych danych. Trzeba jednak pogodzić się na mniejszą przepustowość. Pi-hole przyda się w domu. Jednak z uwagi na to, że jest to serwer DNS, powinien być stale włączony. Z kolei własne serwery DNS czy VPN to niewielki, lecz dodatkowy koszt, poza tym ich konfiguracja wymaga nieco większej wiedzy.
Czy ten artykuł był pomocny?
Oceniono: 1 razy