Wifi netwerk technisch

Page 1

WIFI & NETWERK JE EIGEN VPN-SERVER MET EEN RASPBERRY P

I

WIFI & NETWERK EXPERTGIDS

BEHEER OP AFSTAND

EXPERTGIDS

Volledige controle, ook als je niet thuis bent

STRESSTEST

voor je thuisnetwerk ACHTERHAAL DE ZWAKKE SCHAKELS ÉN LOS ZE OP LEG ZELF THUIS HET SNELST MOGELIJK NETWERK AAN

TOEGANG TOT JE THUISSERVER MET PAGEKITE

UPGRADE JE ROUTER

Installeer DD-WRT en je hebt alles zelf in de hand TEST

MANAGED ACCESSPOINTS € 9,95

WIFI? ECHT SNEL BEN JE MET GLASVEZEL

BP


MASTERCLASS WINDOWS 10 ALS SERVER

Linux, nas ... of toch gewoon Windows 10 als server? JOCHEM DE GOEDE

WINDOWS 10 ALS SERVER EIGENLIJK WIL JE WEL JE EIGEN SERVER OPZETTEN, MAAR JE HEBT NIET ECHT ZIN OF TIJD OM VEEL WERK IN EEN LINUX-SERVER OF EEN NIEUWE NAS TE STEKEN. BEGRIJPELIJK, DAAROM GAAN WE IN DIT ARTIKEL ONDERZOEKEN IN HOEVERRE WINDOWS 10 ALS SERVER KAN DIENEN – EN OF HET WEL EEN GOED IDEE IS.

Voordat je aan de slag gaat met Windows

veel meer aanvalsvectoren, zoals de gehele

Windows als server te willen

10 als server, zijn er wel een paar dingen

grafische interface, alle ingebouwde Win-

gebruiken. Zoals gezegd is het

die je moet overwegen. Windows 10 is een

dows-desktopapplicaties en veel overbodige

eenvoudig, je hoeft niet met een

desktop-besturingssysteem. Dat maakt

services en diensten. Het is bovendien een

nieuwe omgeving overweg te

het inherent onveiliger dan een server-be-

groot nadeel dat er niet een centrale package-

kunnen. Ook kan het je helpen

sturingssysteem, omdat er simpelweg veel

manager is, zoals op Linux, en dat je dus zelf

om wat meer ervaring te krijgen

onderdelen op gebruiksvriendelijkheid zijn

alles in de gaten moet houden en handmatig

met Windows als server, wat

ingesteld in plaats van op veiligheid. Daar-

zult moeten patchen. Dat gezegd hebbende,

bijvoorbeeld zakelijk handig is in

naast heeft een desktop-systeem natuurlijk

kun je toch een aantal redenen hebben om

een omgeving waar veel Microsoft-producten aanwezig zijn.

OPSLAGRUIMTEN Eén van de misschien wat vergeten functies van Windows 10 is Opslagruimten. Dat is een softwarematige raidfunctie die erg eenvoudig te gebruiken is. Je vindt het in het Configuratiescherm, onder Opslagruimten. Het lijkt veel op de functie Drive Extender uit Windows Home Server, handig dat die functie zelfs nu nog in Windows 10 aanwezig is. Je kunt er meerdere mee schijven combineren, zodat je bijvoorbeeld maar één netwerkschijf hoeft te delen over het netwerk, en je kunt er je data mee beschermen door gebruik te maken van redundantie. Je hebt de keuze uit een aantal modi, zoals een two- of threeway-mirror en parity, vergelijkbaar met raid5.

Windows 10 bevat standaard erg veel software.

92

WIFI & NETWERK EXPERTGIDS


MASTERCLASS WINDOWS 10 ALS SERVER

Alternatieven Als je het toch anders wilt aanpakken, kun je kiezen tussen Windows-servers, Linux of Unix. Voor Windows was er dus Windows Home Server, maar de laatste versie daarvan komt uit 2011 en is gebaseerd op Windows 7. Deze versie is niet meer verkrijgbaar. De spirituele opvolger is Windows Server Essentials 2016. Het grote voordeel dat je dan hebt ten opzichte van Windows 10 is het gecentraliseerd maken van back-ups voor je pc’s en gecentraliseerd je pc’s controleren op problemen. Wel is Windows Server Essentials een stuk ingewikkelder én duur. Als je liever Linux wilt, blijft Ubuntu Server een aanrader. Wil je meer een nas-achtige opzet, kijk dan ook eens naar FreeNAS.

