# Virtueel Particulier Netwerk

Een Virtueel Particulier Netwerk of Virtueel Privénetwerk (Engels: Virtual Private Network), afgekort VPN, is een manier om een local area network (LAN) over een bestaande verbinding, een wide area network (WAN), zoals het internet, uit te bouwen met behoud van vertrouwelijkheid.
Via een VPN is het mogelijk via een bestaand netwerk, zoals het internet, gegevens te delen tussen fysiek gescheiden netwerken. Zo kan een werknemer thuis via VPN inloggen op het netwerk van de werkgever. Het bekendste en meest gangbare protocol is OpenVPN. Al wordt tegenwoordig, vooral door moderne VPN's, ook veelvuldig van het protocol WireGuard gebruik gemaakt.

## Voor- en nadelen

De internetverbinding is volledig versleuteld. Het is voor derde partijen niet mogelijk om het internetverkeer af te luisteren. Onversleuteld internetverkeer via een onbeveiligd wifi-netwerk (bijv. een horecazaak) kan afgeluisterd worden, maar met een VPN-verbinding is dit niet mogelijk. In bepaalde landen zoals de VS kan ook de internetprovider de surfgeschiedenis van gebruikers analyseren en vermarkten (dit is in Europa niet mogelijk), een VPN gaat dit tegen.
Via een VPN kan een gebruiker eenvoudig wisselen van IP-adressen. Een gebruiker kan zo geoblocking of een firewall vermijden. Concrete voorbeelden zijn het bekijken van reeksen die streamingdiensten exclusief in één land aanbieden, en het ontlopen van een blokkade op IP-basis. Vaak ook wordt een VPN gewoon gebruikt vanwege de privacy die het geeft.
Er zijn ook nadelen aan een verbinding via VPN. Internetverkeer vertraagt door de bijkomende omweg, en het is een bijkomende aanvalsvector (VPN-bedrijven kunnen ook spioneren of gehackt worden). Bedrijfstoegang via VPN wordt vaak bijkomend beveiligd.

## Technologisch abstract

Een VPN is een netwerk dat door een ander netwerk (gewoonlijk het internet) getunneld wordt. Hierdoor wordt de theoretische topologie vereenvoudigd, de praktische routering daarentegen zal complexer worden afhankelijk van het onderliggende netwerk. Een VPN tracht de voordelen van het onderliggende netwerk te gebruiken en de nadelen ervan te compenseren. De primaire problemen met het datatransport over een onderliggend netwerk zijn de veiligheid en de betrouwbaarheid. Door encryptie en controlemaatregelen (bijvoorbeeld CRC) kan een goed uitgewerkt VPN toch de integriteit, autorisatie en authenticiteit van de verzonden data verzorgen. Al deze beveiligingsmaatregelen moeten bovendien zo transparant mogelijk geïmplementeerd worden, opdat de eindgebruikers er eenvoudig gebruik van kunnen maken. Verder moet er ook rekening gehouden worden met wetten die van kracht zijn omtrent de privacy van data.

## Classificaties

Er zijn tal van indelingen die gemaakt kunnen worden om VPN's van elkaar te onderscheiden. De voornaamste classificaties zijn hieronder opgesomd:

### Opstellingen

Er zijn twee courante opstellingen waarin een VPN geconfigureerd kan worden:
* Remote-access-VPN. Hierbij zal een gebruiker toegang krijgen tot de private LAN van een organisatie door middel van een VPN. Hierbij valt te denken aan werknemers die thuis of onderweg toegang willen hebben tot het private bedrijfsnetwerk.
* site-to-site-VPN, ook aangeduid door "S2S-VPN". Hierdoor kan een organisatie de netwerken van geografisch gescheiden vestigingen met elkaar verbinden. Het resultaat van deze verbinding wordt een intranet-VPN genoemd.
Een andere mogelijkheid is dat verwante organisaties (bijvoorbeeld leveranciers en magazijniers) elkaars netwerk onderling verbinden om zo een intelligent geheel te bekomen, opdat de productiviteit stijgt. Dit betreft een extranet-VPN. Daarnaast bestaan er nog andere opstellingen afhankelijk van de reële situatie. Deze zijn meestal te herleiden tot een variant op de bovengenoemde opstellingen.

