abonneren

Alles wat je wil weten over OpenVPN

openvpn

Inhoudsopgave

  1. > Inleiding
  2. > Lees verder op pagina 2
De beste manier om te vermijden dat anderen jouw online uitgewisselde informatie kunnen onderscheppen, is met behulp van een versleutelde vpn-verbinding. OpenVPN is een uitstekende toepassing waarmee je precies zo’n vpn-connectie kunt opzetten. Wat OpenVPN precies is, lees je hier.

Lees ook: OpenVPN installeren op Windows, macOS en Linux

En: OpenVPN installeren op je smartphone

OpenVPN is opensource-software die met behulp van vpn-technieken een veilige connectie tussen verschillende apparaten opzet. De software versleutelt de communicatie door middel van een aangepaste versie van het ssl/tls-protocol. OpenVPN is multiplatform en alle verkeer loopt over een enkele udp- of tcp-verbinding. Dat maakt meteen dat het vaak ook probleemloos werkt in lastiger omgevingen zoals netwerken met nat (network address translation)

Wat is een VPN?

Om goed te begrijpen wat OpenVPN is, moet je uiteraard eerst weten wat een vpn is en verder hoe OpenVPN zich tegenover verwante technologieën verhoudt.

In zijn eenvoudigste vorm is een vpn (virtual private network) een technologie waarmee je een ‘lokaal netwerk’ creëert tussen verschillende computers die zich in wisselende lan-segmenten kunnen bevinden. Men heeft het bij zo’n connectie vaak over een vpn-tunnel, omdat alle verkeer tussen client en server zo versleuteld wordt dat het niet meer herkenbaar is. Bij protocollen als https en ssh daarentegen worden data ook wel versleuteld, maar een sniffer kan zo’n connectie als dusdanig wel nog identificeren.

Om van een echt vpn te kunnen spreken, moeten er zowel encryptie- als authenticatietechnieken toegepast worden. Deze encryptie- als authenticatietechnieken zorgen er enerzijds voor dat je zeker bent dat je met het juiste systeem of met de juiste persoon bent verbonden (via een gebruikers-id of certificaten). Anderzijds kan authenticatie ook ‘man in the middle’- en ‘denial of service’-aanvallen (respectievelijk afgekort tot mitm en dos) helpen vermijden, aangezien niet-geautoriseerde pakketjes niet eens worden ontsleuteld.

Zo’n vpn-tunnel boort zich dus ook door firewalls en routers heen: dat houdt in dat eventueel aanwezige, reguliere netwerkbeveiligingen hierdoor wellicht worden omzeild.

Een vpn-connectie kan voor verschillende doeleinden nuttig zijn: je zorgt voor meer veiligheid als je met een open wifi-netwerk bent verbonden of je omzeilt geofencing als je je met een vpn-server in een specifiek land verbindt. Grotere bedrijven verbinden er hun lokale kantoren mee en vrijdenkers uit landen met strenge censuur kunnen er alsnog hun boodschap mee uitdragen.

Er zijn heel wat vpn-producten beschikbaar, zowel opensource als in commerciële vorm. We onderscheiden een drietal belangrijke types: op basis van pptp, IPsec en ssl. OpenVPN hoort min of meer in deze laatste categorie thuis, maar wegens enkele markante verschilpunten bespreken we die toch liever apart.

Pptp

Ook al laat pptp (point to point tunneling protocol) zich makkelijk configureren omdat het in de meeste besturingssystemen is ingebouwd, je kunt het eigenlijk niet langer vertrouwen, omdat het standaard authenticatiemechanisme (ms-chapv2) al enkele jaren geleden is gekraakt. Je kunt via eap-tls dan wel X.509-certificaten gebruiken, maar niet alle pptp-clients ondersteunen dat. Daarbij komt dat pptp voor de versleuteling van het datakanaal gebruikmaakt van het gre-protocol (general routing encapsulation) en dat laat zich lastig sturen in een nat-omgeving.

IPsec

