vrijdag 18 februari 2011

IPv6 en Security - of - Waarom er meer firewalls nodig zijn nu internet op is

"Laatste IPv4-blocks zijn toegewezen". Zo verscheen er een artikel op tweakers.net op 3 februari. Dus, tijd om langzaam aan over te stappen op IPv6. Maar, wat voor gevolgen heeft die overstap voor de internettende thuisgebruiker?


Voordat we die vraag kunnen beantwoorden, is het misschien niet onverstandig om uit te leggen wat "IPv4" en "IPv6" zijn.

IPv4:
IPv4 staat voor "Internet Protocol version 4", en is een protocol dat op dit moment wereldwijd gebruikt wordt voor alle communicatie via het internet. Het protocol viert dit jaar zijn 30ste verjaardag, het stamt namelijk uit 1981. Het idee is dat elk systeem dat verbinding maakt met internet een zogenaamd "IP Adres" heeft, net als dat elk huis en bedrijf in de wereld een normaal adres heeft. Met dit adres kunnen systemen elkaar vinden, en met elkaar communiceren.

Het probleem is dat na 30 jaar, de spreekwoordelijke rek een klein beetje uit IPv4 is. Toen het verzonnen werd in 1981 hebben er enkele mensen over nagedacht, en die kwamen waarschijnlijk tot de conclusie dat: "Internet vast nooit zo groot zal worden". Over klassieke uitspraken gesproken.

In ieder geval, de address range (alle beschikbare adressen) ligt tussen de 0.0.0.0 en de 255.255.255.255. De snelle hoofdrekenaar komt dan uit op zo'n 4,294,967,296 beschikbare adressen. Dit klinkt als heel veel, maar als je bedenkt dat er eind 2010 ongeveer 6,500,000,000 aardbewoners waren, zie je al dat er in ieder geval niet genoeg is om iedere wereldbewoner één IP adres te geven. Helaas hebben sommige mensen meerdere computers, en ook dingen als telefoons en tablets die allemaal internet hebben.

Daarnaast zijn lang niet alle adressen daadwerkelijk beschikbaar. Sommige zijn gereserveerd voor systeemgebruik, voor interne netwerken, en zelfs sommige grote bedrijven hebben complete blokken gereserveerd.

NAT
Oké, dus er zijn niet genoeg IP adressen beschikbaar om elk apparaat een uniek adres te geven, dus hoe gaat dat dan op dit moment? Met een systeem dat men "Network Address Translation" (NAT) noemt. Wat doet NAT? In een notenschilletje, zorgt het ervoor dat meerdere apparaten gebruik kunnen maken van één IP adres (door bijvoorbeeld een router te gebruiken).

Veel mensen hebben dit thuis (zonder het te weten, vaak) draaien, om de computer en de laptop tegelijk op het internet te krijgen. Deze computer en laptop hebben dan IP adres 192.168.1.10 en 192.168.1.11 (bijvoorbeeld). Deze adressen hebben ze van de router gekregen, en zijn alleen voor intern gebruik. De router combineert het verkeer van beide computers en stuurt het onder één IP adres naar buiten. In de andere richting werkt dit omgekeerd. Of, om Wikipedia te citeren: "Network Address Translation (NAT, ook wel Network masquerading of IP-masquerading) is het vertalen van IP-adressen en vaak ook TCP/UDP-poortnummers uit de ene gescheiden reeks in de andere. Een veel gebruikt doel is het toelaten van meerdere gebruikers van een thuisnetwerk tot het internet via één IP-adres.". Zie ook: hier.


Hoe een router dit kan doen, zonder dat het verkeer in de war raakt? Elke computer met internetaansluiting heeft niet één opening (port) naar het internet, maar heeft er 65535 (65536 als je port 0 meetelt). Dat zijn dus 65535 in- en uitgangen van en naar het systeem. Deze opbouw wordt gebruikt om de verschillende soorten communicatie gescheiden te houden. Zo gaat bijvoorbeeld internet over port 80, SSL versleuteld internet over port 443, en e-mail (onder andere) over de poorten 25, 110, etc. Zonder firewall zijn deze ook allemaal bereikbaar als een computer eenmaal aan het internet hangt.

