IP-pakketfilters bieden een hoge mate van flexibiliteit, zoals is beschreven in deel één van deze serie. Een andere benadering, waarin geen direct verkeer is tussen eigen en onveilig netwerk, is die van de ‘proxy server’. De winst aan veiligheid gaat hier gepaard met een kleinere flexibiliteit, zo betogen Unix-consultants Frank W. ten Wolde en Jean-Paul van der Jagt. Zij besluiten hun serie met enkele aanbevelingen aan de hand van ‘firewalls’ die op de markt verkrijgbaar zijn.
Firewalls kunnen werken volgens het principe van het IP-pakketfilter (figuur 1), zoals is behandeld in deel één van deze serie.
Het tweede basisprincipe is dat van de proxy server. Het verschilt fundamenteel van een IP-pakketfilter omdat hierbij geen direct IP-verkeer is tussen het eigen netwerk en het onveilige netwerk. In plaats hiervan zorgen kleine stukjes software (‘proxies’) op de firewall ervoor dat er toch verbinding op protocol-niveau kan bestaan tussen de twee netwerken. In technische termen: er wordt niet op netwerkniveau (IP, OSI-laag drie) gefilterd, maar op applicatie-niveau (OSI-lagen vijf, zes en zeven).
Deze ‘proxies’ draaien op een machine die onderdeel uitmaakt van de firewall-architectuur. Omdat deze machine vanaf het onveilige netwerk direct te benaderen is en daarom zeer goed beveiligd moet zijn, wordt deze de bastion host genoemd.
Als besturingssysteem op de ‘bastion host’ heeft Unix de voorkeur. Dit systeem biedt een omgeving die helder van inzicht is en vanwege de decennia-lange beschikbaarheid als veiligste wordt beschouwd. Daarnaast is een grote hoeveelheid ondersteunende firewall-tools en software beschikbaar voor dit platform. Andere systemen als Windows NT en Novell voldoen in mindere mate aan deze kenmerken en bieden een minder solide platform voor de hoog-beveiligde bastion-host.
De algemene voordelen van een op een ‘proxy’ gebaseerde firewall ten opzichte van één die op een pakketfilter is gebaseerd, zijn:
– Goede faal-modus. Indien een proxy-server faalt, leidt dit tot het wegvallen van de netwerkservice op basis van dat protocol;
– Overzichtelijkheid. De werking en de datastroom door de firewall is per door te laten protocol goed te overzien. Er zijn geen (verborgen) interacties tussen de door te laten protocollen;
– Goede logging-mogelijkheden. Voor ieder door te laten protocol is er een speciaal geschreven proxy-server. Deze heeft diepgaande kennis van het protocol en kan derhalve zeer specifieke log-informatie bieden;
– Authenticatie mogelijk. Iedere protocol-verbinding wordt gerealiseerd met tussenkomst van een proxy-server. Deze kan een initiële gebruikersauthenticatie uitvoeren alvorens specifieke toegang te verschaffen;
– Fijnere regulering van de toegangsregels. Vanwege de specifieke protocolkennis per proxy-server, kan zelfs worden gefilterd op functionaliteit binnen een enkel protocol. Denk bijvoorbeeld aan het FTP-protocol waarbij het ‘put’-commando is uit te schakelen;
– Private IP space. Omdat er geen direct IP-verkeer is tussen het eigen netwerk en het niet beveiligde netwerk (al het IP-verkeer loopt in feite tussen de bastion-host en het onveilige netwerk), hoeft het eigen netwerk niet te zijn voorzien van officieel geregistreerde IP-adressen.
Helaas wordt deze extra functionaliteit niet geleverd zonder nadelen:
– Minder transparant. Vanwege de tussenkomst van een proxy-server moeten de client-software of de gebruikersprocedures voor sommige netwerkprotocollen worden aangepast. Sommige software is reeds standaard voorbereid op de aanwezigheid van een proxy-server (bijvoorbeeld Netscape);
– Minder flexibel. Voor iedere soort door te laten protocol is een specifieke proxy-server noodzakelijk. Indien deze niet aanwezig is zal deze ontwikkeld moeten worden. Proxy-servers voor standaard protocollen als FTP, Http (WWW), Telnet, rlogin, X11, Smtp (e-mail) en Nntp (news) zijn algemeen voorhanden;
– Lagere prestatie. Er is een klein prestatieverlies omdat alle verbindingen via een proxy-server lopen. Dit is echter zo gering dat het pas een rol begint te spelen wanneer beide netwerken elk over meer dan twee megabit/s bandbreedte beschikken.
Deze bastion-host en het eigen netwerk worden optioneel afgeschermd door middel van screening routers waardoor er verschillende varianten bestaan van de architectuur die op proxy is gebaseerd. Drie ervan worden nader uiteengezet: de screened host, de screened subnet en de dual-homed-bastion-host-architectuur.
De Gauntlet Internet Firewall van TIS voldoet aan deze architecturen.
Screened-host
De screened host-variant is een eenvoudige vorm van een op een proxy gebaseerde firewall-architectuur. Een screening router
bevindt zich tussen het eigen en het niet beveiligde netwerk. Op het interne netwerk bevindt zich de bastion-host, zie figuur 2.
De screening-router laat alleen verkeer toe van en naar de bastion-host. Er is dus geen direct IP-verkeer tussen de overige systemen op het eigen netwerk en het onveilige netwerk. Alle verbindingen op protocol-niveau moeten via één of meerdere ‘proxy servers’ op de bastion-host verlopen.
Omdat slechts de bastion-host selectief wordt afgeschermd door de screening-router (het overige IP-verkeer is simpelweg niet toegestaan) zijn de filterregels eenvoudiger, beter te overzien en makkelijker te verifiëren.
De zwakste schakel in dit type architectuur is de screening-router. In geval van schending kunnen de filterregels eenvoudig worden verwijderd waardoor alsnog het eigen netwerk transparant aan het onveilige net wordt gekoppeld.
Screened subnet
Een verbetering van de screened host-architectuur is die van de screened subnet-architectuur. Hierin zijn twee screening-routers (de exterior en de interior router) in cascade geschakeld tussen het eigen en het onveilige netwerk. Het verkregen netwerk tussen de routers in, wordt het ‘perimeter-netwerk’ genoemd (of demilitarized zone, dmz). Op dit netwerk is de bastion-host geplaatst, zie figuur 3 .
De exterior-router is zodanig ingesteld dat alleen (selectief) IP-verkeer van en naar de bastion-host is toegestaan.
De interior-router is ook zodanig ingesteld dat alleen verkeer van en naar de bastion-host is toegestaan. Op deze wijze is direct IP-verkeer tussen het eigen en het onveilige netwerk uitgesloten.
Het voordeel van deze architectuur in vergelijking met de eerdere ‘screened host’-architectuur is een betere defense in depth. Bij schending van de exterior-router is het eigen netwerk nog steeds beveiligd door de interior-router.
De zwakste schakel in deze architectuur blijft echter de matige ‘faal-modus’. Indien beide routers geschonden zijn, is ongefilterd direct IP-verkeer weer mogelijk met het niet-beveiligde netwerk.
Dual-homed-bastion-host
Een verdere verbetering op de screened-subnet-architectuur is te verkrijgen door de bastion-host te voorzien van twee netwerk-interfaces en deze te plaatsen op het perimeter-netwerk, waardoor dit in twee stukken wordt gesplitst. Een host met twee netwerk-interfaces wordt ook wel ‘dual-homed’ genoemd, vandaar de naam ‘dual homed bastion host’-architectuur (figuur 4).
Het voordeel van deze architectuur is de zeer goede ‘faal-modus’. Indien de bastion-host niet als router kan optreden (en dit is relatief makkelijk te bereiken), is er geen direct IP-verkeer mogelijk tussen het eigen en het niet beveiligde netwerk, zelfs niet als alle componenten geschonden raken.
Omdat de exterior-router alleen verbinding heeft met de bastion-host, kan deze komen te vervallen (als kosten-optimalisatie). Dit gaat wel ten koste van een vermindering van het kenmerk defense in depth.
De interior-router speelt een belangrijker rol en mag niet komen te vervallen. Indien de bastion-host is geschonden, voorkomt hij dat een computervandaal in staat is mee te kijken met het vertrouwelijke dataverkeer op het eigen netwerk.
Een firewall op basis van een dual-homed-bastion-host is zeer veilig en biedt een zeer goede ‘faal-modus’. Het gaat echter ten koste van de flexibiliteit. De eerder genoemde architecturen die zijn gebaseerd op proxy, maakten het nog mogelijk nieuwe netwerkprotocollen toe te voegen op basis van IP-pakketfiltering. Dit is met de dual-homed-bastion-host niet meer mogelijk. Nieuwe protocollen moeten op basis van een proxy-server worden geïmplementeerd.
Produkten
De keuze van de meest geschikte firewall-architectuur hangt in sterke mate af van het gewenste niveau van beveiliging en het soort door te laten netwerkprotocollen. Verder speelt mee welke voorkeur men heeft ten aanzien van de te gebruiken componenten van een firewall.
Wanneer de architectuur is vastgelegd, volgt de implementatie van de firewall. Tijdens dit proces moeten de systeembeheerders van de te bouwen firewall betrokken worden bij de configuratie. Op deze wijze raken zij vertrouwd met de architectuur en configuratie van en de datastroom door de firewall. Een omschrijving van de architectuur en de complete configuratie moet vastgelegd worden in een document. Waar mogelijk wordt de broncode van de software ter beschikking van de klant gesteld.
Voor de implementatie van de firewall bestaan verschillende kant-en-klare firewall-produkten, waaronder Firewall-1 van Checkpoint Software Technologies en de Gauntlet Internet Firewall van Trusted Information Systems. Daarnaast kan een firewall naar specificatie worden opgezet met behulp van vrij verkrijgbare softwaretools. In dat geval is een consultancy-dienst noodzakelijk voor de implementatie van de firewall en is men geheel onafhankelijk van een vaste leverancier.
Eén van de kant-en-klare firewallprodukten is FireWall-1 van Checkpoint Software Technologies. Dit is een dynamisch IP-pakketfilter en bevat bovendien ‘proxy servers’ voor het FTP-, Telnet- en Http-protocol. Het produkt draait op een Sun Sparc (Solaris, Sun OS), een Intel (Solaris) of een systeem dat op Hewlett-Packard (HP-UX) gebaseerd is. Met behulp van dit produkt is het mogelijk een complete firewall te implementeren.
De belangrijkste kenmerken van dit produkt zijn een zeer hoog prestatieniveau en uitgebreide logging-, auditing- en alarmering-mogelijkheden. De afzonderlijke management-module voor aansturing van andere FireWall-1-hosts-, Cisco- en Wellfleet-routers wordt bestuurd door middel van een grafische gebruikersinterface.
Maatwerk firewall
De maatwerkoplossing gaat niet direct uit van een specifiek produkt. In plaats hiervan wordt gebruik gemaakt van vrij verkrijgbare software-componenten om een bastion-host in te richten. Deze oplossing maakt het mogelijk om te beschikken over de broncode van het complete systeem, waardoor men geheel onafhankelijk is van een vaste hard- of software-leverancier. Consultancy-bureaus bieden de mogelijkheid om de firewall volgens specificatie te ontwerpen, te implementeren en te configureren. De klant is dan tevens in staat een contra-expertise te laten uitvoeren door een onafhankelijke partij.
De maatwerk-oplossing kan in alle gevallen het beste uitgaan van een op een proxy-server gebaseerde architectuur, met als voorkeur de dual-homed-bastion-host. De bastion-host-hardware en het besturingssysteem kunnen naar keuze bepaald worden.
Kies als bastion-host bij voorkeur voor een systeem op basis van 4.4BSD Unix. Een goede keuze is het Free BSD-besturingssysteem dat volledig vrij verkrijgbaar is en dat wordt geleverd met de volledige broncode. De netwerkcode uit Free BSD is gebaseerd op Net/3 van 4.4BSD, die als zeer stabiel wordt ervaren. Verder beschikt Free BSD zelf over ingebouwde IP-pakketfilter-software en kunnen read only files zelfs voor de super-gebruikers ‘onveranderbaar’ gemaakt worden, zodat dit bij schending van het systeem een extra barrière opwerpt voor de computervandaal.
Free BSD wordt in gecontroleerde releases vrijgegeven door een kern-team van ontwikkelaars. Hierdoor is altijd het volledige besturingssysteem als een stabiele bundel beschikbaar. De standaard 4.4 BSD-documentatieset is van toepassing op Free BSD (gebruikersgids, systeembeheergids, ontwikkelaarsgids). Deze is in de boekhandel te verkrijgen.
Free BSD draait op het Intel-platform (486/Pentium/Pentium-Pro). Een 486(33MHz)-systeem heeft voldoende prestatiemogelijkheden om een E1-lijn (2 megabit/s) volledig te benutten. Een Pentium-(133MHz)-systeem is in staat een Ethernet (10 megabit/s) volledig te benutten.
Vanwege de beschikbaarheid van de kernel sources is het mogelijk onveilige TCP/IP-eigenschappen definitief uit de kernel te verwijderen (met name: Icmp redirect, IP forwarding en IP source routing).
Daarnaast is extra logging-functionaliteit aan de kernel toe te voegen (met name: logging van UDP- en TCP-verbindingsverzoeken naar poorten waar geen server draait).
Een alternatief voor de Intel/Free BSD-combinatie vormt de meer commerciële variant van 4.4 BSD Unix: Bsdi. Deze versie is tegen een zeer geringe prijs beschikbaar zonder broncode. Een aanvullende broncode-licentie is tegen extra kosten verkrijgbaar.
Een ander alternatief vormt de keuze van een commerciële Unix-variant als Solaris, Sun OS, HP-UX, AIX enzovoort. Van deze versies is beslist geen broncode beschikbaar, waardoor een ‘fortyfied kernel’ niet tot de mogelijkheden behoort. Overigens is voor het beschikbaar stellen van de firewall-software (die in broncode aanwezig is) een C-compiler noodzakelijk.
Proxy-servers
Als proxy-server is de Gauntlet Internet Firewall van Trusted Information Systems een zeer goede keuze. Deze wordt geleverd met broncode zodat de mogelijkheid tot een onafhankelijke contra-expertise blijft bestaan. Als alternatief voldoen de vrij verkrijgbare versies (Fwtk, Socks, Cern/Apache Httpd, enzovoort). Men is geheel vrij in de keuze hiervan. Een consultancy-bureau kan worden geraadpleegd bij het ‘porten’ van deze software naar het platform van de bastion-host.
Ten slotte is gebruik te maken van overige firewall-tools en ondersteunende software. Hierbij valt te denken aan TCP-wrappers, extra logging- en audit-tools. De bastion-host wordt verder vaak ingezet als:
– E-mail front-end: de host via welke alle externe e-mail-berichten wordt gerouteerd;
– (primaire) DNS-server;
– NTP-client: synchronisatie met een of meer netwerk-’time servers’ op het Internet.
Vanwege de veiligheidsaspecten van de bastion-host moeten eventuele FTP- en WWW-servers op een aparte machine worden geïmplementeerd.
Permanente aandacht
De keuze van het type firewall om een bedrijfsnetwerk te koppelen met het Internet of om verschillende branche-netwerken (Intranet) in een bedrijf met elkaar te koppelen, hangt af van de wensen ten aanzien van de mate van flexibiliteit, transparantheid en beveiliging.
Een dynamisch ‘pakketfilter’-firewall biedt een hoge transparantheid en flexibiliteit, terwijl een firewall die is gebaseerd op een proxy, een zeer hoge mate van veiligheid levert.
Ook na de installatie blijft een firewall permanent aandacht vragen van de ondersteunende afdeling.
Ir Frank W. ten Wolde en ing. Jean-Paul van der Jagt zijn werkzaam als Unix-consultant bij Pinewood Automatisering bv, te Delft.
e-mail: hans@pinewood.nl