|
|
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.
|
|