
Bedrijven over de hele wereld verkopen VPN-services om uw online activiteiten te beveiligen, maar kunt u een VPN-provider echt vertrouwen? Als je wilt, kun je je eigen virtuele privénetwerk creëren met de open-source Algo-software en de cloudhostingprovider van je keuze.
VPN’s en vertrouwen
Ongeacht wat het privacybeleid zegt of opschept over beveiligingsaudits op een bedrijfsblog, niets houdt een VPN tegen om alles wat je online doet te controleren. Uiteindelijk komt het kiezen van een VPN-service allemaal neer op vertrouwen.
Als het niet jouw ding is om anonieme online services te vertrouwen, is een alternatief om je eigen VPN-server te runnen. Vroeger was dit een hele klus, maar dankzij het open-sourceproject Algo van beveiligingsbedrijf Trail of Bits is het maken van je eigen VPN nu eenvoudig.
Voor $ 5 per maand kun je je eigen fulltime VPN-server runnen en beheren. Sterker nog, je kunt Algo gebruiken om VPN-servers op te zetten en af te breken wanneer je ze nodig hebt, en zo geld te besparen.
Om Algo in te stellen, moet u de opdrachtregel gebruiken. Als dat onaangenaam is, hoeft u zich geen zorgen te maken – we zullen u bij elke stap begeleiden.
Deze instructies lijken misschien veel, maar dat is alleen omdat we zoveel mogelijk uitleggen. Als je eenmaal een VPN met Algo hebt gemaakt, duurt het helemaal niet lang. Bovendien hoeft u de installatieomgeving van Algo maar één keer in te stellen. Daarna kunt u met een paar toetsaanslagen een nieuwe VPN-server maken.
Maar kun je erop vertrouwen dat de scripts van Algo niets ongewenst doen? Het goede nieuws is dat de code van Algo openbaar is op GitHub, zodat iedereen deze kan bekijken. Bovendien zijn veel beveiligingsexperts geïnteresseerd in het Algo-project, waardoor misdaden minder waarschijnlijk zijn.
VERWANT: Wat is een VPN en waarom heb ik er een nodig?
Wat Algo wel en niet kan
Een VPN is een goede manier om uw online activiteiten te beschermen, vooral op een openbaar Wi-Fi-netwerk in een luchthaven of koffiebar. Een VPN maakt surfen op het web veiliger en hindert kwaadwillende actoren die zich mogelijk op hetzelfde lokale Wi-Fi-netwerk bevinden. Een VPN kan ook helpen als uw internetprovider bepaalde soorten verkeer, zoals torrents, beperkt.
Maar pas op, piraten! Booty downloaden via je eigen VPN is geen goed idee, omdat de activiteit gemakkelijker naar jou kan worden herleid.
Als je Netflix via je VPN wilt bekijken, moet je ergens anders zoeken – Algo werkt er niet mee. Er zijn echter veel commerciële services die Netflix ondersteunen.
Vereisten voor Algo
Om een Algo VPN-server aan de praat te krijgen, heb je een Unix Bash-shell nodig. Op een Mac- of Linux-systeem kunt u uw Terminal-programma gebruiken, maar op Windows moet u het subsysteem voor Linux activeren. Hier leest u hoe u de Linux Bash-shell op Windows 10 installeert en gebruikt.
Je hebt ook een account nodig bij een cloud-serverhostingprovider. Algo ondersteunt al het volgende:
- DigitalOcean
- Amazon Lightsail
- Amazon EC2
- Vultr
- Microsoft Azure
- Google Compute Engine
- Scaleway
- Hetzner Cloud
- Het kan ook worden geïnstalleerd op OpenStack- en CloudStack-instanties.
Als je nog nooit een van deze services hebt gebruikt, raden we DigitalOcean aan, omdat het erg gebruiksvriendelijk is. Het is ook de service die we in deze tutorial gebruiken. Het proces zal een beetje anders zijn als u een andere provider gebruikt.
Wanneer uw DigitalOcean-account klaar is voor gebruik, logt u in en selecteert u vanaf het primaire dashboard “API” in de linkerbalk onder het kopje “Account”.
Klik op de volgende pagina op ‘Nieuwe token genereren’. Een toegangstoken is een lange reeks letters en cijfers die toegang geeft tot accountbronnen zonder gebruikersnaam en wachtwoord. U moet het nieuwe token een naam geven. Over het algemeen is het een goed idee om het te noemen naar de toepassing die u gebruikt, zoals “algo” of “ian-algo” (als uw voornaam Ian is).

