Er gaan al enkele jaren stemmen op, dat het vijf voor twaalf is. Nog maar een paar IPv4-adressen over, dus we moeten overstappen naar IPv6. Wel even opletten dat u veilige switches gebruikt.
Heel het internetverkeer en vrijwel ook alle lokale netwerkverkeer draait met het netwerkprotocol tcp/ip. De basis daarvan is het 'internet protocol' of kortweg IP. Sinds 1981 gebruiken we versie 4 van dat protocol: IPv4. Het werkt met adressen die 32 bits lang zijn. Daarmee kunnen we maximaal 4,3 miljard (232) verschillende adressen ondersteunen. Helaas zijn we daar niet bepaald zuinig mee omgesprongen. Bedrijven namen hele adresblokken in beslag, ook al hadden ze lang zoveel adressen niet nodig. Gebruikers en toestellen die niet vanaf het internet bereikbaar moesten zijn, kregen toch allemaal een uniek en publiek ip-adres. Het gevolg is dat vrijwel alle adressen opgebruikt zijn.
Een nieuw protocol, IPv6 (v5 hebben we min of meer overgeslagen), lost dit probleem op. IPv6 werkt met adressen van 128 bits en daarmee kunnen we 2128 of 3,4*1038 (3,4 maal tien tot de 38ste) unieke adressen toewijzen. Dat is zo'n gigantisch groot aantal, dat we dit nooit zullen kunnen opgebruiken. Zelfs niet als we interstellaire ruimtevaart ontwikkelen en de mensheid zou uitzwerven over het heelal.
Implementatie
Over hoe de adressering van IPv6 in elkaar zit, hebben we het al in een eerder artikel gehad. (Tweede adem voor het internet.) We stellen helaas vast, dat er nog niet veel veranderd is op het gebied van de implementatie van IPv6 sinds 2008, toen we dat artikel schreven. Internetproviders ondersteunen IPv6 zo goed als niet voor gewone gebruikers. De overgrote meerderheid van de gewone breedbandrouters, ondersteunt nog steeds geen IPv6. AVM is met de recent geïntroduceerde FRITZ!Box 7390 een gelukkige uitzondering. Ook D-Link en Cisco hebben SOHO-routers met IPv6, maar de implementatie is meestal nog niet honderd procent compleet. De meeste adsl- en kabelmodems weten niets van IPv6. Uw netwerkprinter, -camera of -mediaserver ondersteunt meestal evenmin IPv6. En zo kunnen we nog wel een tijdje doorgaan.
Functionaliteit
IPv6 biedt enkele nieuwe functionaliteiten die IPv4 niet heeft en die het leven van de netwerkbeheerder zouden moeten vergemakkelijken. Zo moest de netwerkbeheerder oorspronkelijk zelf zorgen voor het uitreiken van ip-adressen, want dat zit niet in IPv4 ingebouwd. Er was wel een serie niet-routeerbare privéklasse-adressen gedefinieerd, maar standaard was niets voorzien om terugkoppeling vanaf een publiek netwerk mogelijk te maken. Dat moest dus allemaal achteraf en apart geregeld worden, met protocollen als dhcp, bootp, of rarp voor de adrestoewijzing en NAT (Network Address Translation) voor de terugkoppeling van publieke naar private netwerken.
IPv6 definieert dat soort toepassingen gelukkig meteen. U hebt dus geen adrestoewijzings- of -vertalingsprotocollen zoals dhcp en NAT meer nodig. Een IPv6-router zorgt daar zelf voor en doet het volledig automatisch. Er is wel geregeld dat u toch een apart toewijzingsprotocol kunt gebruiken: DHCPv6. Maar dat is dus niet echt nodig.
Promiscue routers
Al die nieuwe mogelijkheden openen helaas ook wel een paar deuren voor kwaadwillige hackers. Zo herkennen en gebruiken IPv6-netwerkstations volautomatisch de dichtstbijzijnde IPv6-router. Als een hacker erin slaagt zijn eigen netwerkstation in een netwerk te pluggen, vormt dit een beveiligingsrisico. De hacker kan zijn 'rogue' netwerkstation als IPv6-router inrichten en hup! – de netwerkstations routen al hun verkeer via de hackerrouter. Een dergelijke promiscue router vormt een ernstig beveiligingsprobleem. Onlangs verschenen nieuwsberichten die Microsoft bekritiseerden omdat Windows 7 probleemloos overschakelt naar zo'n promiscue IPv6-router. Die kritiek is oneerlijk. Het zit immers gewoon ingebakken in het IPv6-protocol en Linux en Mac OS X hebben dus last van hetzelfde probleem. Maar bij Windows 7 staat het in tegenstelling tot de concurrentie wel standaard ingeschakeld en is Ipv6 het voorkeursprotocol. Het is dus wel iets dat u zeker niet mag negeren en het moet echt worden onderzocht en opgelost.
Router announcement
Het beveiligingsprobleem wordt veroorzaakt door een functionaliteit van IPv6 die het gebruiksgemak en de gebruiksvriendelijkheid had moeten verhogen. Ze heet IPv6 RA ('router announcement' of aankondiging van een beschikbare router). De bedoeling is de gebruiksvriendelijkheid te verhogen. Als een IPv6-netwerkstation in een vreemd netwerk geplugd wordt, krijgt het immers volautomatisch de benodigde informatie om van de netwerkverbinding gebruik te maken. Helaas kan die functionaliteit dus ook misbruikt worden om het netwerkverkeer van dat hele netwerksegment om te leiden naar een IPv6-router van een hacker. Daarmee kan die hacker het hele netwerkverkeer onderscheppen en analyseren. Op die manier kan hij bijvoorbeeld gebruikersnamen en wachtwoorden van veel internetapplicaties (mail, ftp, webtoegang, noem maar op) onderscheppen. Veel van die internetapplicaties werken immers met niet-versleutelde inlogprocedures.
IPV6-beveiliging
Bij grote vrijheid hoort ook grote verantwoordelijkheid. Grote vrijheid inzake configuratiemogelijkheden brengt doorgaans ook grote beveiligingsproblemen met zich mee. Een IPv6-netwerk zult u dus moeten beveiligen. Zo zult u geen promiscue routers in uw netwerk willen toestaan. Er zijn al IPv6-switches op de markt die OSI laag 2-beheer aan boord hebben en filtering aan boord hebben voor het IPv6-protocol. Daarmee kunt u elk IPv6-RA-verkeer blokkeren behalve voor de door u gewenste geautoriseerde IPv6-router. Ook bij switches die geen specifieke IPv6-filtering aan boord hebben, maar wel laag 2-beheer voorzien, kunt u met een MAC-filter ervoor zorgen dat slechts één systeem IPv6-RA door de switch mag sturen en al de rest niet. En voor netwerken waarvoor u nog geen dergelijke switch heeft – die zijn natuurlijk duurder dan de gewone switchen – zal een verantwoordelijke netwerkbeheerder IPv6-sniffers moeten gebruiken die alarm slaan zodra er IPv6 RA's ontdekt worden van ongeautoriseerde systemen. We kennen momenteel echter maar één dergelijke in IPv6-verkeer gespecialiseerde sniffer, namelijk Command Information Assure6.
Valkuilen
Helaas is de IPv6-beveiliging niet altijd zo eenvoudig. Netwerkapparatuurfabrikant Cisco is bijvoorbeeld op het idee gekomen om een serie switches te produceren die er rekening mee houden dat hackers promiscue IPv6-routers aan het netwerk proberen toe te voegen met een onzichtbaar MAC-adres. Het was bedoeld als beveiligingsmaatregel, maar helaas had het ook tot gevolg dat het daardoor onmogelijk werd in deze switches IPv6-verkeer te filteren op MAC-adresniveau. En laat MAC-filtering nu juist een van de belangrijkste beveiligingssystemen zijn voor draadloze netwerken en ook voor netwerken die nog geen of zeer weinig IPv6-functionaliteit aan boord hebben. Doordat deze Cisco switches geen IPv6-filtering op MAC-adresniveau meer toestaan, vergroten ze het risico juist! In zo'n geval is de enige oplossing in uw netwerkclients (Windows 7, Linux, Mac) het IPv6-netwerkprotocol uit te schakelen.
Hou er dan wel rekening mee dat IPv6 bij Windows Vista en Windows 7 standaard ingeschakeld staat en ook het voorkeursprotocol is. U kunt het protocol wel uitschakelen, maar niet verwijderen. Windows Vista en 7 gebruiken het intern voor alle basisnetwerkverkeer. Dat is dus een mogelijk extra beveiligingsrisico dat netwerkbeheerders in het oog zullen moeten houden.
Bij de meeste Linux-distributies staat IPv6 standaard uitgeschakeld en geeft het systeem dus de voorkeur aan IPv4 als dat beschikbaar is. Bij Linux en Mac moet u er dus rekening mee houden dat u IPv6 pas inschakelt als het netwerk switches gebruikt die MAC-filtering voor IPv6 mogelijk maken of zelf IPv6-filtering aan boord hebben. Zolang dergelijke switches niet voorzien zijn, kunt u beter voor dergelijke netwerksegmenten geen IPv6 gebruiken.
China
U had het misschien niet verwacht, maar China (en we bedoelen de Volksrepubliek) loopt voorop met het gebruik van IPv6. Nu blijken Chinese IPv6 switches geen afscherming tegen promiscue IPv6 routers aan boord te hebben, net zoals een aantal switches van Amerikaanse fabrikanten. Bovendien blijkt China in april geëxperimenteerd te hebben met het omleiden van een belangrijk deel van het Amerikaanse internetverkeer via hun eigen systemen. De afwezigheid van IPv6-filtering in IPv6 netwerken maakt zoiets dus wel degelijk mogelijk. We zullen maar aannemen dat dit Chinese omleidingsexperiment (dat dus met succes verliep!) de Amerikanen de schrik van hun leven bezorgd heeft. En dat hun netwerkfabrikanten dus voortaan IPv6 filtering inbouwen in hun switches. Juniper heeft een EX10 serie switches die IPv6 filtering ondersteunen. Bij Cisco ondersteunt een groot aantal van hun swiches het niet of maakt het zelfs onmogelijk (zoals hierboven aangehaald). Kijk dus goed uit welke netwerkapparatuur u in huis haalt als u IPv6 wenst te ondersteunen.
Conclusie
De beveiligingsimplicaties van IPv6 moeten ernstig overwogen worden voor het implementeren ervan, maar dit is geen argument tegen IPv6. Het betekent wel dat u moet weten wat er allemaal in uw bedrijfsnetwerk omgaat. Die vereiste bestaat ook in een IPv4-netwerk. Alleen brengt IPv6 enkele nieuwigheden met zich mee, waarin u zich best eerst grondig verdiept. Eens IPv6 algemeen verspreid is, zullen de beveiligingsvereisten voor netwerken trouwens niet grondig verschillen van de huidige vereisten. Zo groot zijn de technische verschillen tussen IPv4 en IPv6 nu ook weer niet.
“Onlangs verschenen nieuwsberichten die Microsoft bekritiseerden omdat Windows 7 probleemloos overschakelt naar zo’n promiscue IPv6-router. Die kritiek is oneerlijk.”
Vreemde conclusie dat die kritiek oneerlijk is, want het volgende kan en mag je absoluut niet wegwimpelen:
“Het zit immers gewoon ingebakken in het IPv6-protocol en Linux en Mac OS X hebben dus last van hetzelfde probleem. Maar bij Windows 7 staat het in tegenstelling tot de concurrentie wel standaard ingeschakeld en is Ipv6 het voorkeursprotocol.”
M.a.w: de kritiek is gewoon eerlijk. Iets wat niet veilig is, moet standaard niet aan staan. Zo kip en klaar als een klontje. Dit is typisch ‘feature above security’, iets wat goed is voor de klandizie (want nu heb je geen beheerders nodig om de boel in te stellen – immers: het is standaard al ingesteld!) maar heel heel erg slecht voor de veiligheid.
En dan later weer klagen dat er gegevens gelekt zijn. Ja geen wonder, als iedereen blind achter ’t typische ‘feature above security’-beleid van Microsoft staat…
Grappig dat dit weer als ‘nieuws’ gepresenteerd wordt. Ik dacht dat komkommertijd tijdens de zomermaanden was.
Hoe dan ook, het klopt dat je als je een router in een netwerk hangt het IPv6 verkeer naar je toe kunt trekken. Alleen is het je reinste onzin om dit als specifiek beveiligingsrisico van IPv6 af te schilderen. Ik vraag me ook af wat de auteur hiermee denkt te bereiken. Ook in een IPv4 netwerk kun je verkeer naar je toe trekken door een DHCP server in te pluggen. Enige voorwaarde is dat die sneller moet zijn dan de DHCP server die in het netwerk aanwezig is, maar dat is meestal niet zo moeilijk. DHCP is typisch zo’n taak die op een server wordt gedraaid die ook nog druk is met andere dingen, dus als je een DHCP server installeert op je laptop ben je meestal zo het heertje.
Ook als je je niet wilt of kunt mengen in de toewijzing van IP adressen, kun je ARP replies sturen (of zelfs gatuitous ARP packets) voor het MAC adres van de gateway en zo in een klap *alle* verkeer naar je toe trekken.
Laten we dus niet doen alsof IPv6 een beveiligingsrisico introduceert. Het enige is dat IPv6 een beveiligingsrisico wat al veel langer bestond niet oplost.
Alex, in de conclusie staat dit ook duidelijk zo verwoord: ‘Eens IPv6 algemeen verspreid is, zullen de beveiligingsvereisten voor netwerken trouwens niet grondig verschillen van de huidige vereisten. Zo groot zijn de technische verschillen tussen IPv4 en IPv6 nu ook weer niet.’ Er komen gewoon weer wat dingen bij waar je als beheerder goed op moet letten.
Jozef,
Er zijn wel degelijk verbeteringen ten aanzien van beveiliging met IPv6, zoals :
* Fragmentatie beveiligingsproblemen zijn verholpen
* IPSEC is geïntegreerd
* Authenticatie is ook mogelijk zonder encryptie
* ICMPv6 is beschermd door IPSEC, doordat het gebruik maakt van IPv6.
* Duplicate Address Detection Mechanism is toegevoegd
* IPv6 verkeer kan beter gefilterd worden
Dus inderdaad, er zijn nieuwe problemen bijgekomen, maar het is ook niet zo dat er niets opgelost is.
Prima dat je naar de conclusie verwijst, maar de titel is en blijft “ÏPv6 switches zonder filtering zijn onveilig”. Dat suggereert toch echt wat anders. Bovendien is de kreet “IPv6 switch” al niet correct, aangezien een switch zich met het verkeer tot en met layer 2 bezighoudt en IP (of het nou v4 of v6 is) een layer 3 protocol is. Elke switch met ondersteuning voor multicast is dus voor IPv6 te gebruiken, daar heb je geen specifieke “IPv6 switch” voor nodig.