Index | Geschiedenis | Cursus IP | Intranet | Security | Firewall | Management | Voip | Html | Faq's
Inleiding | Risico's | Tools | Firewall | Overzicht virussen
Google

De beschikbare tools.

Binnen dit hoofdstuk wordt een overzicht gegeven van de beschikbare tools met een globale omschrijving van hun werking. In de vervolg hoofdstukken worden een aantal voorbeelden gegeven hoe de combinatie van tools in te zetten. Daar wordt ook dieper ingegaan op de filosofie achter een firewall.
  • Passwords en snmp community strings. Dit is de meest voor de hand liggende beveiliging voor systemen, hij vormt echter nog steeds een van de grootste risico's. Gebruikers blijken vaak "slechte" wachtwoorden te kiezen en/of er wordt vergeten bepaalde accounts van een wachtwoord te voorzien. Dit zelfde geldt voor de wachtwoorden op snmp nivo, deze blijken nog steeds vaak op hun default waarde ingesteld, of redelijk makkelijk te raden. Met name bij over het internet plaatsvindende authenticatie, verdient een encryptie (bij het gebruik van gevoelige data) op zijn plaats.
  • Security tokens. Zeker in situaties waar een "sterkere" authenticatie een vereiste is, is het gebruik van security tokens (vaak ookwel calculators genoemd) een aanrader. Dergelijke apparaatjes genereren tijdsafhankelijke tokens (meestal rijtjes getallen) die uniek zijn voor dat specifieke token op dat moment. Deze worden tijdens het inloggen gevraagd naast het userid, veelal als vervanging van het password. Het terugspelen van loginsessies heeft danook geen zin, aangezien er iedere keer verschillende tokens gegenereerd worden. Om te voorkomen dat de tokens door derden gebruikt kunnen worden, zijn ze vaak voorzien van zgn. pin-codes.
  • SSL encryptie. SSL wordt veeal gebruikt voor de encryptie van privacy gevoelige data en biedt daarnaast een verhoogde controleerbaarheid van de eindpunten van een sessie. HTTP is immers "slechts" een connectionless implementatie. De implementatie van SSL is inmiddels verworden tot een breed geaccepteerde standaard.
  • PGP encryptie. Deze vorm van encryptie wordt hoofdzakelijk gebruikt tussen mailclients. M.b.v. PGP kan geferifieerd worden of een bericht daadwerkelijk door de betreffende afzender verstuurd is. Hiertoe dient men een zgn sleutelring met geverifieerde public keys opbouwen. Daarnaast kan men m.b.v. de public key van de geadresseerde mail voor hem bestemd encrypten, zodat uitsluitend hijzelf hem kan decrypten.
  • VPN's. VPN staat voor Virtual Private Netwerk. Wat IPSec (zo'n beetje de standaard voor VPN's) voor je doet is een geencrypte tunnel creeren door een "onveilig" netwerk. Hierdoor is een hogere mate van beveiliging te behalen, afhankelijk van de gekozen implementatie. Met name bij het gebruik van IPSec termination op de firewall vanuit roaming adressen moet echter gelet worden op een voldoende sterke implementatie met bijvoorbeeld TripleDES en IKE X.509 public key certificates (later hierover meer). Kijk ook eens op de site www.vpnc.com .
  • Packet filtering en statefull inspection. Firewalls zijn erop gebouwd pakketten tegen te houden, meestal gebaseerd op protocollen (binnen IP) en poortnummers. Als je kijkt naar de manier waarop de diverse protocollen en poortnummers gebruikt worden, biedt dit slechts een beperkte bescherming (maar veel beter als geen bescherming natuurlijk). Als oplossing hiervoor zijn zgn. statefull inspection (maar je komt hiervoor ook vele andere namen tegen) filters instaat iets dieper te kijken in de protocollaag. Als basis houden deze filters bij, van welke zijde de connectie geopend (mag) worden, waarna het retour pad dynamisch voor die specifieke sessie geopend wordt. Voor sommigge protocollen zoals FTP gaat men veelal verder, door bij te houden of er in de oorspronkelijke sessie wellicht additionele sessies aangevraagd worden (die dan weer dynamisch toegekend worden).

    Een schematische weergave van het openen van dynamische sessies.

    In de bovenstaande tekening zien we dat het eerste pakket van een sessie (van binnen naar buiten) voor het opnemen van het pakket in de sessie tabel zorgt. Hierin wordt naast het source en destination adres ook het protocol (tcp, udp, icmp) en de source en destination poortnummers bijgehouden.
  • Adrestranslatie. Deze techniek wordt veelal gebruikt om het achterliggende netwerk te verbergen, bijvoorbeeld omdat hier private adressen (zie de cursus IP) gebruikt worden, die niet gerouteerd kunnen worden. Wat er in feite gebeurt, is dat van een pakket, dat van het interne netwerk naar het internet verzonden wordt, door de firewall het source adres van het oorspronkelijke station vervangen wordt door het adres van de firewall. Hierdoor lijkt het op het internet alsof er slechts 1 pc connecteerd. De firewall houdt van dergelijke sessies een tabel bij, zodat hij retour pakketjes vanaf het internet, aan hem gericht naar het juiste interne station kan doorsturen.

    Schematische weergave van een adrestranslatie sessie.

    In de bovenstaande tekening zien we dat het source adres (sa) van station A vervangen wordt door het adres van de firewall, zodra dit pakketje de firewall passeert.
    Je kunt deze techniek echter ook in de omgekeerde richting gebruiken, zodat verkeer naar IP-adres X, doorgerouteerd wordt naar een nader te bepalen station. Hiermee kun je achterliggende stations op eenvoudigge wijze van IP-adres laten veranderen zonder dat daar op het internet iets van te merken is.
  • Proxies. Proxies zijn services die taken voor de oorspronkelijke client uitvoeren. De bekendsten zijn de web en ftp proxy. Door het instellen van een proxy server binnen je browser, vertel je je browser feitelijk dat hij al zijn requests transparant kan doorsturen naar de proxy server. Deze zorgt vervolgens voor het vertalen van de naam naar een ip-adres en het vervolgens ophalen van de gevraagde pagina. Door gebruik te maken van gecentraliseerde proxyservers, is het mogelijk bijvoorbeeld de data te cachen. Ook kunnen proxies zorgen voor een stukje authenticatie (het moeten aanloggen voordat je het internet op mag) en bijvoorbeeld logging. Ook kun je met proxies (afhankelijk van de implementatie van de specifieke proxyserver) meer specifieke rechten op bijvoorbeeld bestandstypen vaststellen.
    Door het gebruik van proxyservers kan het gebruik van adrestranslatie wellicht (gedeeltelijk) vervallen. Sommigge proxyservers kunnen ook als zgn reverse proxy gebruikt worden, waardoor de proxyserver voor de buitenwereld de rol van de server overneemt. Kijk voor een proxy server met een redelijke hoeveelheid mogelijkheden eens naar bijvoorbeeld de Netscape proxyserver.
  • Applicatie gateways. Dit programma's waarmee je services aan gebruikers beschikbaar kunt stellen, zonder ze direkt toegang tot internet te geven. Hiermee kun je een strictere controle op gebruikers uitvoeren, Het bekendste voorbeeld hervan zijn de telnet gateway's, waarbij gebruikers die vanuit het interne net willen telnetten op het internet gebruik moeten maken van een telnetproces op bijvoorbeeld de firewall, die dan verder toegang geeft.
  • Virusscanners. Deze zijn er momenteel in vele soorten en smaken. Met name voor http, ftp en mail zijn goede scanner te verkrijgen al dan niet geintegreerd of werkend als proxyserver / mailserver.
  • Content scanners. Deze scanners kom je met name tegen in de mailomgeving om bijvoorbeeld reclame junk en specifieke typen attachments e.d. te filteren. Ook worden dergelijke filters weleens gebruikt om te controleren of vertrouwelijke informatie via mail verzonden wordt.
  • Firewalls. Je komt ze in vele soorten en smaken tegen. Zowel als software optie in routers als software op de diverse operating systemen als ook in hardware oplossingen. Software oplossingen in routers en de hardware oplossingen zijn in het voordeel als we kijken naar de beheerbaarheid, software oplossingen die draaien op bijvoorbeeld Linux, NT of Sun bieden vaak wat meer flexibiliteit in o.a. logging opties en het toevoegen van allerlei functies op de firewalls zelf.
    Kijken we echter naar de functie firewall, dan houdt het verhaal niet op bij enkel het doosje dat we aanschaffen.
  • DMZ's. De uitdrukking DMZ staat voor De Militarized Zone, een stukje niemands land dus. Services die in direkt kontakt staan met de buitenwereld, lopen een verhoogd risico op inbraken. Kijken we bijvoorbeeld naar een webserver, dan dient deze van buiten te benaderen te zijn, immers je wilt dat mensen vanaf het internet jou site kunnen bezoeken. De firewall kan er hierbij wel voor zorgen dat allerlei andere protocollen (bijvoorbeeld nodig voor het beheer of de communicatie met achterliggende processen) afgeschermd wordt, hij heeft echter geen controle op het http (=www) verkeer. Afscherming tegen inbraken op dit nivo dient binnen de server uitgevoerd te worden. Door een dergelijke server op een DMZ te plaatsen, kun je ervoor zorgen dat de inbreker eenmaal "binnen" op de server niet verder het (interne) netwerk op komt. Het zelfde geld ook voor andere services als FTP en mail die vanwege de aard van de communicatie initiatief tot sessies vanaf het internet moeten toestaan.

    Weergave van verkeersstromen van/naar een DMZ.

    Op de tekening zien we onder 1, het initiatief van de sessies richting de proxy server op dmz 1, vanaf het interne netwerk. Vervolgens zien we vanaf de proxyserver sessies richting het internet. Aan de andere zijde zien we onder punt 3 sessie vanaf het internet naar de webserver op dmz 2. We willen immers informatie naar het internet beschikbaar stellen. En voor updates zien we een sessie van het lokale intranet naar de webserver.
  • Private adressing. Dit zijn (IP) adresranges die slechts intern gebruikt worden. Door de interne netwerken niet van buiten af benaderbaar te maken (doordat er geen route bekend gemaakt wordt) Kunnen inbraakpogingen niet direkt plaats vinden. Je kunt immers, zelfs bij de uitval van de firewall het interne netwerk niet bereiken omdat er geen route naartoe is. (hierover later meer.)
  • Inbraakdetectie scanners en agents. De scanners zijn veelal dedicated systemen die al het netwerkverkeer op een segment analyseren. Deze tools zijn instaat ook aanvallen te detecteren die anders wellicht onopgemerkt zouden blijven, zoals aanvallen binnen het http protocol, die legitiem door de firewall doorgelaten moeten worden. De agents werken op de systemen zelf en rapporteren veelal naar centrale consoles.
  • Checksum tools. Deze tools worden ingezet om te controleren of systeem software wellicht door hackers vervangen is door trojans. Eenmaal binnen op sites worden door hackers soms onderdelen van de software vervangen door programmatjes met de zelfde functionaliteit plus enige extra functies (zoals het loggen van passwords etc...). Door de checksums van kritische programmas en bestanden geregeld te controleren, kunnen wellicht inbraakpogingen eerder opgemerkt worden.
  • Routinggames. Door bijvoorbeeld een tweede firewall achter een eerste onzichtbaar te maken voor de overige netwerk componenten, maak je het leven voor potentiele hackers weer een beetje moeilijker.
  • Scanners en hacking tools. Met behulp van deze tools (die overiggens zeer frequent geupdate worden), dient geregeld basis controles op de beveiliging van kritische componenten uitgevoerd te worden. Deze tools controleren namelijk op diverse bekende zwakke punten in de diverse componenten en worden ook door hackers zelf gebruikt om zwakke plekken in systemen op te sporen.
  • Logging. Dit is met name een belangrijk wapen in het registreren van mogelijke inbraakpogingen. Zorg ervoor dat alle kritische componenten waar een hacker iets mee kan voldoende logging genereren en dit zo mogelijk op bijvoorbeeld een centraal systeem aanleveren, zodat de hacker niet de kans krijgt de sporen van een mogelijke inbraak te wissen. Het belang van logging (en het regelmatig analyseren hiervan) kan niet voldoende onderstreept worden.
  • En nog meer?. Het is onmogelijk alle mogelijke tools op te noemen, immers, dit hangt met name af van het gene je wilt gaan beveiligen.
bernard@netwerkinformatie.com