Firmy na całym świecie oferują usługi VPN, które mają na celu ochronę Twojej aktywności w sieci. Jednak czy naprawdę możesz zaufać swojemu dostawcy VPN? Jeśli chcesz, istnieje możliwość stworzenia własnej wirtualnej sieci prywatnej przy użyciu oprogramowania open source, takiego jak Algo, oraz wybranego dostawcy usług chmurowych.
Zaufanie w kontekście VPN
Niezależnie od zapewnień zawartych w polityce prywatności lub artykułach na blogach dotyczących audytów bezpieczeństwa, istnieje ryzyko, że VPN może monitorować Twoje działania w internecie. Ostatecznie decyzja o wyborze usługi VPN sprowadza się do zaufania.
Jeśli nie czujesz się komfortowo korzystając z anonimowych usług online, alternatywą może być uruchomienie własnego serwera VPN. Choć wcześniej wymagało to zaawansowanej wiedzy technicznej, dzięki projektowi Algo od firmy Trail of Bits, proces ten stał się znacznie prostszy.
Za zaledwie 5 USD miesięcznie możesz mieć pełną kontrolę nad swoim własnym serwerem VPN. Dodatkowo, Algo pozwala na łatwe konfigurowanie i usuwanie serwerów VPN w razie potrzeby, co pozwala zaoszczędzić pieniądze.
Aby skonfigurować Algo, musisz korzystać z wiersza poleceń. Jeśli to Cię zniechęca, nie martw się – przeprowadzimy Cię przez każdy krok.
Choć instrukcje mogą wydawać się rozbudowane, wynika to z chęci szczegółowego wyjaśnienia procesu. Po kilku próbach konfiguracji VPN z Algo powinno to zająć znacznie mniej czasu. Warto również zaznaczyć, że środowisko instalacyjne Algo należy skonfigurować jedynie raz; później możesz tworzyć nowe serwery VPN za pomocą kilku kliknięć.
Jednak czy możesz ufać skryptom Algo? Dobrą wiadomością jest to, że kod Algo jest dostępny publicznie na GitHubie, co umożliwia każdemu jego przeglądanie. Dodatkowo, projekt Algo cieszy się zainteresowaniem wielu ekspertów ds. bezpieczeństwa, co zmniejsza ryzyko potencjalnych oszustw.
Czego można oczekiwać od Algo
VPN stanowi doskonały sposób na zabezpieczenie Twojej aktywności online, szczególnie w publicznych sieciach Wi-Fi, jak te w lotniskach czy kawiarniach. Użycie VPN zwiększa bezpieczeństwo przeglądania i utrudnia złośliwym podmiotom atakowanie użytkowników korzystających z tej samej lokalnej sieci Wi-Fi. VPN może również być pomocny, gdy Twój dostawca internetowy ogranicza pewne rodzaje ruchu, takie jak torrenty.
Jednak uważaj na piractwo! Korzystanie z własnej sieci VPN do pobierania nielegalnych treści nie jest najlepszym pomysłem, ponieważ Twoja aktywność może być łatwiej śledzona.
Również, jeśli planujesz oglądać Netflix przez VPN, będziesz musiał poszukać innego rozwiązania, ponieważ Algo nie jest w stanie tego obsłużyć. Istnieje jednak wiele komercyjnych usług, które to umożliwiają.
Wymagania wstępne dla Algo
Aby uruchomić serwer Algo VPN, potrzebujesz powłoki Unix Bash. W systemach Mac lub Linux możesz użyć Terminala, natomiast w systemie Windows musisz aktywować podsystem dla systemu Linux. Oto jak zainstalować i skonfigurować powłokę Linux Bash w systemie Windows 10.
Potrzebujesz również konta u dostawcy hostingu w chmurze. Algo wspiera wiele z nich:
DigitalOcean
Amazon Lightsail
Amazon EC2
Vultr
Microsoft Azure
Google Compute Engine
Scaleway
Chmura Hetznera
Instaluje się również w instancjach OpenStack i CloudStack.
Jeśli nie korzystałeś wcześniej z żadnej z tych usług, polecamy DigitalOcean, ponieważ jest bardzo przyjazny dla użytkowników. To również usługa, którą wykorzystamy w tym przewodniku, więc proces może się różnić, jeśli wybierzesz innego dostawcę.
Gdy Twoje konto DigitalOcean będzie gotowe do użycia, zaloguj się, a następnie z głównego pulpitu wybierz opcję „API” z menu po lewej stronie pod nagłówkiem „Konto”.
Na kolejnej stronie kliknij „Wygeneruj nowy token”. Token dostępu to długi ciąg liter i cyfr, który umożliwia dostęp do zasobów konta bez podawania nazwy użytkownika i hasła. Należy nadać nowemu tokenowi nazwę – dobrym pomysłem jest nadanie mu nazwy związanej z używaną aplikacją, np. „algo” lub „ian-algo” (jeśli masz na imię Ian).
Po wygenerowaniu nowego tokena skopiuj go i wklej do dokumentu tekstowego na pulpicie, ponieważ będzie potrzebny w dalszym procesie.
Konfiguracja środowiska
Wróć na pulpit, otwórz nowe okno terminala, wpisz cd (co oznacza „zmień katalog”) i naciśnij Enter, aby upewnić się, że pracujesz z katalogu domowego terminala.
Algo wymaga Pythona 3.6 lub nowszego. Wpisz polecenie w terminalu:
python3 --version
Jeśli otrzymasz odpowiedź, np. Python 3.6.9, możesz kontynuować; w przeciwnym razie będziesz musiał zainstalować Pythona 3.
Aby zainstalować Pythona 3 na Macu, użyj menedżera pakietów Homebrew. Po jego zainstalowaniu wpisz w terminalu:
brew install python3
Dla systemu Ubuntu Linux lub WSL w Windows powinny one domyślnie posiadać Pythona 3. Jeśli nie, metody instalacji mogą się różnić w zależności od wersji systemu Linux. Wyszukaj w Internecie „jak zainstalować Pythona 3 na [twoja wersja Linuxa]”, aby uzyskać instrukcje.
Następnie musisz zainstalować Virtualenv Python3, aby stworzyć izolowane środowisko dla Algo. Wpisz w Bash na Macu:
python3 -m pip install --upgrade virtualenv
W systemie Ubuntu Linux i WSL polecenie będzie wyglądać tak:
sudo apt install -y python3-virtualenv
Pamiętaj, że dostosowujemy ten przewodnik do Ubuntu i pokrewnych dystrybucji, ale te instrukcje będą również działać dla innych wersji Linuxa z drobnymi modyfikacjami. Na przykład, używając CentOS, zastąp polecenia apt poleceniem dnf.
Następnie pobierz Algo za pomocą wget. Komputery Mac nie mają domyślnie zainstalowanego wget, więc aby go zainstalować przez Homebrew, wpisz:
brew install wget
Narzędzie wget pobierające pliki instalacyjne Algo.
Teraz pobierz pliki Algo:
wget https://github.com/trailofbits/algo/archive/master.zip
Po zakończeniu pobierania w katalogu domowym terminala pojawi się plik „master.zip”; sprawdź to, wpisując polecenie ls.
Jeśli na liście plików zobaczysz „master.zip”, to możesz kontynuować. Jeśli nie, spróbuj ponownie uruchomić wget.
Teraz musimy rozpakować plik, więc użyj polecenia:
unzip master.zip
Po rozpakowaniu, ponownie wpisz ls. Powinieneś zobaczyć nowy folder o nazwie „algo-master”.
Jesteśmy prawie gotowi do działania, ale najpierw skonfigurujmy nasze izolowane środowisko i zainstalujmy kilka dodatkowych zależności. Teraz pracujemy w folderze „algo-master”.
Wpisz poniższe polecenie, aby przejść do folderu:
cd ~/algo-master
Upewnij się, że jesteś w tym folderze, używając polecenia:
pwd
Polecenie to oznacza „drukuj katalog roboczy” i powinno pokazywać coś takiego jak /home/Bob/algo-master lub /Users/Bob/algo-master. Teraz, gdy jesteśmy w odpowiednim miejscu, przygotujmy wszystko.
Możesz skopiować i wkleić lub wpisać poniższe polecenie w pojedynczej linii (nie naciskaj Enter do końca):
python3 -m virtualenv --python="$(command -v python3)" .env && source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt
To wyzwala wiele działań w katalogu Algo, aby przygotować się do uruchomienia.
Następnie musisz nazwać użytkowników swojego VPN. Jeśli nie zrobisz tego teraz, będziesz musiał zarządzać kluczami bezpieczeństwa, co jest mniej bezpieczne, lub później uruchomić nowy serwer od zera.
nano config.cfg
To otworzy przyjazny dla użytkownika edytor tekstu w terminalu, Nano. W pliku konfiguracyjnym Algo znajdziesz wiele informacji, ale interesuje nas jedynie sekcja dotycząca „użytkowników”. Musisz usunąć domyślne nazwy użytkowników (telefon, laptop, komputer stacjonarny) i wpisać nazwę każdego urządzenia, które chcesz dodać do swojej sieci VPN.
Na przykład, jeśli tworzę VPN dla siebie, Billa i Mary, plik konfiguracyjny mógłby wyglądać tak:
users: - Ian_PC - Bill_Mac - Mary_PC - Ian_Android - Bill_iPhone - Mary_iPhone
Po nadaniu nazw wszystkim urządzeniom, naciśnij Ctrl + O, aby zapisać plik, a następnie Ctrl + X, aby wyjść z edytora.
Jesteśmy prawie gotowi do działania, ale użytkownicy systemu Windows muszą wykonać kilka dodatkowych kroków. WSL często nie ustawia odpowiednich uprawnień dla folderu Algo, co może zakłócać działanie Ansible (narzędzia wykorzystywanego przez Algo do wdrażania serwera).
W wierszu poleceń WSL wpisz następujące polecenie, aby wrócić do katalogu domowego:
cd
Następnie wpisz:
chmod 755 -R ~/algo-master
Aby wrócić do folderu Algo, wpisz:
cd ~/algo-master
Uruchamianie Algo
Teraz nadchodzi moment prawdy.
W folderze algo-master wpisz w terminalu:
./algo
Konfiguracja Algo powinna rozpocząć działanie. Dowiesz się, że działa, gdy zostaniesz zapytany, którego dostawcę chmury chcesz użyć. W naszym przypadku wybieramy numer (1) dla DigitalOcean.
Jeśli Algo napotka błąd, może być wiele przyczyn, których nie jesteśmy w stanie przewidzieć. Jeśli komunikat o błędzie mówi, że Twój katalog jest „konfigurowany do zapisu na świecie”, zastosuj wcześniej opisane instrukcje dotyczące zmiany uprawnień.
Jeśli wystąpi inny błąd, sprawdź stronę rozwiązywania problemów projektu Algo na GitHubie. Możesz również skopiować komunikat o błędzie i wkleić go do Google, aby znaleźć pomoc. Z pewnością znajdziesz wpis na forum, który rozwiąże Twój problem, ponieważ niewiele osób jest pierwszymi, które napotkały dany błąd.
Następnie zostaniesz poproszony o token dostępu, który skopiowałeś wcześniej z konta DigitalOcean. Wklej go do terminala. Nic się nie wyświetli, ponieważ Bash nie pokazuje znaków dla haseł i tokenów bezpieczeństwa. Tak długo, jak naciśniesz wklej, a potem Enter, wszystko powinno być w porządku.
Jeśli coś pójdzie nie tak, po prostu spróbuj ponownie, co zdarza się każdemu w Bash. Wpisz ponownie:
./algo
Gdy Algo jest uruchomione, odpowiedz na zadawane pytania. Cały proces jest stosunkowo prosty, w tym, co chcesz nazwać swoim serwerem (użycie „algo” w nazwie jest dobrym pomysłem).
Następnie zapyta, czy chcesz włączyć „Connect on Demand” dla urządzeń Mac i iOS. Jeśli nie korzystasz z żadnego z tych urządzeń, wpisz N jako odpowiedź negatywną. Zostaniesz również zapytany, czy chcesz zachować klucze PKI, aby dodać więcej użytkowników później; zazwyczaj w tym miejscu również wpiszesz N.
I to wszystko! Algo zajmie teraz od 15 do 30 minut, aby uruchomić Twój serwer.
Jak korzystać z Algo
Po zakończeniu konfiguracji przez Algo, terminal powróci do wiersza poleceń, co oznacza, że VPN jest gotowy do użytku. Algo, podobnie jak wiele komercyjnych usług, wykorzystuje protokół WireGuard VPN, który jest obecnie jedną z najpopularniejszych technologii w tej dziedzinie, ponieważ zapewnia doskonałe bezpieczeństwo, większe prędkości i łatwość w obsłudze.
Aby kontynuować, aktywujemy Algo na systemie Windows. Aby skonfigurować inne urządzenia, zapoznaj się z repozytorium Algo na GitHubie.
Najpierw zainstaluj ogólny klient WireGuard dla systemu Windows z strony WireGuard. Następnie musisz przesłać plik konfiguracyjny na komputer. Pliki konfiguracyjne znajdują się w folderze algo-master pod adresem: ~ / algo-master / configs /[adres IP serwera VPN]/ wireguard /.
Istnieją dwa typy plików do konfiguracji klientów VPN: .CONF i .PNG. Pliki .PNG to kody QR dla urządzeń mobilnych, które mogą je skanować, podczas gdy pliki .CONF (konfiguracyjne) to pliki tekstowe dla klientów WireGuard na komputery stacjonarne.
Dla komputerów Mac i Ubuntu łatwo jest znaleźć folder algo-master poza wierszem poleceń. Na Macach algo-master znajduje się w folderze głównym; wystarczy otworzyć Findera i wybrać „Idź” > „Strona główna”. W Ubuntu można otworzyć Nautilusa i będzie on w folderze domowym.
Jednak w systemie Windows WSL jest niezależny od reszty systemu operacyjnego, dlatego łatwiej jest skopiować pliki za pomocą wiersza poleceń.
Przykładowo, jeśli chcemy, aby plik konfiguracyjny „Mary-PC.conf” był używany na komputerze z systemem Windows 10, polecenie będzie wyglądać następująco:
cp ~/algo-master/configs/[adres IP serwera VPN]/wireguard/Mary-PC.conf /mnt/c/Users/[nazwa konta użytkownika Windows]/Desktop/
Zwróć uwagę na spację między Mary-PC.conf a /mnt/; dzięki temu Bash wie, gdzie znajduje się plik do skopiowania i gdzie ma być umieszczony. Wielkość liter ma znaczenie, więc upewnij się, że wpisujesz wszystko poprawnie.
W systemie Windows należy pamiętać, że „C” na dysku „C:” w Bash jest zapisywane jako mała litera; nie zapomnij również dostosować ścieżki do rzeczywistych informacji o komputerze.
Na przykład, jeśli folder użytkownika znajduje się na dysku „D:”, zmień /mnt/c/ na /mnt/d/.
Po skopiowaniu pliku otwórz klienta WireGuard dla Windows. Kliknij „Importuj tunele z pliku”, a następnie wybierz plik konfiguracyjny z pulpitu. Po zakończeniu kliknij „Aktywuj”.
W ciągu kilku sekund połączysz się z własną siecią VPN!