Blog overzicht

Cybersecurity Month: bouw je eigen dichtgetimmerde VPN

Je zou kunnen zeggen dat we dankzij het thuiswerken er een paar slechte, maar ook een paar goeie gewoontes op na zijn gaan houden. Een van die goede gewoontes is wel het gebruiken van een VPN: was dit pakweg 5 jaar geleden nog voorbehouden aan mensen met wat handigheid op het internet, tegenwoordig is het gemeengoed. Grote partijen als NordVPN en Surfshark sponsoren zo’n beetje elke YouTuber die ook maar zijdelings te maken heeft met het internet en dankzij menig securityafdeling verbinden heel veel mensen nu standaard met hun werknetwerk via een VPN.

Eerder schreven we al over wat een VPN is en wat het kan. Kortgezegd zet je met een VPN een verbinding op tussen jouw VPN-client en een einddoel, waarbij het verkeer via een VPN-server gestuurd wordt. Zo kun je bijvoorbeeld geografische voordelen halen uit de locatie van je VPN-server en doen alsof je in een ander werelddeel zit om bepaalde websites of content te kunnen bekijken. Maar met een VPN log je ook in op een bedrijfsnetwerk dat normaal gesproken niet bereikbaar is van buitenaf en kun je je verkeer omleiden als je gebruikmaakt van een publiek wifinetwerk.

GitHub

Een van de nadelen van het gebruiken van een VPN-provider en hun netwerk (naast het feit dat je die provider op hun blauwe ogen moet geloven dat je data veilig is) is dat je vasthangt aan de servers en services waar zij hun verkeer over leiden. Om dit op te lossen kun je je eigen VPN bouwen op een VPS. Met wat slimme toevoegingen tover je hem bovendien snel om naar een blokkade van al het andere verkeer dan wat jij strikt noodzakelijk acht: een zelfgebouwd filter voor je internetverkeer, via je eigen VPN op je eigen VPS. En het gaat sneller en eenvoudiger dan je denkt.

Op GitHub zijn een hele hoop handige repositories te vinden die een combinatie bevatten van software waarmee je een VPN opzet en hem beveiligt en dichttimmert. We hebben één van deze repositories gebruikt om zelf te ervaren hoe snel en gemakkelijk je een eigen VPN kunt bouwen. En wat blijkt: met letterlijk niet meer dan 5 commando’s die je uitvoert op je server en wat snelle configuratiestappen om je Pi-hole in te stellen ben je al klaar! Wat zit er allemaal in deze repository, wat doet het precies en waarom zou je hem gebruiken?

Wireguard

Om te beginnen heb je een VPN nodig. In een eerder blogartikel over Wireguard legden we al eens uit hoe je zelf een VPN op je VPS kunt opzetten met behulp van het Wireguard-protocol. Tegenwoordig is dat zelfs nog makkelijker geworden: Wireguard is opgenomen in de Linuxkernel. Je Wireguard-installatie is het front waarmee je gebruiktmaakt van alle andere services in de repository.

Pi-hole

Pi-hole is een applicatie die op netwerkniveau advertenties en trackers blokkeert. Oorspronkelijk was het ontwikkeld om op een Raspberry Pi te installeren en deze in je thuisnetwerk te hangen, maar de software werkt tegenwoordig ook prima op Linuxmachines en daarmee dus je VPS. Via een webinterface kun je jouw Pi-hole naar smaak instellen en krijg je inzicht in het verkeer dat geblokkeerd wordt. Omdat het al op netwerkniveau geblokkeerd wordt, worden er ook geen netwerkrequests gemaakt die bandbreedte opsnoepen. Met behulp van blacklists die je kant-en-klaar kunt downloaden of helemaal zelf kunt opstellen stop je het overgrote deel van de ongewenste webcontent voordat het op je scherm verschijnt. En glipt er toch iets tussen de mazen door, dan voeg je het heel snel toe aan de lijst.  

DoH, DoT: DNS-beveiliging

DNS is als het telefoonboek van het internet: wanneer jij een website bezoekt, checkt je computer met een DNS-server welk IP-adres bij de URL hoort. Zo’n lookup kost wat meer tijd en moeite dan een simpele check, maar daar zijn we in een eerder artikel al eens uitgebreid op ingegaan. Wat voor dit artikel goed is om te weten, is dat het verkeer tussen een DNS-client en de DNS-server normaal gesproken onversleuteld verstuurd wordt. En dat kan een privacy-probleem zijn, of zelfs de ingang voor een man-in-the-middle-aanval:

Stel dat je op het publieke WiFI-netwerk van je lokale koffietent bent ingelogd met je laptop. Jouw DNS-verkeer is dan zichtbaar voor de internetprovider van die koffietent, omdat die ervoor moet zorgen dat jouw browser de juiste website vertoont. Maar als twee tafeltjes verderop iemand een Wifi-sniffer gebruikt om het internetverkeer op het publieke netwerk op te vangen, kan die jouw verzoek voor www.gmail.com opvangen en in plaats daarvan doorsturen naar een phishingwebsite, zonder dat je het doorhebt.

