Informatie over VPN
De oplossing om alle functionaliteiten van een netwerk te gebruiken buiten de grenzen van een LAN, is het gebruik van een Virtual Private Network (VPN). Een VPN is een afgeschermd netwerk dat binnen een ander netwerk bestaat. Deze afscherming vindt plaatst door het maken van een tunnel. Een VPN is een getunneld netwerk, meestal op het internet.
VPN
Met tunnelen bedoelen we dat een geheel netwerkpakketje met de originele data (payload) ingekapseld is in een ander netwerkpakketje (delivery) dat de data over bijvoorbeeld het internet stuurt. Wanneer het pakketje aankomt wordt eerst het omhullende pakketje uitgepakt en vervolgens wordt het originele pakketje behandeld. Op deze manier kunnen twee computersystemen die het internet gebruiken om te communiceren, met elkaar data uitwisselen alsof ze zich op hetzelfde netwerk bevinden. Dat betekent onder andere dat je met tunnelen ook protocollen kunt gebruiken op het internet die daar niet ondersteund worden.
Soorten VPN
We onderscheiden twee soorten VPN-verbindingen. De eerste soort VPN-verbinding is de Site-to-Site VPN. Hier worden twee verschillende LAN's aan elkaar gekoppeld via een VPN-verbinding. Deze oplossing wordt vaak gebruikt om bijvoorbeeld verschillende vestigingen van een bedrijf aan elkaar te koppelen.
De tweede soort VPN-verbinding is de remote-access VPN. Bij een remote-access VPN maakt een computergebruiker een verbinding met een LAN via een VPN-verbinding. Deze oplossing wordt vaak gebruikt met het doel dat medewerkers vanuit huis kunnen inloggen op het computernetwerk van de werkgever. Aangezien er aan de kant van de computergebruiker geen VPN-server aanwezig is, is het noodzakelijk om aan de gebruikerskant een softwarematige VPN-client te installeren.
VPN-protocollen
Aangezien VPN alleen de beschrijving van een techniek is, hebben we ook protocollen nodig die ons in staat stellen om een daadwerkelijke VPN-verbinding tot stand te brengen. We bespreken de belangrijkste protocollen.
GRE
GRE staat voor Generic Routing Encapsulation en is een tunnelprotocol. GRE is ontworpen om andere protocollen in te kapselen in een tunnelpakketje. Dit protocol is ontwikkeld door Cisco. GRE komt voornamelijk voor bij Site-to-Site verbindingen, maar wordt ook gebruikt bij PPTP in remote-access verbindingen.
IPsec
IPsec staat voor Internet Protocol Security en is een verzameling van cryptografische protocollen die op laag 3, de netwerklaag, werken. IPsec kan in tunnelmodus gebruikt worden welke nodig is voor het opzetten van een VPN, maar IPsec kan ook in transportmodus worden toegepast.
IPsec is ontwikkeld om een aantal zaken die niet in het IP-stack zaten aan te bieden, zoals:
- Wederzijdse authenticatie: zijn beide systemen wie ze zeggen dat ze zijn?
- Versleuteling van de data.
- Integriteit van de data: is datgene wat ontvangen wordt ook hetzelfde als datgene wat verstuurd is?
Voor de versleuteling is het natuurlijk wel nodig dat beide partijen beschikken over een sleutel of een certificaat.
Er kleven ook nadelen aan IPsec. Zo kunnen machines wel geidentificeerd worden, maar er is geen oplossing voor gebruikersauthenticatie en is het zeer moeilijk te gebruiken in combinatie met een NAT-tabel.
PPP
Het Point to Point Protocol is een laag 2 (datalink) protocol dat gebruikt wordt om verbindingen tussen twee computersystemen tot stand te brengen. PPP werd veel gebruikt om met een modem in te bellen bij een internetprovider. PPP is zelf geen VPN-protocol, maar is wel de basis van een aantal protocollen dat een VPN-verbinding kan opzetten.
PPTP
Het Point to Point Tunneling Protocol is een, onder andere door Microsoft ontwikkeld, tunnelprotocol dat op laag 2, de datalaag, werkt. PPTP heeft als voordeel dat je er snel een VPN mee kan opzetten en dat het werkt in combinatie met NAT. PPTP kan een computergebruikersauthenticatie verzorgen met behulp van MS-CHAPv2. PPTP gebruikt een PPP-sessie met GRE om een tunnel te kunnen maken.
Standaard is PPTP echter niet versleuteld, maar PPTP kan met behulp van MPPE data versleutelen. PPTP wordt niet meer als zeer veilig beschouwd, aangezien het kwetsbaar is voor aanvallen bij het gebruik van een zwak wachtwoord.
L2TP
Het Layer 2 Tunneling Protocol is de opvolger van PPTP en L2F van Cisco. L2PT werkt op laag 2, de datalinklaag. L2PT kan een tunnel opzetten die, door middel van PPP, protocollen kan routeren en tijdens het tot stand brengen van de tunnel gebruikersauthenticatie kan verzorgen.
Hoewel we hier een protocol hebben dat een goede tunnel biedt, zijn er toch nog enkele nadelen. Het grootste nadeel is dat het geen sterke beveiliging biedt.
L2TP/IPsec
Een krachtige en veelgebruikte oplossing is L2TP/IPsec. Hierbij worden L2TP en IPsec gezamenlijk gebruikt. Op deze manier zet IPsec een beveiligde verbinding op en maakt L2TP daarin een volwaardige tunnel. Dit heeft een aantal voordelen: er kan gebruik worden gemaakt van de IPsec encryptie en integriteit, en tegelijk biedt het de voordelen van de L2TP gebruikersauthenticatie en de L2TP netwerkprotocol routering.
SSL/TLS
Ook met SSL/TLS is het mogelijk om een VPN-verbinding op te zetten. Het meest bekende softwarepakket dat dit kan is OpenVPN. SSL/TLS VPN kan niet in samenwerking met één van de bovenstaande VPN-vormen gebruikt worden en is ook niet een veelgebruikte oplossing.