Met Opslagruimten zorg je dat je data gespiegeld wordt.

BESTANDEN DELEN Het delen van een bestand, map of schijf is op zich niet lastig. Bij het Eigenschappen-venster vind je alle instellingen om te delen. Voeg dan bij

Zorg voor het juiste netwerktype en zet dan delen met een wachtwoord uit.

permissies Iedereen toe bij het delen. Daarna is het nodig om delen met een wachtwoord uit te

zetten. Tegenwoordig heb je Ubuntu Bash op

met de ontwikkeling van deze module. Je

zetten, als je niet wilt worden las-

Windows en daarop kun je openssh installe-

kunt de laatste build van ssh voor PowerShell

tiggevallen met gebruikersnaam

ren met sudo apt install openssh-server.

hier vandaan halen: www.tiny.cc/7bhzjy.

en wachtwoord. Dat verander je

Je kunt het dan zoals in Ubuntu configure-

Pak de inhoud van de zip uit in C:\Program

door naar het Netwerkcentrum

ren. Windows 10 zelf bevat een ingebouwde

Files\OpenSSH en start dan PowerShell als

te gaan. Zorg er dan eerst dat

ssh-server zodra je de developermodus aanzet

administrator en cd naar de map van zojuist.

het netwerktype privé is. Is dat

die in heel sommige gevallen nodig is voor

Installeer sshd met het commando:

niet zo, dan verander je dat het

het uitrollen van uwp-apps en die niet voor

eenvoudigst door een thuisgroep

de eindgebruiker bedoeld is. Die conflicteert

aan te maken in het Netwerkcen-

met je ssh-server in Ubuntu Bash. Schakel die

Achteraf kun je de ssh-sleutels genereren met:

trum. Heb je dat eenmaal gedaan,

daarom uit door services.msc te openen, en

.\ssh-keygen.exe -A. Je kunt het geheel dan

dan klik je in het Netwerkcen-

de SSH Server Broker en SSH Server Proxy

starten met Start-Service ssh-agent en

trum links op Geavanceerde

uit te schakelen.

daarna Start-Service sshd. Dan is het nog

instellingen voor delen wijzigen.

powershell -executionpolicy bypass -file install-sshd.ps1

wel nodig om de firewall open te zetten, met:

Klap dan het onderdeel Alle net-

BASSH

netsh advfirewall firewall add rule

werken uit en zet de optie om te

Je kunt nu dus een beveiligde verbin-

name='SSH Port' dir=in action=allow

delen met een wachtwoord uit.

ding opzetten met je Windows-pc. Niet echt

protocol=TCP localport=22

handig als je daarmee nog niets kunt behe-

Test toegang tot ssh vanaf bash of met Putty,

SSH

ren. Tenzij je dus al je services onder Ubuntu

door in te loggen op localhost of het ip-adres

Op een beetje nas of

Bash gaat draaien, kom je niet heel ver. Je

en je eigen gebruikersnaam en wachtwoord

server kun je waar dan ook

kunt ssh ook gebruiken in combinatie met

van je Windows-pc. Typ powershell en je zit in

inloggen met ssh om zo de server

PowerShell. Dan heb je meer mogelijkheden

een PowerShell-sessie op je Windows-pc. Om

te onderhouden. In Windows 10

over Windows en kun je veel meer met alle

ssh direct mee te starten met Windows, open

is dat wat meer werk om op te

PowerShell-modules. Microsoft is zelf bezig

je de Opdrachtprompt met admin-rechten:

WIFI & NETWERK EXPERTGIDS

93


DE STANDAARD