### IETF

De Internet Engineering Task Force (IETF) onderscheidt enkele verschillende VPN's. Het deelt de verschillende technologieën in op basis van het beheer van en tussen de verschillende netwerknodes. Hierdoor kan dan geclassificeerd worden op basis van zaken als beveiliging of quality of service (QoS). Bij een netwerk dat centraal beheerd wordt, spreekt de IETF van een intranet. Als er meerdere beheersposten in het spel komen, dan wordt gesproken over een extranet. Deze indeling sluit logisch nauw aan bij de gelijknamige classificaties van de site-to-site-indeling.
Daarnaast definieert IETF ook nog een provider-provisioned-VPN. Een PPVPN is een totaalpakket voor een VPN-dienst die een internetprovider aanbiedt via zijn netwerk (zijnde het internet of specifiek aparte lijnen voor VPN). Het is specifiek gericht op bedrijven en organisaties die een WAN wensen uit te bouwen. In de praktijk betekent dit meestal dat de internetprovider een service level agreement (SLA) afsluit waarbinnen de kwaliteit van het datatransport verzekerd wordt.

### Beveiligingsmodel

Het onderliggende netwerk dat gebruikt wordt zal ofwel 'vertrouwd' of 'niet vertrouwd' worden door het VPN. Het valt aan te raden om het onderliggende netwerk simpelweg niet te vertrouwen, zeker niet als dit het internet is. Het VPN-protocol moet dan in technologieën voorzien om de beveiliging te verzorgen. Als men toch het onderliggende netwerk vertrouwt, wordt er gesproken over een trusted VPN (of een Actual Private Network). Hierbij wordt de beveiliging volledig afgehandeld door het onderliggende netwerk, zonder eigen controlemogelijkheden.
Een essentieel stuk van de beveiliging is de authenticiteit van de data. Dit wil zeggen dat de originaliteit en de herkomst van de data betrouwbaar moeten zijn. Een beveiligingsmodel kan ervoor kiezen om eerst de authenticiteit van de deelnemers aan de VPN-verbinding te controleren alvorens de eigenlijke verbinding op te zetten. Een andere mogelijkheid is om de authenticiteit te verzorgen bij de eigenlijke transmissie.

## Beveiliging

VPN-technieken kunnen ook worden gebruikt om de beveiliging van een eigen netwerk te verbeteren, maar ze zijn in de eerste plaats ontworpen om veilig transport over een onveilig netwerk mogelijk te maken.

### Topologie

In de eerste plaats zal het private netwerk gescheiden moeten worden van het onderliggende netwerk door middel van een firewall. Deze module zal zowel binnenkomend als uitgaand verkeer analyseren en zo nodig stoppen: de module kan als een filter worden beschouwd. De firewall moet strategisch opgesteld staan in de verbinding tussen het private en publieke netwerk. Een firewall biedt een hardwarematige isolatie van het private netwerk om ongewenste bezoekers te vermijden. Het is imperatief dat openingen in de firewall voor VPN-doeleinden de algemene beveiliging niet ondermijnen.
Vlak achter deze firewall zal er bij site-to-site-VPN een AAA-server (authenticiteit, autorisatie en accounting) moeten volgen die VPN-pakketten kan vertalen, zodat die ofwel op het private netwerk kunnen routeren, ofwel klaar zijn om verzonden te worden over het publieke netwerk. Dit wordt praktisch geïmplementeerd door een daemon die het VPN-protocol verzorgt op een dedicated-VPN-server. Bij remote-access-VPN zal de gebruiker lokaal op zijn eigen computer software moeten gebruiken om het VPN-protocol uit te voeren. Een firewall kan eventueel ook softwarematig geïmplementeerd worden.

### Encryptie

