![]()
OpenVPN is een VPN-protocol dat gebruikmaakt van een open-source code. Dit betekent dat de broncode openbaar beschikbaar is voor iedereen om te inspecteren, te verbeteren en te auditen.
Wat is OpenVPN?
OpenVPN is een flexibel en veelgebruikt VPN-protocol dat ontworpen is om veilige point-to-point en site-to-site verbindingen mogelijk te maken. Omdat het open-source is, heeft het een actieve gemeenschap en veel onafhankelijke veiligheidsaudits ondergaan. Het wordt vaak ingezet voor toegang tot bedrijfsnetwerken, voor privacy bij internetgebruik en voor het omzeilen van netwerkbeperkingen.
Hoe werkt OpenVPN?
OpenVPN gebruikt het TLS/SSL-model (dezelfde soort beveiliging als bij HTTPS) voor het onderhandelings- en authenticatieproces tussen client en server. Daarbij worden certificaten en/of gedeelde sleutels gebruikt om vertrouwelijkheid en integriteit te waarborgen. Technisch gezien ondersteunt OpenVPN zowel:
- virtuele netwerkinterfaces in tun-modus (IP-routing) als tap-modus (Ethernet-bridging),
- opzet met UDP (voorkeur voor snelheid) of TCP (voorkeur voor betrouwbaarheid of omzeilen van blokkades),
- verschillende cryptografische ciphers en authenticatiemechanismen.
Soms worden in gesprekken over VPNs termen als encryptie-algoritmen en andere protocolnamen genoemd, bijvoorbeeld SSL, IPSec of SSH. Het is belangrijk te weten dat IPSec en SSH alternatieve VPN- of tunneling-oplossingen zijn; OpenVPN gebruikt TLS/SSL voor key-exchange en ondersteunt moderne ciphers voor dataverkeer.
Beveiliging: wat is aan te raden
OpenVPN staat bekend om zijn sterke beveiligingsmogelijkheden, maar de daadwerkelijke veiligheid hangt af van de gekozen instellingen. Hier zijn de belangrijkste aanbevelingen:
- Ciphers en encryptie: Gebruik moderne, sterk geauthentiseerde ciphers zoals AES-256-GCM of AES-256-CBC met HMAC. AES-256 wordt algemeen beschouwd als zeer veilig; brute-force aanvallen zijn praktisch onhaalbaar met de huidige technologieën. (In oudere configuraties kwam Blowfish-128cipher, voor, maar dat wordt tegenwoordig afgeraden vanwege zwakkere eigenschappen.)
- TLS-versie en perfect forward secrecy (PFS): Schakel TLS 1.2 of TLS 1.3 in en gebruik ECDHE voor key exchange om PFS te garanderen. Dat betekent dat het compromitteren van één sleutel niet automatisch eerdere sessies blootlegt.
- Authenticatie van server en client: Gebruik certificaten (PKI) voor wederzijdse authenticatie; combineer eventueel met gebruikersnaam/wachtwoord voor extra laag.
- tls-auth / tls-crypt: Gebruik een statische HMAC-sleutel (tls-auth) of tls-crypt om ongewenste verbindingen te blokkeren en om metadata over TLS-handshakes te verbergen.
- Regelmatig updaten: Houd OpenVPN en het onderliggende besturingssysteem up-to-date om bekende kwetsbaarheden te dichten.
Poorten, prestaties en gebruiksscenario's
OpenVPN kan op vrijwel elke poort draaien, wat het flexibeler maakt in netwerken met strikte firewallregels. Standaard gebruikt OpenVPN vaak UDP-poort 1194, maar je kunt ook TCP en andere poorten gebruiken. Voor privacy of omzeilen van censuur wordt soms gekozen voor de TCP 443-poort, omdat verkeer op die poort veelal als HTTPS-verkeer door firewalls en proxies wordt toegestaan.
Advies per situatie:
- Voor maximale snelheid: kies UDP (minder overhead) en een snelle cipher (bijv. AES-GCM). UDP is meestal de beste keuze voor streaming en lage latency.
- Voor maximale compatibiliteit en omzeilen van blokkades: kies TCP op poort 443 zodat de VPN-verbinding lijkt op gewone HTTPS. Dit kan echter wat trager zijn door extra retransmits en TCP-over-TCP-problemen.
- Voor een balans tussen snelheid en eenvoud: sommige gebruikers kiezen nog steeds voor de oudere Blowfish-128cipher, maar dit is niet aanbevolen als prioriteit ligt bij moderne veiligheid.
Praktische instellingen en voorbeeld-aanbevelingen
Een korte lijst met aanbevolen instellingen die u kunt toepassen in server- en clientconfiguraties:
- Gebruik crypto: cipher AES-256-GCM (of AES-256-CBC) en auth SHA256 of beter.
- Schakel TLS 1.2/1.3 in en gebruik ECDHE voor key exchange (PFS).
- Gebruik tls-crypt of tls-auth voor extra bescherming van de TLS-handshake.
- Maak gebruik van certificaten met voldoende sleutelgrootte (bijv. 2048-bit RSA of bij voorkeur ECDSA voor kleinere en veilige sleutels).
- Beperk toegestane clientcertificaten en werk met revocatielijsten (CRL) als dat nodig is.
- Push alleen de routes/DNS die nodig zijn en voorkom DNS-lekken door clients dwingend DNS-instellingen te pushen of lokale resolvers te gebruiken.
- Implementeer firewallregels en een “kill switch” op clients om datalekken buiten de tunnel te voorkomen wanneer de VPN wegvalt.
Configuratie en opzet
Voor een basis opzet heeft u doorgaans nodig:
- Een OpenVPN-server (Linux, Windows of appliance) met gegenereerde CA, servercertificaat en serverkey.
- Voor elke gebruiker een clientcertificaat en -sleutel, of een gedeelde gebruikersdatabase voor username/password-authenticatie.
- Netwerk- en firewallconfiguratie: NAT/port forwarding indien de server achter een router staat, en juiste routes voor toegang tot interne netwerken.
- Clientsoftware op Windows, macOS, Linux, iOS en Android: OpenVPN heeft officiële clients en veel third-party apps die compatibel zijn.
Voordelen en nadelen
- Voordelen: Zeer flexibel, krachtig en veilig wanneer goed geconfigureerd; werkt op veel platformen; open-source en veel gecontroleerd door derden.
- Nadelen: Verkeerd geconfigureerd kan het onveilig zijn; prestaties kunnen lager zijn dan bepaalde modernere implementaties als de verkeerde cipher of TCP-over-TCP wordt gebruikt; opzet vergt enige kennis (certificaatbeheer, firewallregels).
Samenvatting
OpenVPN is een robuuste en flexibele VPN-oplossing met een sterke veiligheidsreputatie, mits juist geconfigureerd. Kies moderne ciphers (bijv. AES-256-GCM), schakel PFS in, gebruik tls-crypt/tls-auth en update regelmatig. Gebruik UDP voor snelheid en TCP 443 voor compatibiliteit of omzeilen van censuur. Met goede instellingen biedt OpenVPN uitstekende ondersteuning voor privacy en beveiligde toegang tot netwerken.