Wat is wifi? Wifi (of Wi-Fi zoals het officieel door de Wi-Fi Alliance wordt geschreven) is de merknaam voor draadloze netwerken gebaseerd op de IEEE 802.11-standaarden. De term heeft verder geen betekenis en het staat dus niet – zoals vaak wordt aangenomen – voor Wireless Fidelity, al is de naam natuurlijk wel een duidelijke knipoog naar hifi.

DE STANDAARD WIFI

JEROEN BOER

WE LEVEN IN EEN DRAADLOZE WERELD, DRADEN VINDEN WE EIGENLIJK NIKS. GELUKKIG KUN JE DANKZIJ WIFI JE LAPTOP, TABLET EN SMARTPHONE DRAADLOOS VERBINDEN MET JE NETWERK EN INTERNET. WIFI IS ZELFS ZO POPULAIR DAT HET VOOR VEEL MENSEN ZELFS SYNONIEM IS MET INTERNET.

102

Wifi is gebaseerd op de

niet alleen voor wifi gebruikt, maar zijn eigenlijk bedoeld

SNELHEID

802.11-standaarden en de eerste

voor industriële, wetenschappelijke en medische toepas-

Tegenwoordig gebruiken we twee wifi-stan-

variant van 802.11 werd in 1997

singen waaronder de magnetron. De 2,4GHz-band is 83,5

daarden door elkaar: 802.11n en 802.11ac. Ten

geïntroduceerd met een theore-

MHz breed, maar kent toch dertien verschillende kanalen

opzichte van zijn voorganger heeft 802.11n

tische snelheid van 2 Mbit/s. In

van 20 MHz breed. De kanalen overlappen elkaar dan

drie belangrijke verbeteringen. Er kunnen

verbeterde vorm (802.11b) deed de

ook waardoor er in de praktijk maar drie kanalen zijn die

meer datastromen tegelijkertijd gebruikt

technologie vanaf 1999 succesvol

tegelijkertijd zonder overlap gebruikt kunnen worden. De

worden (mimo), er kunnen twee kanalen

zijn intrede bij consumenten

5GHz-band heeft in Europa 455 MHz aan bandbreedte.

gebundeld worden tot één kanaal van 40

thuis en werd de draadloze tech-

Voor ieder van de in Europa negentien gedefinieerde ka-

MHz en naast de 2,4- kan ook de 5GHz-band

niek voor het eerst wifi genoemd.

nalen is netjes de volle 20 MHz bandbreedte beschikbaar.

worden gebruikt. Een 40 MHz breed kanaal

Toen was 11 Mbit/s al heel wat,

Helaas zijn alleen de vier kanalen in het eerste blok he-

zorgt voor een theoretische 150 Mbit/s, al

tegenwoordig kijken we niet op

lemaal vrij te gebruiken, voor de andere kanalen gelden

is dat tegenwoordig alleen realistisch op de

van 1300 Mbit/s.

strengere regels omdat de frequenties bijvoorbeeld ook

5GHz-band. De huidige chipsets ondersteu-

door radarsystemen worden gebruikt. Deze zogenoemde

nen soms de QAM-256-modulatie van 802.11ac

TWEE FREQUENTIEBANDEN

dfs-kanalen moeten dan vrijgegeven worden en zijn niet

onder de naam Turbo-QAM ook op de 2,4GHz-

Wifi maakt gebruik van vergun-

op ieder accesspoint aanwezig. Tel daar bij op dat bij

band, voor een theoretische 200 Mbit/s per

ningsvrije frequentieruimte op

802.11ac in beginsel vier 20MHz-kanalen combineert tot

datastroom. Dit wordt door clients echter

twee frequentiebanden: 2,4 en 5

één kanaal van 80 MHz breed en er is minder ruimte dan

vrijwel niet ondersteund. 802.11ac is een door-

GHz. Deze frequenties worden

je op basis van de grafiek zou verwachten.

ontwikkeling op de 5GHz-band en voegt tot

WIFI & NETWERK EXPERTGIDS


DE STANDAARD

Ontwikkeling wifi

1971 ALOHAnet UHF Wireless Packet network - 0,0096 Mbit/s

vier kanalen samen tot één kanaal van 80 MHz. In combinatie