Nadat het nieuwe token is gegenereerd, kopieert en plakt u het in een tekstdocument op uw bureaublad. Je hebt het binnen een paar minuten nodig.
Uw omgeving instellen
Open op uw bureaublad een nieuw terminalvenster, typ cd (voor “change directory”, zoals mappen worden genoemd in de Unix-wereld), en druk op Enter. Dit zorgt ervoor dat u werkt vanuit de homedirectory van de terminal.
Bij dit schrijven vereist Algo Python 3.6 of hoger. Typ het volgende in uw terminalprogramma:
python3 --version
Als je een reactie krijgt zoals Python 3.6.9, je bent klaar om te gaan; zo niet, dan moet je Python 3 installeren.
Om Python 3 op Mac te installeren, kunt u de Homebrew-pakketbeheerder gebruiken. Als Homebrew klaar is voor gebruik, typ je de volgende opdracht in een Terminal-venster:
brew install python3
Als u Ubuntu Linux of WSL op Windows gebruikt, zouden ze standaard Python 3 moeten hebben. Als dit niet het geval is, zijn de installatiemethoden afhankelijk van uw versie van Linux. Zoek online naar “install Python 3 on [insert your version of Linux here]”Voor instructies.
Vervolgens moet je Python3’s Virtualenv installeren om een geïsoleerde Python-omgeving voor Algo te creëren. Typ het volgende in Bash op een Mac:
python3 -m pip install --upgrade virtualenv
Op Ubuntu Linux en WSL is de opdracht de volgende:
sudo apt install -y python3-virtualenv
Merk op dat we deze tutorial aanpassen voor Ubuntu en gerelateerde distributies, maar deze instructies zullen ook werken voor andere versies van Linux met enkele kleine wijzigingen. Als u bijvoorbeeld CentOS gebruikt, vervangt u de instructies met apt met dnf.
Vervolgens moeten we Algo downloaden met de wget opdracht. Macs hebben geen wget standaard geïnstalleerd, dus typ het volgende om het via Homebrew te krijgen:
brew install wget

Laten we nu de bestanden van Algo downloaden:
wget https://github.com/trailofbits/algo/archive/master.zip
Na wget klaar is, zal er een gecomprimeerd bestand met de naam “master.zip” in de homedirectory van uw terminal staan; laten we dat controleren met ls.
Als je “master.zip” ziet in de lijst met bestanden en mappen die verschijnt, ben je klaar om te gaan. Zo niet, probeer dan te rennen wget nog een keer.
Nu moeten we het bestand uitpakken, dus typen we het volgende:
unzip master.zip
Nadat dat is gebeurd, drukt u op ls nog een keer. U zou nu een nieuwe map in uw homedirectory moeten zien met de naam “algo-master”.
We zijn bijna klaar voor actie, maar eerst moeten we onze geïsoleerde omgeving opzetten en nog een paar afhankelijkheden installeren. Deze keer werken we in de map “algo-master”.
Typ het volgende om naar de map te gaan:
cd ~/algo-master
Zorg ervoor dat je er bent met dit commando:
pwd
Dit staat voor “print working directory”, en het zou u iets als moeten laten zien /home/Bob/algo-master of /Users/Bob/algo-master. Nu we op de juiste plek zijn, laten we alles gereed maken.
Kopieer en plak of typ de onderstaande opdracht op een enkele regel (druk niet op Enter tot het einde):
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

Dit veroorzaakt een heleboel actie in de Algo-directory om voor te bereiden om te worden uitgevoerd.
Vervolgens moet u uw gebruikers een naam geven voor de VPN. Als u ze nu niet allemaal een naam geeft, moet u ofwel de beveiligingssleutels vasthouden (wat minder veilig is) of later een nieuwe server starten.
Typ hoe dan ook het volgende in terminal:
nano config.cfg

Dit opent de gebruiksvriendelijke teksteditor voor de opdrachtregel, Nano. Het Algo-configuratiebestand bevat veel informatie, maar we zijn alleen geïnteresseerd in het gedeelte met de tekst ‘gebruikers’. Het enige dat u hoeft te doen, is de standaardgebruikersnamen verwijderen (telefoon, laptop, desktop) en een naam typen voor elk apparaat dat u op uw VPN wilt gebruiken.
Als ik bijvoorbeeld een VPN voor mezelf, Bill en Mary maak, kan het configuratiebestand er als volgt uitzien:
users:- Ian_PC- Bill_Mac- Mary_PC- Ian_Android- Bill_iPhone- Mary_iPhone
Zodra je iedereen een naam hebt gegeven, druk je op Ctrl + O om het bestand op te slaan, gevolgd door Ctrl + X om af te sluiten.
We zijn bijna klaar voor actie, maar eerst moeten Windows-mensen een kleine omweg maken. WSL stelt meestal niet de juiste gebruikersrechten in voor de Algo-map, wat Ansible verstoort (de tool waarop Algo vertrouwt om een server te implementeren).
Typ op WSL het volgende om terug te gaan naar uw homedirectory:
cd
Typ vervolgens het volgende:
chmod 755 -R ~/algo-master
Om terug te gaan naar de Algo-map, typ je:
cd ~/algo-master
Algo uitvoeren