Als oplossing voor dit “last-mile probleem” zijn verschillende methoden gecreëerd, zoals DNS-over-HTTPS (of DoH) en DNS-over-TLS (of DoT). Natuurlijk is er ook nog DNSSEC, maar daar gaan we in een later artikel uitgebreider op in. DoH en DoT zijn bedoeld om het DNS-verkeer te beveiligen en worden door services standaard aangeboden, maar zijn niet zonder controverse. DoH, bijvoorbeeld, is door Mozilla standaard ingezet in de Verenigde Staten in hun Firefox-browser. Hiervoor gebruiken ze Cloudflare, wat bij veel privacy-instanties in het verkeerde keelgat is geschoten. Naast het feit dat er geen garantie is of, en hoeveel, data gelogd wordt door Cloudflare, is er redelijk veel kritiek op het bedrijf zelf.

Hoe je het ook wendt of keert, zonder het privatiseren van je DNS-requests blijft jouw uiteindelijke internetgebruik een zwak punt in de schakel. Daarom kun je ervoor kiezen om een lokaal gehoste DNS-resolver te gebruiken voor je VPN die wel DoH of DoT kan toepassen zonder het risico data te moeten overdragen aan een andere partij.

Unbound

Zo is er Unbound, een lokaal gehoste recursieve caching-DNS-resolver met ondersteuning voor DoH, DoT en DNSSEC. Unbound zorgt ervoor dat jouw DNS-requests niet afgehandeld worden door een derde partij als je internetleverancier, de beheerder van je VPS of een externe partij als Google of Cloudflare, maar door je eigen resolver die op jouw VPS draait. Het voordeel hiervan is dat jouw DNS-data niet extern gelogd kan worden. Het nadeel is wel dat je zeker in het begin wat vertraging kunt ervaren omdat je niet kunt leunen op de enorme cache van die grote DNS-partijen. Pi-Hole zelf raadt ook Unbound aan als voorbeeld van een self-hosted DNS-server en heeft er zelf een uitgebreide handleiding voor geschreven, mocht je hier zelf mee aan de slag willen.

DNSCrypt-Proxy

Een alternatief voor DoH of DoT is het gebruik van het DNSCrypt-protocol. DNSCrypt versleutelt DNS-requests en gebruikt publieke recursieve DNS-servers die niet geaffilieerd zijn met bedrijven of organisaties, al zijn er ook publieke resolvers opgezet door DNS-leveranciers zoals OpenDNS, maar ook browsers als het Russische Yandex ondersteunen DNSCrypt op hun publieke DNS-servers. Maar je kunt het ook zelf gebruiken via dnscrypt-proxy. Na installatie kun je zelf kiezen welke DNS-servers je gebruikt en anonimiseert en versleutelt DNSCrypt je DNS-requests.

Cloudflared

Maar er is altijd nog Cloudflare. Heb je geen issues met het Amerikaanse bedrijf en wil je snel en makkelijk DoH gebruiken, dan kun je de tunnel-client Cloudflared hiervoor inzetten.

Searx

Ten slotte zit er een Searx-instantie in de repository die we gebruikt hebben als voorbeeld in dit artikel. Deze metazoekmachine doet niet aan tracking of profilering van z’n gebruikers en werkt via meer dan 70 publieke instanties die samen resultaten verzamelen voor elke zoekopdracht. Maar zoals Searx zelf zegt: als je niemand vertrouwt, dan zet je toch lekker zelf een instantie op. Deze installatie is volledig optioneel en kan tijdens het configuratieproces worden uitgezet, mocht je dat willen.

Waarom zou je?

Zelf een VPN bouwen en die vervolgens dichttimmeren gaat je wellicht nu nog de pet te boven, maar het is minder ingewikkeld dan je zou denken. Een voordeel van het zelf doen is dat je geen data overhandigt aan partijen waar je niks mee te maken wilt hebben. Maar je kunt beginnen met een combinatie van Wireguard en Pi-Hole, waarbij je vertrouwt op de DNS van de hostingpartij van je VPS. Wanneer je iets verder wilt gaan, kun je deze setup gaan combineren met één van de DNS-securityopties die we hierboven hebben benoemd.

Geïnspireerd en wil je snel zelf aan de slag? Bekijk ons BladeVPS-aanbod hier.


eBook Ransomware

Longread Ransomware beschikbaar

Steeds meer bedrijven worden getroffen door ransomware. In deze longread over ransomware gaan we in op het risico van deze cyberaanval. Aan de hand van een waargebeurd verhaal leer je hoe ransomware je bedrijf kan infecteren - én wat je kunt doen om een ransomwareaanval te voorkomen.

Je kunt de longread hier aanvragen en downloaden.



Beoordeel dit artikel

Deel dit artikel

Gerelateerde artikelen

Blog overzicht

Auteur: Stefanie Weber

Houdt er als tech-copywriter van om antwoorden te zoeken op de vraag 'maar, hoe dan?' en dat zo uit te leggen dat zelfs haar moeder het zou snappen. Kan in haar vrije tijd haar handen ook niet stilhouden, dus speelt MMO's of knoeit met verf en kwasten.