Introductie
Intrusion detection is vaag. Het is niet zo dat er uitsluitend intrusions worden gedetecteerd. Meestal komt het neer op een aantal verschillende systemen die elk een enorme lijst aan gebeurtenissen (in de vorm van alerts) genereren die misschien verdacht zijn.
We hebben hier dus twee problemen. Ten eerste hebben we verschillende systemen die elk alerts produceren. Het is fijn wanneer de alerts van verschillende systemen op één plek worden samengevoegd zodat een totaalbeeld kan worden gevormd. Ten tweede genereert elk systeem veel te veel alerts. Alles wat misschien verdacht is wordt omgezet in een alert. Het is belangrijke om normale gebeurtenissen weg te filteren uit deze alerts zodat alleen abnomale gebeurtenissen worden gerapporteerd.
Dit artikel geeft een oplossing voor deze twee problemen door gebruik te maken van het Prelude Hybrid IDS. Dit ids is eigenlijk een framework waarin verschillende sensoren hun alerts naar een centrale server sturen. Deze centrale server zorgt voor het filteren en samenvoegen van deze alerts zodat er een gecombineerde weergave kan worden gegeven van alle abnormale gebeurtenissen. Het zal duidelijk worden dat Prelude geen vervanging maar juist een aanvulling is voor IDS als Snort en Samhain.
Om daadwerkelijk toe te passen wat wordt verteld in dit artikel is een basiskennis nodig van systeembeheer op linux of bsd machines. Alle voorbeelden in dit artikel spelen zich af op een netwerk van freebsd machines en zijn eenvoudig toe te passen op andere bsd of linux netwerken. Windows blijft in dit artikel buiten beschouwing omdat prelude vooralsnog niet is geschreven voor Windows.
Prelude
Ik vond het altijd maar onhandig dat er een aparte 'console' was voor elk IDS. Wanneer ik Snort gebruik heeft dit een aparte logfile of web frontend om de mogelijke aanvallen te bekijken. Mijn firewalls produceren elk ook logfiles, net als samhain etc etc. Het werd tijd om al deze gegevens samen te voegen in één overzichtelijk systeem. In mijn zoektocht naar dit systeem kwam ik uit bij Prelude Hybrid IDS wat eigenlijk een framework is voor andere IDS. Door gebruik te maken van de IDMEF standaard kunnen de berichten van elke IDS eenvoudig worden samengevoegd en gecorreleerd. Het zag er hoopvol uit.
Voordat ik een systeem gebruik maak ik meestal eerst een praatje met de ontwikkelaars. Bijna elk open source product heeft wel een IRC kanaal, zo ook Prelude IDS (#prelude op freenode). De hoofdontwikkelaar, Yoann Vandoorselaere, bleek een gezellige Fransman met een enorm verstand van ontwerpen en programmeren. Mijn eigen interesses liggen voornamelijk in het gebied van hacken en security, en vele vruchtbare gesprekken volgde tussen mij en Yoann.
Naast een praatje met de ontwikkelaars werp ik ook altijd een blik op de source code. Het is nooit mogelijk alle code te onderwerpen aan een audit, maar een paar belangrijke stukjes bekijken is wel altijd mogelijk. Dit geeft ook een beeld of de ontwikkelaars weten wat ze doen, of dat ze maar wat aanprutsen. In het geval van Prelude was ik aangenaam verrast. Yoann is op de hoogte van hoe er veilig geprogrammeerd dient te worden. Er waren natuurlijk wat op een aanmerkingen van mij wegens omstandigheden die extreem onwaarschijnlijk waren maar die hackers misschien wel zouden kunnen produceren. Deze opmerkingen werden snel verwerkt in de source code en ik kreeg een goed gevoel over dit product.
Framework
Prelude bestaat uit een aantal onderdelen die samen het Prelude framework vormen. Globaal gezien zijn er een aantal sensors zoals een logfile analyzer, Snort, Samhain, etc. etc. die allen een verbinding hebben met een Prelude Manager. Over deze (uiteraard versleutelde) verbinding worden IDMEF berichten verzonden. Deze berichten omschrijven de aanvallen die gedetecteerd worden door de sensors. De Manager ontvangt deze berichten en filtert de berichten welke niet interessant zijn eruit. De wel interessante berichten worden opgeslagen in een database. Deze database kan MySQL, PostgreSQL, SQLite, een XML bestand of een tekstbestand zijn. Een frontend (genaamd Prewikka) kan de database benaderen (alleen de SQL databases) en de opgeslagen alerts presenteren in een overzicht.
Onderdelen
Zoals in de voorgaande paragraaf als duidelijk werd is er een aantal onderdelen binnen Prelude, met elk haar eigen taak.
Deze posting is gelocked. Reageren is niet meer mogelijk.