Encryptie wordt bij tal van protocollen gebruikt om geheimhouding van data te realiseren. Bij encryptie zullen de data getransformeerd worden naar een onleesbare vorm, de zogenaamde cyphertekst. Door middel van een sleutel kan de ontvanger dan een omgekeerde transformatie uitvoeren, waardoor de tekst weer leesbaar wordt. Dit is te vergelijken een brief geschreven in geheimschrift. Iemand die hem toch weet te onderscheppen, kan alsnog niet lezen wat er is geschreven. De meest performante encryptietechnieken vandaag de dag zijn 3DES en Advanced Encryption Standard (AES). AES heeft altijd de voorkeur vanwege zijn sterkere crypto-eigenschappen in vergelijking met 3DES. 3DES is verouderd en mag alleen gebruikt worden als er geen mogelijkheden zijn om AES te gebruiken.

### Tunneling

Bij tunneling wordt een pakket voor het private netwerk geëncapsuleerd binnen een nieuw pakket om over het publieke netwerk verzonden te worden. Een eerste reden hiervoor is om het originele pakket compatibel te maken met het publieke netwerk. Deze stap kan met de werking van een bridge vergeleken worden. Een andere reden is de beveiliging van het originele pakket. Het originele pakket kan namelijk volledig versleuteld worden, waarna het geëncapsuleerd zal worden binnen een nieuw pakket. Het geëncapsuleerde pakket zal dan verzonden worden via het onderliggende netwerk en na aankomst uitgepakt worden, zodat met het originele pakket verder gewerkt kan worden. Tunneling is een veelgebruikte techniek bij tal van VPN-implementaties.

### IP-adres

Een VPN-verbinding zorgt ervoor dat het IP-adres verandert. Hierdoor kunnen hackers en criminelen niet herleiden wie er op hun website zitten. Het veranderen van een IP-adres zorgt er overigens ook voor dat computers minder eenvoudig gehackt kunnen worden, waardoor wachtwoorden minder snel publiekelijk op straat komen te liggen.

## Protocollen

* IPsec, IP security, ontwikkeld door IETF, werkt op basis van twee headers: de Authentication Header (AH) en Encapsulating Security Payload (ESP), verplicht gebruik bij IPv6. Wordt vaak gecombineerd met L2TP en IKEv2.
* SSL/TLS, Secure Sockets Layer/Transport Layer Security, geschikt voor tunneling, niet specifiek ontwikkeld voor VPN-doeleinden
* L2F, Layer Two Forwarding, ontwikkeld door Cisco, geschikt voor tunneling, geen encryptie mogelijk, niet specifiek ontwikkeld voor VPN-doeleinden
* PPTP, Point to Point Tunneling Protocol, verouderd en onveilig protocol, ontwikkeld door Microsoft, geschikt voor remote-access-VPN
* L2TP, Layer Two Tunneling Protocol, combinatie van L2F en PPTP, geschikt voor remote-access-VPN, kan simultaan meerdere tunnels onderhouden voor een gebruiker. Wordt vaak ook gecombineerd met IPSec.
* OpenVPN, een open standaard vergelijkbaar met SSL VPN.
* IKEv2, een nieuwe versie van IKEv1, gebaseerd op het Oakley protocol en ISAKMP.
* WireGuard, een nieuw protocol dat hoge snelheden kan behalen. Het is stabiel en erg geschikt voor mobiele apparaten.
* SSTP, Secure Socket Tunneling Protocol, een closedsource-Windowsprotocol.
* ↑ (en) RFC 2746 A Framework for IP Based Virtual Private Networks, B. Gleeson et al., februari 2000
* ↑ europa.eu; Bescherming van de persoonlijke levenssfeer in de sector elektronische communicatie, "De lidstaten moeten door hun nationale wetgeving het vertrouwelijke karakter van de communicatie via openbare elektronische communicatienetwerken garanderen.", juli 2002
* ↑ (en) RFC 2457 Border Gateway Protocol / Multiprotocol Label Switching VPNs, E. Rosen & Y. Rekhter, maart 1999
* ↑ (en) RFC 3809 Generic Requirements for Provider Provisioned Virtual Private Networks (PPVPN), A. Nagarajan, juni 2004 & RFC 4026 Provider-Provisioned Virtual Private Networks Terminology, L. Andersson & T. Madsen, maart 2005