Aangezien IPsec (internet protocol security) op basis van krachtige veiligheidsbeleidsregels werkt, is het erg flexibel … maar tegelijk ook lastig om optimaal te configureren. In tegenstelling tot OpenVPN zit IPsec ook sterk verweven in de kernel, wat inhoudt dat een onvolkomen IPsec-applicatie het onderliggende besturingssysteem kan laten meecrashen. Daar komt nog bij dat producenten vaak eigen extensies aan de standaard hebben gebreid wat samenwerking tussen twee IPsec-punten van verschillende producenten behoorlijk bemoeilijkt.

SSL

Deze vpn’s zijn gebaseerd op het ssl/tls-protocol: hetzelfde protocol dus als bij https, voor het beveiligen van websites. Ook dit verkeer loopt trouwens over tcp poort 443. De meeste van deze vpn’s zijn webgebaseerd, oftewel clientless. Dat maakt het opzetten weliswaar erg makkelijk, maar de featureset is beperkt. Wel zijn er ook specifieke browser-plug-ins die meer functionaliteit bieden, maar tegelijk zorgen die voor minder interoperabiliteit.

Geschiedenis

OpenVPN werd oorspronkelijk ontwikkeld door ene James Yonan, die versie 0.90 in mei 2001 vrijgaf onder een gpl-licentie. Naar verluidt kwam hij op dit idee toen hij in Centraal-Azië rondreisde en zich met zijn kantoor moest verbinden via Aziatische en Russische internetproviders. IPsec bestond weliswaar al, maar hij vond het opzetten daarvan te complex en mede daarom extra vatbaar voor allerlei kwetsbaarheden.

Deze eerste release van OpenVPN was, zoals kan verwacht worden, zeer beperkt en liet eigenlijk alleen een eenvoudige point-to-point-verbinding over udp toe op basis van het Blowfish-versleutelingsalgoritme. Optioneel kon er ook van het sha1-algoritme (secure hash algorithm) gebruik worden gemaakt om de geldigheid van de ondertekening van certificaten te controleren. Pas in het voorjaar van 2002 voorzag OpenVPN in ssl/tls-gebaseerde authenticatie en het uitwisselen van sleutels. Nog later kwam er ook ondersteuning voor tcp bij.

Aanvankelijk werden er weliswaar andere poorten gebruikt, maar uiteindelijk werd door IANA (internet assigned names authority), tcp- en udp-poort 1194 als de standaardpoort voor OpenVPN vastgelegd.

In 2009 lag de ontwikkeling een tijdje stil, maar daar kwam later gelukkig weer verandering in

In de praktijk kun je ook andere poorten instellen dan standaardpoort 1194 en sinds versie 2.0 is het mogelijk om verschillende clients tegelijk te bedienen met één server.

De ontwikkeling van OpenVPN lag gedurende enkele jaren nagenoeg stil, maar gelukkig kwam er vanaf eind 2009 weer beweging in. Er werden ook volop andere ontwikkelaars aangetrokken en dat leidde tot heel wat bugfixes, extra functies en een plug-in-vriendelijker broncode. In de daaropvolgende jaren volgden nog meer aanpassingen, zoals ondersteuning voor mobiele platformen als Android en iOS en – met versie 2.0 – een solide ondersteuning voor ipv6. Ook PolarSSL wordt ondersteund: een cryptobibliotheek die een alternatief biedt voor het standaard gebruikte OpenSSL, de opensource-implementatie van het ssl/tls-protocol.

Bij elke nieuwe release worden ook opensource-versies van OpenVPN beschikbaar gesteld, zodat er packages voor zowat alle platformen, inclusief Windows 32 en 64 bit, kunnen worden samengesteld. Je vindt deze ‘community downloads’. Naast deze opensource-versies biedt OpenVPN Technologies ook een commerciële variant aan, onder de naam Access Server. Die biedt allerlei opties aan die met name grotere organisaties kunnen aanspreken. Proefversies vind je hier.

Geschreven door: Toon van Daele op

Category: Expert, Security

Tags: openvpn, Vpn, Privacy

Nieuws headlines

Laatste reactie