1991 WaveLAN (voorloper

met onder andere een betere modulatie (256-QAM) kan er per da-

802.11) – 2 Mbit/s

tastroom maximaal 433,3 Mbit/s

1997 802.11-1997 - 2 Mbit/s 1999 802.11b - 11 Mbit/s 1999 802.11a - 54 Mbit/s 2003 802.11g - 54 Mbit/s 2006 Draft-n – 300 Mbit/s 2009 802.11n – 450 Mbit/s 2012 802.11ad - 7 Gbit/s 2013 802.11ac – 1300 Mbit/s 2014 802.11ac wave 2 – 2165

worden gehaald. Tegenwoordig wordt door chipsetfabrikanten onder de naam Nitro-QAM ook 1024-QAM ondersteund voor een nog hogere theoretische snelheid op 802.11ac (en soms zelfs 802.11n op de 2,4GHz-band), maar daar heb je door gebrek aan ondersteuning in clients weinig aan. Mimo is in de vorm van mu-mimo (multi-user multiple-input multiple-output) verbeterd waardoor een wifi-accesspoint kan communiceren met een groep van meerdere clients tegelijkertijd door de datastromen te verdelen. Wel moeten de clients mu-mimo ondersteunen. In de

Mbit/s

praktijk kun je de theoretische

2018

snelheden van wifi in beginsel

heel goed mogelijk. Dit komt doordat dat wifi half-duplex is (er wordt alleen gezonden of ontvangen), er veel overhead is en het signaal gevoelig is voor storingen.

BEVEILIGING Wifi vliegt letterlijk door de lucht, vandaar dat de standaard al sinds het begin beveiliging kent. Wired Equivalent Privacy (wep) vormde de eerste beveiliging en is gebaseerd op 64- of 128bit-rc4-versleuteling met een vaste sleutel. De implementatie van een vaste sleutel zorgde ervoor dat wep eenvoudig bleek te kraken en daarom kwam de Wi-Fi Alliance in 2003 met wpa (Wi-Fi Protected Access) als stoplap. Wpa gebruikt het Temporal Key Integrity Protocol (TKIP) en gebruikt net als wep rc4-versleuteling, maar dan met dynamische sleutels. Omdat de versleuteling hetzelfde was, konden bestaande clients met een firmware-update geschikt gemaakt worden. Uiteindelijk is wpa2 dat gebruikmaakt van ccmp (Counter Mode CBC-MAC Protocol) op basis van betere 128bit-aes-versleuteling de

802.11ax 4,8 Gbit/s

door de helft delen en is nog lager

echte opvolger. Thuis gebruiken we wpa2-personal, dat werkt met een vast wachtwoord in de router. Dat wachtwoord wordt bij het aanmelden gebruikt om de echte wisselende encryptiesleutel van het netwerk te achterhalen. Het wpa2-wachtwoord moet een

De 2,4GHz-band heeft een beperkte bandbreedte

veilig, willekeurig wachtwoord zijn omdat de

waardoor de kanalen veel overlap hebben.

authenticatie de enige bekende zwakte van wpa2 is. Aangenomen wordt dat een wille-

1

2

3

4

5

6

7

8

9

10 11 12 13

keurig wachtwoord van 16 tekens momenteel niet te kraken is. Wel moet wps worden uitgeschakeld.

DE TOEKOMST Met 802.11ad is de 60GHz-band toegevoegd, maar dit is meer een aanvulling op wifi en bedoeld voor toepassingen op zeer korte afstanden. De echte opvolger is 802.11ax en

36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140

ondersteunt naast de 5GHz-band ook de 2,4GHz-band. In combinatie met meer datastromen en een nog betere 1024QAM-modulatie kan er volgens Qualcomm bij hun eerste chipset een maximale theoretische snelheid

A

B

C

van 4,8 Gbit/s worden gehaald. Clients ondersteunen uiteraard minder datastromen, zo zouden de eerste clients maximaal 1,8 Gbit/s halen. 802.11ax moet het draadloze netwerk

De 5GHz-band bevat veel meer

dan ook vooral beter laten werken met meer

bandbreedte, maar is wel verdeeld in