En nu is het moment van de waarheid.
Van de algo-master map, typ het volgende in het terminalvenster:
./algo
De Algo-configuratie zou moeten beginnen. U weet dat het werkt als u wordt gevraagd welke cloudprovider u wilt gebruiken. In ons geval selecteren we het nummer (1) voor DigitalOcean.
Als Algo faalt, kan dat een aantal redenen zijn die we hier onmogelijk kunnen voorspellen. Als de fout zegt dat uw directory “configureerbaar voor wereldschrijven” is, volg dan de bovenstaande instructies om de rechten te wijzigen.
Als je een andere foutmelding krijgt, kijk dan op de pagina voor probleemoplossing in de Algo-projectrepository op GitHub. U kunt het foutbericht ook kopiëren en in Google plakken om ernaar te zoeken. Je zou een forumbericht moeten vinden dat kan helpen, omdat het onwaarschijnlijk is dat jij de eerste persoon bent die deze foutmelding ontvangt.
Vervolgens wordt u gevraagd om het toegangstoken dat u eerder uit uw DigitalOcean-account hebt gekopieerd. Kopieer en plak het in terminal. U zult niets zien omdat Bash geen tekens weergeeft voor invoer van wachtwoorden en beveiligingszinnen. Zolang je op plakken drukt en vervolgens op Enter drukt, zou het goed moeten zijn.
Als het niet lukt, heb je misschien gewoon de pasta verknoeid, wat iedereen in Bash doet. Typ gewoon het volgende om het opnieuw te proberen:
./algo
Als Algo rent, beantwoord dan de vragen die het stelt. Deze zijn allemaal vrij eenvoudig, zoals hoe u uw server een naam wilt geven (het is een goed idee om “algo” in de naam te gebruiken).
Vervolgens wordt u gevraagd of u “Connect on Demand” wilt inschakelen voor Mac- en iOS-apparaten. Als u geen van deze apparaten gebruikt, typt u N voor nee. Het zal ook vragen of u de PKI-sleutels wilt behouden om later meer gebruikers toe te voegen; Over het algemeen typ je hier ook N.
Dat is het! Algo heeft nu ongeveer 15 tot 30 minuten nodig om uw server in gebruik te nemen.
Algo gebruiken

Wanneer Algo de installatie heeft voltooid, keert de terminal terug naar een opdrachtregelprompt, wat betekent dat de VPN klaar is voor gebruik. Net als veel andere commerciële services, gebruikt Algo het WireGuard VPN-protocol, het meest opwindende nieuwe in de wereld van VPN’s. Dit komt omdat het een goede beveiliging biedt, hogere snelheden biedt en gemakkelijker is om mee te werken.
Als voorbeeld van wat u vervolgens moet doen, activeren we Algo op Windows. Om andere apparaten in te stellen, kun je de Algo-repository op GitHub raadplegen.
Eerst installeren we de generieke Windows-desktopclient vanaf de WireGuard-site. Vervolgens moeten we het programma ons configuratiebestand voor de pc invoeren. De configuratiebestanden zijn diep in de algo-master-map opgeslagen op: ~/algo-master/configs/[VPN server IP address]/wireguard/.
Er zijn twee soorten bestanden voor het configureren van VPN-clientapparaten: .CONF en .PNG. De laatste zijn QR-codes voor apparaten zoals telefoons, die QR-codes kunnen scannen. De .CONF (configuratie) bestanden zijn tekstbestanden voor de desktop WireGuard clients.
Op Mac en Ubuntu zou het niet moeilijk moeten zijn om het algo-master map buiten de opdrachtregel. Op Macs, algo-master staat in de thuismap; gebruik gewoon Finder> Ga> Home om er te komen. Op Ubuntu kun je Nautilus openen en het staat in de thuismap.
Op Windows staat WSL echter los van de rest van het besturingssysteem. Om deze reden is het gewoon gemakkelijker om de bestanden te kopiëren met de opdrachtregel.
Laten we aan de hand van ons vorige voorbeeld zeggen dat we het configuratiebestand “Mary-PC.conf” willen gebruiken op een Windows 10-pc. Het commando zou er ongeveer zo uitzien:
cp ~/algo-master/configs/[VPN server IP address]/wireguard/Mary-PC.conf /mnt/c/Users/[your Windows user account name]/Desktop/
Let op de ruimte tussen Mary-PC.conf en /mnt/; zo weet Bash waar het te kopiëren bestand zich bevindt en waar het naartoe gaat. Hoofdletters zijn ook belangrijk, dus zorg ervoor dat u hoofdletters typt waar dit is aangegeven.
Het is normaal dat Windows de C in de “C: ” -drive met een hoofdletter wilt schrijven, maar in Bash niet. Vergeet ook niet de bits tussen haakjes te vervangen door de feitelijke informatie voor uw pc.
Als uw gebruikersmap zich bijvoorbeeld op station “D: ” bevindt en niet op “C: “, vervangt u /mnt/c/ met /mnt/d/.
Zodra het bestand is gekopieerd, opent u de WireGuard voor Windows-client. Klik op “Tunnels importeren uit bestand” en selecteer vervolgens uw configuratiebestand op het bureaublad. Klik daarna op ‘Activeren’.
Binnen enkele seconden ben je verbonden met je eigen VPN!