Stel, er hangt één computer aan het internet, zonder firewall, zonder router, met het IP adres "1.2.3.4". Deze computer is dan overal ter wereld te benaderen over elke willekeurige poort, omdat alle communicatie naar IP adres "1.2.3.4" automatisch bij die computer uitkomt. Nu komt er in dat huishouden een tweede computer bij, en hierdoor wordt er ook een router in het netwerk geïnstalleerd. Nu komt al het internetverkeer eerst binnen op de router, die vervolgens beslist of het doorgestuurd mag worden naar een computer in het netwerk. Ook al is het nooit zo bedoeld, zorgt dit toch voor een basis vorm van beveiliging, omdat je niet zomaar elke port van een systeem meer kan benaderen via het internet, ongeacht of het systeem een firewall draait of niet.

IPv6
Met de komst van IPv6, worden routers in prnicipe overbodig (het bedrijfsleven even buiten beschouwing gelaten). IPv6 heeft namelijk een andere structuur voor adressen. Waar een standaard IPv4 adres er zo uit ziet: "123.123.123.123", ziet een IPv6 adres er zo uit: "3ffe:6a88:85a3:08d3:1319:8a2e:0370:7344". Door deze nieuwe notatie komen er veel meer adressen beschikbaar. In plaats van de ~4,300,000,000 adressen van IPv4, biedt IPv6 de ruimte voor 50,000 quadriljoen adressen.. ..per gebruiker. Met een onuitspreekbaar totaal van: 3,4 × 1038.


Geweldig natuurlijk, dat betekent dat elk apparaat met internetverbinding met zijn eigen adres met het internet kan communiceren. Of niet?

IPv6 heeft naast dit grote voordeel ook een aantal nadelen. Eén daarvan is dat IPv4 hardware niet compatible is met IPv6. Iedereen die dit wil gebruiken zal dus veranderingen aan moeten brengen in zijn / haar netwerk. En dit geldt voor iedereen, dus ook voor alle Internet Providers. Dit is één van de voornaamste redenen dat IPv6 nog niet wereldwijd geïmplementeerd is.

Als het eenmaal zover is, betekent dit voor de (meeste) thuisgebruikers dus dat ze de router kunnen weghalen, deze is immers toch niet compatible met IPv6, en alle systemen direct aan het internet kunnen hangen. En dan zijn opeens alle systemen weer volledig bereikbaar vanaf elke locatie ter wereld, op elke poort. Tenzij er een (goede) firewall op het systeem wordt geïnstalleerd.

Prima, dan doen we dat toch? En daar zit een probleem. Lang niet elke gebruiker beschikt over de kennis om een firewall ( goed ) te kunnen configureren, waardoor je vaak één van de volgende situaties tegenkomt:

  • Er wordt geen firewall geïnstalleerd, want dat is te moeilijk. Gevolg: computer is open en bloot voor de buitenwereld.
  • Er wordt een firewall geïnstalleerd, maar niet goed ingesteld. Gevolg: er zijn nog steeds beveiliginsrisico's aanwezig
  • Er wordt een firewall geïnstalleerd, maar te strak afgesteld. Gevolg: internet werkt slecht / niet.
De slimme lezer heeft natuurljik allang bedacht: "Jamaar, Windows heeft toch standaard een ingebouwde firewall". Klopt, maar dit is een hele simpele firewall. Of deze sterk genoeg is tegen de steeds groter wordende gevaren op internet is maar de vraag. Een vraag die alleen de tijd kan beantwoorden.

"Dus we zijn gewoon de spreekwoordelijke pineut met IPv6?" Nee, dat niet. Het zal nog wel enige tijd duren voordat het ingevoerd is, en wie weet welke ontwikkelingen er dan al zijn. Time will tell. Het is in ieder geval een feit dat met deze vooruitgang (met als elke vooruitgang) er goed moet worden nagedacht over de beveiliging.