clients tegelijkertijd. Hoewel 802.11ax nog niet

drie verschillende blokken met ieder hun

definitief is vastgesteld, worden de eerste

eigen regels.

producten in 2018 op de markt verwacht.

WIFI & NETWERK EXPERTGIDS

103


MASTERCLASS PAGEKITE

Aan de slag met Pagekite KOEN VERVLOESEM

BENADER AL JE THUISAPPARATEN OP AFSTAND

ALS JE THUIS EEN SERVER WILT OPZETTEN OF VAN OVERAL DE BESTANDEN OP JE NAS WILT BENADEREN ZOALS JE GEWEND BENT VAN CLOUDDIENSTEN, DAN MOET JE MET DE ROUTERINSTELLINGEN, PORTFORWARDING EN DYNAMISCHE DNS AAN DE SLAG. VIND JE DAT TE OMSLACHTIG? GELUKKIG IS ER EEN ALTERNATIEF, WAARMEE JE EENVOUDIG JE THUISSERVERS ONLINE BESCHIKBAAR MAAKT: PAGEKITE.

Als je in je thuisnetwerk een server opzet, is die standaard alleen binnen je eigen netwerk bereikbaar. Wil je ook van buitenaf bij je webserver, nas of beveiligingscamera kunnen, dan moet je daar nog het een en ander voor configureren. Zo dien je een statisch ip-adres aan je server toe te kennen. Dan moet je in je internetmodem/router portforwarding instellen, zodat die alle aanvragen op een specifieke poort op je publieke ip-adres naar het statische ip-adres van je server omleidt. Vaak dien je ook nog in de firewallregels van je router die poort open te zetten. Maar dan is het nog niet gedaan: aangezien veel modems van internetabonnementen thuis geen vast ip-adres krijgen, heb je ook een dynamische dns (ddns) nodig, zodat je eigen domeinnaam altijd naar je publieke ip-

Dankzij Pagekite hoef je je geen zorgen te maken om portforwarding, firewallregels en dynamische dns.

adres verwijst, ook als dat verandert. Kortom, even een server thuis buiten je thuisnetwerk beschikbaar stellen, is makkelijker gezegd dan gedaan. Het is allemaal wel mogelijk, maar je

van je router (wat was dat ook alweer?) en het

betalen voor persoonlijk gebruik,

verliest er heel wat tijd mee en maakt gemak-

configureren van een ddns-dienst.

zolang ze één keer per maand een

kelijk fouten.

Het enige wat je daarvoor hoeft te doen, is op

formulier invullen om te zeggen

je server het Python-script pagekite draaien.

waarvoor ze Pagekite inzetten.

IN ENKELE SECONDEN BEREIKBAAR

106

Dat werkt op Windows, macOS, Linux en

Als je echt niet van de Pageki-

BSD. Je dient je ook voor de Pagekite-dienst

te-dienst wilt afhangen, dan is

