Wireless Security
- May 18, 2017
- 0
Nu iedereen een smartphone bezit, vragen bezoekers bij jou thuis wellicht naar het wachtwoord van je draadloos netwerk. Uiteraard wil je hen laten surfen via jouw internetaansluiting. Maar daarom hoef je ze niet meteen onbeperkte toegang te geven tot jouw gehele netwerk! In deze workshop configureren we een volledig afgeschermd gastnetwerk.
Er zijn verschillende redenen te bedenken waarom je jouw gasten niet op jouw eigen netwerk wilt hebben. Zo vind je in de meeste thuisnetwerken wel enkele onbeveiligde netwerkservices, zoals Samba-shares of netwerkprinters. Het is immers veel handiger om gedeelde mappen of printers in je eigen thuisnetwerk niet te beveiligen. Maar je wilt misschien niet dat iedereen jouw printer kan gebruiken of in je bestanden begint te rommelen. Andere services kunnen dan weer moeilijk beveiligd worden, zoals een UPnP-mediaserver. Tot slot wil je misschien ook niet dat anderen de bandbreedte van je internetverbinding volledig opgebruiken door grote torrents te downloaden. Dat zijn allemaal zaken die je erg moeilijk kan verhinderen binnen één en hetzelfde netwerk. Om die redenen verkiezen we voor onze gasten dus een volledig afgeschermd netwerk met (beperkte) internettoegang.
VLAN
Voor een afgeschermd netwerk hoef je niet meteen een tweede accesspoint, router en switch in huis te halen. Dankzij de VLAN- of Virtual LAN-technologie definieer je meerdere virtuele netwerken op één fysiek netwerk. Immers, fysiek heb je hoogstwaarschijnlijk slechts één netwerk in huis: je router, switch(es), wireless access point(s), PC’s, enzovoorts zijn allemaal op elkaar aangesloten. Dit netwerk deel je vervolgens op in verschillende virtuele netwerken, bijvoorbeeld één voor jouw apparaten en een tweede voor gasttoegang. Elk netwerk heeft zijn eigen network range (bijvoorbeeld 192.168.1.1-254 en 192.168.10.1-254), default gateway, DHCP- en DNS-servers. Op je router stel je vervolgens in hoe de verschillende VLAN’s al dan niet met elkaar mogen communiceren.
Devices
VLAN’s voor ethernet zijn gedefinieerd in de open standaard IEEE 802.1Q. Het is belangrijk dat alle netwerkdevices in je netwerk die standaard ondersteunen, anders werkt het niet. Voor mid-range en high-end draadloze routers/access points is dat meestal het geval. Alternatieve firmware, zoals DD-WRT of OpenWRT, kan eventueel uitkomst bieden als je router geen VLAN’s ondersteunt. Goedkope switches daarentegen ondersteunen nooit VLAN’s. Daarvoor moet je overstappen op een zogenaamde smartswitch. Gelukkig zijn dergelijke apparaten ook voor thuisgebruik best betaalbaar. Een 16-poort Gigabit smartswitch vind je bijvoorbeeld al vanaf € 100. Dat lijkt misschien duur, maar vergeet niet dat dergelijke apparaten gemakkelijk vijftien jaar of langer meegaan. Tegen die tijd heb je jouw wireless access point waarschijnlijk al drie keer moeten vervangen!
Voor deze workshop gebruikten we volgende hardware:
-
Engenius ECB350 als wireless access point;
-
Netgear ProSAFE GS724Tv4 als switch;
-
Ubiquiti EdgeRouter Lite als router.
Gebruik je andere hardware? Concentreer je bij het lezen van deze workshop dan vooral op wat we configureren en niet hóe we dat doen. Het belangrijkste is dat je de concepten begrijpt die je nodig hebt, waar je dit vervolgens configureert is eigenlijk maar bijzaak. Verschillende fabrikanten gebruiken immers erg uiteenlopende webinterfaces.
Veilig herconfigureren
Bij het configureren van VLAN’s op je switch, router of wireless access point is het geregeld mogelijk dat de connectie tussen jouw pc en het device verbroken wordt. Plaats je bijvoorbeeld de switchpoort van het access point in een VLAN, dan werkt dit pas correct als je die VLAN ook op het access point configureert (en vice versa). Je vliegt dus meteen uit de webinterface van je switch als je dit vanaf een laptop doet die draadloos verbonden is! Daarom raden we aan om alle VLAN-configuratiewijzigingen uit te voeren vanaf een laptop die je rechtstreeks verbindt (met een Ethernet-kabel) met het netwerk device in kwestie.
Switch
We beginnen onze VLAN-configuratie in de switch. In onze Netgear switch vinden we dat onder Switching > VLAN. Standaard plaatst Netgear alle poorten in VLAN1: die VLAN gebruiken we dus voor ons eigen netwerk. Een extra VLAN maak je aan door een VLAN ID en VLAN Name te kiezen, waarna je op ‘Add’ en ‘Apply’ klikt. Het ID is een uniek getal tussen 1 en 4093 dat al het netwerkverkeer voor het VLAN identificeert. Wij kozen VLAN 10 voor ons gastnetwerk. Vervolgens ga je naar Advanced > VLAN Membership, waar je per VLAN instelt welke poorten in die VLAN horen. Netgear maakt hierin nog het onderscheid tussen ‘tagged’ (T) en ‘untagged’ (U) membership. Kort gezegd, komt het verschil hierop neer: wil je een bepaalde poort in slechts één VLAN plaatsen, gebruik dan ‘untagged’. Op de client op die poort (bijvoorbeeld een Linux-pc) hoef je dan verder niets in te stellen. Voor de client lijkt het alsof die met een normaal netwerk verbonden is, maar de switch voegt de VLAN-tag op de achtergrond toe. Voor een poort in meerdere VLAN’s gebruik je ‘tagged’. De client voegt zelf reeds de VLAN-tags toe, zodat de switch weet in welke VLAN dit verkeer thuishoort. Uiteraard moet je die VLANs dan ook op de client configureren.
Onze setup ziet er als volgt uit:
-
Op poorten 2 en 6 bevinden zich twee access points, terwijl op poort 16 de router is aangesloten. Gasten mogen deze devices uiteraard gebruiken.
-
Op poort 18 is een BeagleBone Black aangesloten die dienst doet als server. Ook die mag toegankelijk zijn voor gasten.
-
De overige poorten worden gebruikt voor bekabelde verbindingen naar PC’s, TV’s, enzovoorts. Hier hebben gasten niets te zoeken.
De poorten van de netwerk devices (2, 6, 16 en 18) krijgen dus een tagged membership voor zowel VLAN1 als VLAN10. De overige poorten laten we op untagged in VLAN1 staan. Wil je een device met Ethernet-aansluiting uitsluitend in het gastnetwerk plaatsen? Gebruik dan een untagged membership in VLAN10. De webinterface van de switch is trouwens enkel bereikbaar voor clients in de zogenaamde Management VLAN. Standaard is dat VLAN1, maar onder System > Management > IP Configuration pas je dat eventueel aan.
VLAN-configuratie per poort voor Netgear GS724T
Router
Intussen is onze router afgesneden van de switch, omdat hij nog geen VLAN-tags doorstuurt. Sluit je laptop dus rechtstreeks aan op je router om de webinterface te openen. We moeten nu voor elke VLAN een virtuele interface definiëren. Ga daarvoor naar Dashboard > Add Interface > Add VLAN. Vul hetzelfde VLAN ID in als op de switch, selecteer de fysieke interface die verbonden is met je switch (eth0 in ons geval) en stel het juiste IP-adres in. Voor VLAN1 kiezen we 192.168.1.1 (hetzelfde IP-adres als voorheen) en voor VLAN10 192.168.10.1. De EdgeRouter maakt nu de interfaces eth0.1 en eth0.10 voor ons aan. Voor de eth0-interface verwijder je het IP-adres, omdat al het netwerkverkeer vanaf nu via één van de VLANs verloopt.
In de router voegen we dezelfde VLANs toe.
Vervolgens ga je naar Services > DHCP Server en klik je op ‘Add DHCP Server’. Je moet immers een DHCP-server definiëren in elk VLAN: anders krijgen je gasten geen IP-adres van je router. Als naam kies je bijvoorbeeld ‘VLAN10’ en als subnet 192.168.10/24. De overige opties zijn optioneel, al stel je wel het beste het VLAN10 IP-adres van je router in als ‘Router’ en ‘DNS 1’. Vergeet ook niet om in het tabblad ‘DNS’ via ‘Add Listen Interface’ de nieuwe VLAN-interfaces toe te voegen. Doe je dat niet, dan werkt de ‘DNS 1’-optie van de DHCP-server uiteraard niet!
Configuratie van de DHCP-server in ons gast-VLAN
NAT
Momenteel kunnen clients in de nieuwe VLAN al met elkaar communiceren, maar nog niet met het internet. Daarvoor moeten we Network Address Translation ofwel NAT instellen. In de EdgeRouter vind je dit in het onderdeel Firewall/NAT, onder het tabblad NAT. De NAT-regels zijn verder onderverdeeld in Source NAT (van jouw netwerk naar buiten) en Destination NAT (van buiten naar jouw netwerk). Die laatste mag je voor deze workshop negeren. Onder Source NAT vind je wellicht al een NAT-regel voor al het verkeer van de vroegere fysieke interface (nu VLAN1), bijvoorbeeld 192.168.1.1. Je kan die kopiëren voor VLAN10(via Actions > Copy), maar je kan ook een lege regel toevoegen via ‘Add Source NAT Rule’. Zorg er in ieder geval voor dat de nieuwe regel volgende instellingen bevat:
-
Enable: aangevinkt;
-
Outbound interface: pppoe0;
-
Translation: Use Masquerad;
-
Protocol: All protocols;
-
Src Address: 192.168.10.0/24.
Klaar? Dan rest ons nog één stap en dat is het opzetten van een tweede draadloos netwerk.
Access point
Ook het access point is momenteel afgesneden van de router. Sluit je laptop dus rechtstreeks aan op het access point om dit te herconfigureren. Bij de Engenius ECB350 ga je eerst naar Management > Management VLAN en vul je ‘1’ in bij ‘Specified VLAN ID’. Klik op ‘Accept’ en vervolgens op ‘Save & Apply’ onder ‘Save/Reload’ in de navigatiebalk links. Na een reboot van het access point is dit terug bereikbaar via VLAN1. Vervolgens ga je naar ‘Wireless Network’ en klik je op de knop ‘Edit’ bij het eerste SSID in de lijst (dit is jouw huidige draadloze netwerk). Vul hierbij het VLAN ID 1 in en klik op ‘Save’. Daarna vink je de optie ‘Enable’ aan bij de tweede regel in de lijst van SSID’s en klik je op ‘Edit’ om dit tweede netwerk in te stellen. Dit moet hetzelfde VLAN ID hebben als het gastnetwerk op je router en je switch: in ons voorbeeld dus 10. De overige instellingen vul je naar keuze in: SSID, beveiligingsmethode en wachtwoord. Vergeet ook niet om de optie ‘Isolation’ aan te vinken voor beide netwerken in het overzicht van SSID’s. Is dat gebeurd, pas de instellingen dan toe via ‘Accept’ > ‘Save/Reload’ > ‘Save & Apply’.
Een extra SSID voor het gastnetwerk in VLAN10
NAT groups
Maak nu even met je laptop verbinding met het nieuwe SSID en test of je aan het internet en aan je andere VLAN kan. Dat eerste zou probleemloos moeten werken, het tweede uiteraard niet. Lukt dat? Prima, maar daarmee is onze workshop nog niet afgelopen! We willen immers niet zomaar onbeperkt internettoegang geven aan onze gasten. Niet dat we onze gasten persé wantrouwen, maar het is ook niet de bedoeling dat ze gigabytes aan torrents beginnen te downloaden via ons netwerk! Gelukkig biedt de EdgeRouter verschillende mogelijkheden om het netwerkverkeer vanaf het gastnetwerk te beperken. Daarvoor ga je opnieuw naar het onderdeel ‘Firewall/NAT’. We raden aan om eerst onder Firewall/NAT Groups een aantal network groups en port groups te definiëren. Dat maakt het toevoegen van firewall- of NAT-regels daarna een stuk eenvoudiger. Stel dat je bijvoorbeeld toegang wilt geven tot e-mail services, dan definieer je volgende port group:
-
Name: E-mail
-
Port: 25, 465, 587, 143, 993, 110, 995
Port groups vereenvoudigen het beheer van NAT- en firewall-regels
(De eerste drie poorten worden gebruikt voor SMTP, de volgende twee voor IMAP en de laatste twee voor POP3.) Voeg een zinvolle beschrijving toe aan port group. Op basis van die beschrijving kies je immers de gewenste port group in de firewall- en NAT-configuratie. Ook port groups voor Web- (poorten 80 en 443) en DNS-verkeer (poort 53) komen misschien van pas. Network groups zijn weer vooral handig als je meer dan twee VLAN’s gebruikt op jouw netwerk. Dan maak je bijvoorbeeld één network group voor je persoonlijke VLAN’s en een tweede voor je gasten-VLAN’s. Heb je de nodige groepen gedefinieerd? Ga dan naar het NAT-onderdeel en verwijder de NAT-regel voor VLAN10 die je eerder had toegevoegd. In de plaats daarvan maken we drie meer specifieke NAT-regels aan om enkel ICMP- (zoals ping), HTTP(S)- en SMTP/IMAP/POP3-verkeer toe te staan. Die NAT-regels lijken erg op de eerder gedefinieerde regel, met volgende verschillen:
1. Protocol: ICMP;
2. Protocol: TCP, Dest Port Group: HTTP, HTTPS (of de naam die jij aan die port group gegeven hebt);
3. Protocol: TCP, Dest Port Group: SMTP, IMAP, POP3.
Met source NAT rules beperk je de internettoegang van het gastnetwerk
Firewall
Tot slot definiëren we nog enkele firewall-regels om de gasttoegang verder te beperken. Firewall-regels zijn steeds gegroepeerd in zogenaamde ‘rulesets’. Standaard bevat de EdgeRouter twee rulesets, WAN_IN en WAN_LOCAL genaamd. Die bevatten regels voor netwerkverkeer afkomstig van het internet (WAN) en bestemd voor jouw LAN (IN) of de router zelf (LOCAL). Beide rulesets zijn identiek:
-
default action: drop;
-
accept established and related connections;
-
drop invalid connections.
Die rulesets zijn een goed uitgangspunt voor twee rulesets genaamd VLAN10_IN en VLAN10_LOCAL. Via Actions > Copy ruleset kopieer je een bestaande ruleset naar een nieuwe ruleset. Laten we beginnen met de VLAN10_LOCAL ruleset, dat is het netwerkverkeer vanuit VLAN10 en bestemd voor de router zelf. Aangezien onze gasten niets te zoeken hebben op de router, moet je enkel DNS- en ICMP-verkeer toelaten: dit zijn twee afzonderlijke regels (zie afbeelding 7). Via ‘Add New Rule’ voeg je extra firewall-regels toe. Bestudeer nauwkeurig de opties in verschillende tabbladen: zo stel je onder ‘Basic’ het protocol in (ICMP of TCP in ons voorbeeld) en de standaardactie (drop) en onder Destination het IP-adres van de router in VLAN10 (192.168.10.1) en de gewenste port group (DNS). Teruggekomen in het overzicht van firewall-regels kan je de regels eventueel herordenen door ze te verslepen en nadien op ‘Save Rule Order’ te klikken. Vergeet ook niet onder het tabblad ‘Interface’ de correcte interface (eth0.10) en direction (local) in te stellen. Staat alles goed ingesteld? Test dan vanaf een machine in het gastnetwerk of je de webinterface van de router nog kan openen. Dit zou niet mogen werken: onder het Stats-tabblad zie je dan pakketten toekomen in de DEFAULT ACTION-regel.
de VLAN10_LOCAL firewall ruleset
De VLAN10_IN-ruleset -netwerkverkeer vanuit VLAN10 naar het internet of andere VLAN’s- is erg gelijkaardig (zie afbeelding 8). Kopieer de VLAN10_LOCAL-ruleset en verander de direction naar ‘in’ onder ‘Interface’. De regel voor DNS-verkeer mag je verwijderen: de clients krijgen immers via DHCP te horen dat ze onze router als DNS-server moeten gebruiken. In de VLAN10_IN-ruleset hoeven we dus geen DNS-request meer toe te laten. De laatste regels lijken erg op de DNS-regel in VLAN10_LOCAL: enkel de port group verschilt. Met de eerste regel zorgen we dat het gastnetwerk strikt gescheiden blijft van de andere VLAN’s en met de tweede regel blokkeren we P2P-netwerkverkeer. Daarvoor kies je onder ‘Advanced’ in het rule configuration venster de optie ‘All’ onder ‘P2P’. 100% sluitend is dat misschien niet, maar zo blokkeren we toch al een groot deel van het potentiële P2P-verkeer.
De VLAN10_IN firewall ruleset
Uiteraard stoppen de mogelijkheden hier niet. Vooral van de EdgeRouter hebben we slechts enkele functies benut. Zo kan je bijvoorbeeld de up- en downloadsnelheden van specifieke VLAN’s beperken of de toegang tot je gastnetwerk gedurende bepaalde dagen of tijdsstippen uitschakelen. Maar dat is dan weer voer voor een ander artikel!