Met een aansluiting op Internet trekken bedrijven naast potentiële klanten ook indringers aan. Firewalls kunnen ongewenst bezoek aan het netwerk tegengaan. Ze werken volgens twee principes: IP-pakketfilters en ‘proxy servers’. Deze onderscheiden zich in het feit dat er respectievelijk wèl of geen direct IP-verkeer plaatsvindt tussen het eigen en het onveilige netwerk. Unix-consultants Frank W. ten Wolde en Jean-Paul van der Jagt schetsen de voor- en nadelen van beide aanpakken in een serie van twee artikelen.
Connectiviteit is een onmisbaar begrip geworden bij de communicatie met relaties. Klanten vragen steeds vaker naar het elektronische adres; voor de eigen bedrijfsvoering is het verkrijgen van elders beschikbare informatie steeds vaker van belang.
Een van de snelst groeiende internationale netwerken is het Internet. Elektronische post is via dit netwerk te verzenden en te ontvangen. Verder wordt het Net gebruikt voor het leveren van produktinformatie en van een dienstenpakket aan potentiële klanten, of om gegevens – beschikbaar op locaties van het netwerk – op te vragen. Connectiviteit maakt het mogelijk de naamsbekendheid te vergroten.
Naast gewenste elektronische bezoekers worden echter ook minder gewenste bezoekers aangetrokken: personen die niet geïnteresseerd zijn in reclamefolders, maar in kroonjuwelen. Deze zogenaamde crackers of computervandalen houdt men het liefst buiten de deur. Dat kan door installatie van een firewall, een elektronische branddeur.
Deze biedt bescherming tegen aanvallen van buiten (van het Internet) op het bedrijfsnetwerk. Firewalls zijn er in verschillende soorten en maten, variërend van matig veilig (en hoog transparant) tot zeer veilig (en iets minder transparant), alle met hun eigen kosten.
Hieronder volgen de verschillende typen, met hun voor- en nadelen. Het hier beschrevene heeft zowel betrekking op de koppeling naar het Internet als op koppelingen tussen verschillende branche-netwerken (Intranet).
Firewall
Een (netwerk)firewall is een verzameling netwerk- en softwarecomponenten die tezamen een gecontroleerde en beveiligde koppeling vormt tussen bijvoorbeeld een bedrijfsnetwerk en andere niet-beveiligde netwerken. Dit kan het Internet zijn of niet-publieke netwerken. Het uiteindelijke doel van een firewall is het bieden van een zo transparant mogelijke koppeling tussen het eigen netwerk en dat van derden, terwijl tegelijkertijd de computervandalen op effectieve wijze buiten de deur worden gehouden.
Omdat al het verkeer van en naar het eigen netwerk door de firewall loopt, kan het toegangsbeleid op technische wijze plaatsvinden. Verder vormt de firewall een belangrijke bron van informatie omtrent het gebruik van de netwerkkoppeling, met op de eerste plaats een zo vroeg mogelijke detectie van eventuele inbraakpogingen.
Een firewall biedt geen bescherming tegen aanvallen die buiten hemzelf omgaan. Wanneer iemand binnen het bedrijf met behulp van een modem verbinding maakt met een ander netwerk, loopt dit verkeer buiten de firewall om. Een andere vorm van het omzeilen van de firewall is het importeren of exporteren van data op diskettes en tapes. Een firewall is dus slechts een onderdeel van de algehele bedrijfsveiligheids-strategie. Ook is hij niet in staat bescherming te bieden tegen virussen en Trojan horses. Het merendeel van dit soort software komt het bedrijf binnen via floppy disks.
Aspecten van beveiliging
Een goede beveiliging voldoet in het algemeen aan verschillende kenmerken; deze zijn ook van toepassing op computer- en netwerkbeveiliging. De belangrijkste zijn:
– Choke point. Forceer dat al het verkeer via één punt moet lopen. Het doel daarvan is hiervoor al aangegeven.
– Least privilege. Geef zo min mogelijk rechten om een bepaalde taak te kunnen volbrengen. Programmatuur moet met minimale privileges draaien om te kunnen functioneren. Oneigenlijk gebruik van die programmatuur leidt dan tot beperktere schade.
– Defense in depth. Breng redundantie aan in de beveiliging, zodat de totale beveiliging niet afhankelijk is van het falen van een enkele component. Hieraan is gerelateerd:
– Faal-modus. Indien een component in de beveiliging faalt, moet de toegang compleet geweigerd worden: liever geen toegang tot het netwerk dan een onbetrouwbare toegang.
– Fail safe stance. Er zijn twee fundamentele uitgangspunten om een beveiliging te implementeren:
1. "Alles wat niet expliciet is toegestaan, is verboden,"
2. "Alles wat niet expliciet is verboden is toegestaan."
Bij netwerkbeveiliging zijn niet alle risico’s op voorhand bekend en is het eerste uitgangspunt (default deny stance) de enige juiste.
– Verscheidenheid. Gebruik verschillende componenten om de beveiliging te implementeren. Een fout die ontdekt is in een component komt dan niet terug in andere, gelijksoortige componenten in de beveiliging.
– Eenvoud. Houdt de firewall en de componenten waaruit deze is opgebouwd eenvoudig en overzichtelijk. Een dergelijk systeem is beter te doorgronden waardoor veiligheid makkelijker aangetoond kan worden. Daarnaast bevat eenvoudige software minder bugs die een veiligheidsrisico zouden kunnen vormen.
Soms wordt ook gebruik gemaakt van het kenmerk security through obscurity. Hiermee wordt bedoeld dat de veiligheid wordt bereikt door procedures of algoritmen geheim te houden. Helaas werkt dit soort beveiliging slechts tijdelijk. Bovendien is nauwelijks aan te tonen wanneer een dergelijke beveiliging is aangetast. Dit kan nimmer de basis vormen van een goede beveiliging.
Firewall-architecturen
Het aantal manieren waarop een firewall kan worden opgebouwd (de architectuur van de firewall) is groot. Bij het vaststellen van de juiste architectuur dient men de volgende zaken af te wegen:
– Kostprijs van de firewall hard- en software en het configureren ervan;
– Flexibiliteit: de moeite die gedaan moet worden om een nieuw soort netwerkprotocol te kunnen doorlaten;
– Mate van transparantie: in hoeverre werkt de aanwezigheid van de firewall door in de software en in de gebruiksprocedures wanneer een verbinding via de firewall wordt gelegd;
– Prestatie: hoeveel prestatie-verlies levert de firewall op. Dit argument speelt meestal pas bij verbindingen sneller dan 2 megabit/s;
– Mate van veiligheid: welk niveau van bescherming biedt de firewall?
De meeste factoren zijn strijdig met elkaar. Zo zal een hogere mate van beveiliging in het algemeen leiden tot een teruglopende mate van flexibiliteit, transparantie en prestatie. Verder zal de afweging van factoren per situatie verschillen, waardoor niet eenduidig is aan te geven wat de beste architectuur is.
Uitgaande van de huidige stand van de techniek worden firewall-architecturen onderverdeeld in twee principes: IP-pakket filters en proxy based-systemen.
IP-pakketfilter
Het principe van een op een IP-pakketfilter gebaseerde architectuur is dat de firewall een IP-pakket op basis van informatie hieruit al dan niet doorlaat. Deze informatie omvat meestal de bron- en doel-IP-adressen en de bron en doel-poortnummers uit het UDP- of TCP-deel van het pakket.
De meest eenvoudige firewall-architectuur bestaat uit een enkele router tussen het eigen netwerk en een onveilig netwerk. Deze router bevat een IP-pakketfilter-module in de software. Toegangsregels worden in de vorm van IP-pakketfilter-regels ingesteld en IP-pakketten worden op basis van bron- en doel-informatie al dan niet doorgelaten. Een dergelijke architectuur wordt ook wel een screening router genoemd.
De voordelen van een dergelijke firewall zijn:
– Lage prijs. De meeste routers zijn standaard voorzien van een IP-pakketfiltermodule in de besturingssoftware;
– Hoge mate van flexibiliteit. Nieuwe netwerkprotocollen kunnen worden toegevoegd als extra IP-pakketfilter-regels;
– Hoge mate van transparantie. Een IP-pakketfilter is transparant voor de netwerksoftware;
– Hoog prestatieniveau.
Er kleven echter enkele zeer ernstige nadelen aan de ‘screening router’-architectuur:
– Onoverzichtelijkheid. Alhoewel de architectuur simpel lijkt, is het moeilijk om regels voor het IP-pakketfilter op te stellen en te verifiëren. Voor ieder door te laten protocol moet de werking ervan tot in de details bekend zijn. Meestal treden er onbedoelde neveneffecten op tussen toegangsregels van verschillende protocollen. Tenslotte zijn veel netwerkprotocollen niet in vaste filterregels vast te leggen (FTP- en RPC-gebaseerde protocollen gebruiken bijvoorbeeld poortnummers die niet van tevoren vastliggen, maar dynamisch worden bepaald tussen de client- en serversoftware);
– Slechte logging-faciliteiten. De logging-faciliteiten en de soort gelogde informatie is beperkt;
– Slechte faal-modus. Indien de router aangetast raakt, kunnen alle filterregels met een simpel commando worden verwijderd. Hierdoor staat het eigen netwerk, geheel onbeveiligd, direct gekoppeld aan het onveilige netwerk;
– Geen defense in depth. Aantasting van een component leidt tot het wegvallen van de gehele beveiliging.
Gezien de bedreigingen die momenteel van het Internet te verwachten zijn, wordt de ‘screening router’-architectuur in het algemeen afgeraden voor koppeling met het Internet. Wel kan de ‘screening router’ – gezien de lage kostprijs – worden ingezet als onderdeel van een uitgebreidere firewall-architectuur.
Dynamisch IP-pakketfilter
Een moderne variant op de ‘screening router’-architectuur is die van het dynamische pakketfilter. Een dergelijke component werkt als een ‘screening router’, maar heeft ingebouwde kennis van de door te laten netwerkprotocollen. Dit maakt het mogelijk om op dynamische wijze de filterregels aan te passen aan het momentane gebruik (volgens vooraf ingestelde voorwaarden).
Hiermee vervallen veel nadelen van de ‘screening router’. De filter-regels worden eenvoudiger, zijn makkelijker te verifiëren en er zijn geen onbedoelde of verborgen interacties tussen filterregels van verschillende protocollen. Protocollen met een dynamisch karakter (zoals FTP en op RPC-gebaseerde protocollen) kunnen nu op een veilige wijze worden doorgelaten. Verder biedt een dergelijke ‘firewall’ uitgebreide logging-mogelijkheden met weergave van protocol-informatie.
De kostprijs van een dynamisch pakketfilter ligt echter hoger dan die van een ‘screening router’-oplossing.
Deze firewall-architectuur is met name interessant voor toepassingen waar een hoge mate van flexibiliteit, transparantie en prestatie gewenst is.
Het produkt Firewall-1 van Checkpoint Software Technologies voldoet aan deze architectuur.
In het tweede en laatste deel van deze serie komt het andere principe van firewall-architecturen aan bod: de ‘proxy server’.
Ir Frank W. ten Wolde en ing. Jean-Paul van der Jagt zijn werkzaam als Unix-consultant bij Pinewood Automatisering bv.