Pagekite (https://pagekite.net) biedt een een-

in te schrijven. Je krijgt sowieso een maand

het ook mogelijk om zelf een

voudige oplossing hiervoor. In enkele secon-

de tijd om de dienst gratis te proberen. Daar-

Pagekite-front-end te draaien op

den maak je een thuisserver overal beschik-

na betaal je hoeveel je wilt. Het project stelt

een server met publiek ip-adres

baar, en dat zonder je te moeten bezighouden

3 dollar per maand voor en heeft er blijkbaar

(zie het kader ‘Draai je eigen

met poorten, firewallregels, het wachtwoord

ook geen problemen mee dat individuen niets

Pagekite-front-end’).

WIFI & NETWERK EXPERTGIDS


MASTERCLASS PAGEKITE

Draai je eigen Pagekite-front-end Als je liever niet van de Pagekite-dienst afhangt om bereikbaar te zijn, draai dan je eigen Pagekite-front-end. Op de wiki van Pagekite vind je uitgelegd hoe je dat configureert (www.tiny.cc/pgkt). Je hoeft daar geen ander programma voor te installeren: het Python-script van Pagekite voert zowel de functie van back-end als die van front-end uit. Het enige wat verschilt, is de configuratie. Als je de verbinding tussen je back-end en front-end wilt versleutelen, dien je ook ssl-certificaten te genereren. Let op: als je dezelfde ervaring als met de Pagekite-dienst wilt, dien je nog allerlei extra zaken te regelen. Zo heeft de dienst meerdere front-endservers, en dat in meerdere locaties, zodat de dienst bij uitval van een front-end nog blijft werken. Bovendien worden alle front-end-servers continu gemonitord. Er komt dus heel wat bij kijken als je je eigen Pagekite-front-ends draait!

Je Raspberry Pi als publieke webserver? Met Pagekite is het zo gepiept.

Met een eigen Pagekite-front-end hang je niet meer van de Pagekite-dienst af.

HOE WERKT PAGEKITE?

is opgezet. Je server ontvangt dan een aan-

In principe kun je het Python-bestand

vraag (bijvoorbeeld voor een webserver) en

­pagekite.py gewoon downloaden (http://­

De ontwikkelaars van Pagekite

stuurt het antwoord terug via de tunnel. Zo is

pagekite.net/downloads), maar het is handi-

noemen hun systeem een dyna-

je server indirect op een publiek domein be-

ger om het als een pakket te installeren, zodat

mische, getunnelde reverse proxy.

reikbaar, terwijl het niet rechtstreeks publiek

je updates krijgt. Debian (en dus ook Raspbian

Die bestaat uit een back-end en

bereikbaar is.

voor de Raspberry Pi) heeft een pakket van Pagekite in zijn standaardrepository, maar dat

een front-end. De back-end draai je op je server. Dit Python-script

INSTALLATIE

is vrij oud. Gelukkig hebben de makers van

configureert dns (zie het kader

Pagekite draait zoals gezegd op Win-

Pagekite hun eigen repository opgezet.

‘Dns?’) voor je server en opent

dows, macOS, Linux en BSD. We tonen hier

Voeg daarom eerst de repository van Pagekite

een tunnel naar een wereldwij-

hoe je het op Linux installeert, bijvoorbeeld

toe in Raspbian:

de pool van front-end-relays

op een Raspberry Pi. Op de andere bestu-

echo deb http://pagekite.net/pk/deb/

(doorgevers). Die relays van het

ringssystemen verloopt de installatie verge-

pagekite main | sudo tee -a /etc/apt/

Pagekite-project zijn servers met

lijkbaar, maar onder Windows moet je eerst

een publiek ip-adres en zijn voor

nog Python 2.7 installeren (www.python.org/

Voeg dan de sleutel toe waarmee de ontwik-

iedereen op internet bereikbaar.

downloads). De back-end is immers een Py-

kelaars van Pagekite hun pakketten onderte-

De front-end-software op die

thon-script, en op Windows is in tegenstelling

kenen:

relays draait leidt aanvragen om

tot Linux en macOS niet standaard Python

sudo apt-key adv --recv-keys

via de tunnel die door je back-end

geïnstalleerd.

--keyserver keys.gnupg.net

sources.list

AED248B1C7B2CAC3 Update de pakketbronnen en installeer tot

HET PYTHON-SCRIPT VAN PAGEKITE VOERT ZOWEL DE FUNCTIE VAN BACK-END ALS DIE VAN FRONT-END UIT

slot Pagekite: sudo apt-get update sudo apt-get install pagekite

ACCOUNT AANMAKEN De eerste keer moet je nog een account aanmaken bij de Pagekite-dienst. Het programma helpt je daarbij. Pagekite is een opdrachtregelprogramma, dus voor de Raspberry Pi start je een Putty-sessie op en voer je het daarin uit: pagekite –signup.

WIFI & NETWERK EXPERTGIDS

107


DOSSIER MASTERCLASS EEN RASPBERRY PI ALS VPN-SERVER

Een Raspberry Pi als vpn-server FILIP VERVLOESEM

ALTIJD TOEGANG TOT JE THUISNETWERK MET EEN VPN SURF JE OP HET INTERNET ZONDER DAT JE PROVIDER MEEKIJKT OF OMZEIL JE REGIOBLOKKADES VAN BEPAALDE WEBSITES. MAAR EEN VPN IS OOK HANDIG OM OVERAL VEILIG TOEGANG TE KRIJGEN TOT JOUW THUISNETWERK. IN DEZE WORKSHOP TONEN WE JE HOE JE JOUW EIGEN VPNSERVER OPZET MET EEN RASPBERRY PI.

Op zich heb je geen vpn nodig om toegang te krijgen tot je thuisnetwerk. Met enkele portforwarding-regels in je router kom je ook wel binnen. Maar portforwarding is niet altijd de beste oplossing. Veel services zijn standaard geconfigureerd voor maximaal gebruiksgemak binnen je thuisnetwerk. Zet je die services open voor het hele internet,

VOORDELEN VAN OPENVPN ZIJN ONDER ANDERE: DE PRIMA PRESTATIE EN DE UITGEBREIDE CLIENT-ONDERSTEUNING

dan zijn ze zelden afdoende beveiligd. Je moet je dus voor elke afzonderlijke service verdiepen

netwerk, namelijk de vpn-server.

breide client-ondersteuning. Je moet weliswaar OpenVPN

in de verschillende beveiligings-

Als je die afdoende beveiligt, hoef

op je client installeren om te verbinden met je vpn-server,

mogelijkheden. Dat is best een

je je over de rest van je netwerk

maar die client bestaat voor alle gangbare platformen:

tijdrovende klus. De kans bestaat

minder zorgen te maken.

Windows, Linux, macOS, Android en iOS. OpenVPN is ook erg flexibel qua configuratiemogelijkheden. Zo is het

dat je dan alsnog zaken over het hoofd ziet. Een vpn is wat dat

OPENVPN

bijvoorbeeld mogelijk om OpenVPN in te stellen op poort

betreft veel eenvoudiger. Er is

Er bestaat heel wat

443 om firewallrestricties te omzeilen. Bovendien bevat

één centraal toegangspunt tot je

vpn-software voor Linux, meestal

OpenVPN zelfs een functie om die poort te delen met een

compatibel met bestaande

webserver, zodat je zowel OpenVPN als Apache op dezelf-

protocollen van Microsoft of

de poort kunt draaien.

Cisco. Compatibiliteit met andere

Code downloaden Dit artikel bevat veel code. Om die niet te hoeven ­overtikken en als oplossing voor soms moeilijk leesbare code uit afbeeldingen, staat alle code in een zip-bestand voor je klaar op: www.pcmweb.nl/download

46

WIFI & NETWERK EXPERTGIDS

vpn-software is minder belang-

CERTIFICATEN

rijk voor jouw eigen vpn. Je be-

Voor OpenVPN moet je met certificaten aan de

heert immers zowel de server als

slag. Om te beginnen heb je een Certificate Authority of ca

de client(s), dus je bent volledig

nodig om jouw certificaten te beheren. Een ca bestaat in

vrij in je softwarekeuze. In deze

essentie uit een private key met bijbehorend certificaat en

workshop gaan we aan de slag

een lijst van geldige certificaten. Met de private key maak

met OpenVPN. Dat is gebaseerd

je nieuwe certificaten voor alle machines in je vpn. Om te

op de bekende OpenSSL-libraries

beginnen heeft de vpn-server zelf een certificaat nodig:

en TLS-encryptie. Voordelen van

dat is niet hetzelfde certificaat als het ca-certificaat!

OpenVPN zijn onder andere de

Vervolgens maak je voor elke client een extra certificaat

prima performance en de uitge-

aan. Elke machine heeft enkel zijn eigen private key en


DOSSIER MASTERCLASS EEN RASPBERRY PI ALS VPN-SERVER

1. Configureer je eigen certificate authority om vpn-certificaten aan te maken.

certificaat nodig, plus het ca-certificaat. In de praktijk doet de vpn-server meestal ook dienst als ca en dus bevat

2. De keys-directory bevat alle bestanden van onze certificate authority.

die machine alle certificaten. Wil je jouw setup extra beveiligen? Gebruik dan een andere machine als ca en plaats enkel de hoogstnodige bestanden op de vpn-server (eigen

De tweede stap duurt makkelijk

key en certificaat, plus ca-certificaat).

tien tot vijftien minuten op oudere Pi’s. De resulterende bestan-

RASPBERRY PI

den vind je terug in de submap

OpenVPN vereist geen erg krachtige hardware,

keys (zie afbeelding 2).

dus kozen we voor een Raspberry Pi. Download Raspbian Jessie Lite van https://www.raspberrypi.org/downloads/

SERVERCONFIGURATIE

raspbian, pak de download uit en schrijf die naar een sd-

Met Raspbians Open-

kaart met Win32DiskImager of dd. Koppel de boot-parti-

VPN-pakket kun je meerdere

tie van de sd-kaart even aan een Linux-systeem en plaats

vpn’s configureren op dezelfde

er een leeg bestand genaamd ssh. Boot je Pi vanaf de

machine. Je definieert een nieuw

sd-kaart en controleer in je router welk ip-adres de Pi ge-

vpn door een configuratiebestand

kregen heeft. Log nu in via ssh met de gebruiker pi en het

aan te maken in /etc/openvpn,

wachtwoord raspberry. Het handmatig opzetten van een

bijvoorbeeld home.conf. In

ca-infrastructuur is behoorlijk complex. Gelukkig levert

afbeelding 3 zie je een minimaal

OpenVPN met easy-rsa een reeks scripts mee om die taak

configuratiebestand voor een

te vereenvoudigen. Installeer om te beginnen openvpn:

OpenVPN-server: we doorlopen

apt install openvpn

de belangrijkste parameters. Met

Gebruik daarna het volgende commando om easy-rsa te

de opties proto en port kies je

integreren met OpenVPN:

respectievelijk het protocol en

m ake-cadir /etc/openvpn/ca

de poort voor OpenVPN. Wij

Open nu het bestand /etc/openvpn/ca/vars en vul daarin

houden de standaardinstellingen

jouw persoonlijke gegevens in (zie afbeelding 1). De meeste

aan, maar vaak kiest men voor

opties spreken voor zich. Bij KEY_ORG vul je de naam van

tcp en port 443 om firewall­

jouw organisatie in of gewoon je eigen naam. KEY_OU is

restricties te omzeilen. Bij local

de afdeling binnen jouw organisatie (Organisational Unit).

vul je het lan-ip-adres van je Pi

Is dat niet van toepassing voor jou, vul dan bijvoorbeeld

in en bij server het gewenste

OpenVPN in. Vervolgens voer je onderstaande reeks

netwerkadres voor jouw vpn.

commando’s uit om de nieuwe configuratie in te lezen, de

Zorg dat dat niet overlapt met

dh-parameters te berekenen (benodigd voor het uitwisse-

het netwerkadres van de lokale

len van encryptiesleutels tussen client en server) en zowel

netwerken die jij gebruikt! De

een ca-certificaat als een certificaat voor de vpn-server

parameters op regel 7 t/m 10 uit

aan te maken.

afbeelding 3 verwijzen naar de

source vars

benodigde bestanden van onze

./clean-all

certificate authority en met

./build-dh

de laatste vier (regels 12 t/m 15)

./pkitool -initca

schroeven we de beveiliging nog

./pkitool -server raspberrypi

wat op. Werk je nog met Open-

Vpn op je router Vaak bieden routers ondersteuning voor een OpenVPN-server. Dat is best handig, want zo hoef je geen extra apparaat te installeren en te beheren om toegang tot je thuisnetwerk te krijgen. Ondersteunt jouw router geen OpenVPN, controleer dan even of je DD-WRT kunt installeren. Op oudere of minder krachtige routers zullen de vpn-prestaties wel beduidend slechter zijn dan via je Raspberry Pi. Een tweede nadeel is dat de interface je meestal erg weinig instellingen laat aanpassen. Daarom raden we je aan om tóch een afzonderlijke Pi te gebruiken als OpenVPN-­ server. Dat biedt meer flexibiliteit. Voor de aanschafprijs of het stroomverbruik hoef je het echt niet te laten!

WIFI & NETWERK EXPERTGIDS

47


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.