Johan Zwiekhorst
...

Johan ZwiekhorstDe servers in bedrijven houden journaals bij: logboeken van alle activiteiten. Beheerders bekijken die als er wat fout gaat, in de hoop dat het logboek de oorzaak weergeeft zodat ze dat snel kunnen oplossen. Maar zolang alles goed gaat, worden logs vaak straal genegeerd. Nochtans bevatten dergelijke logs een ware goudmijn aan informatie. Het verzamelen of vergaren van de data in de logfiles en die dan analyseren kan op zijn minst nuttige statistische informatie opleveren. Maar u kunt er ook kwetsbaarheden inzake beveiliging mee opsporen, applicaties bewaken en de prestaties meten zonder bijkomende belasting, het eerdere genoemde fouten opsporen (troubleshooting), en - last but not least - policy compliance auditing (reglementnalevingsaudits). Dat laatste speelt ook mee bij wettelijk vastgelegde eisen: als u aan bepaalde beveiligingsvoorwaarden moet voldoen om samen te werken met of it-opdrachten te vervullen voor de overheid, om maar iets te noemen, dan moet u dat doorgaans bewijzen via zo'n nalevingsaudit. En daarvoor dient logbeheersoftware dus. Het helpt u bij eender welke of meerdere van deze taken. Wat ons betreft is een van de voornaamste reden om aan loganalyse te doen, het opsporen van beveiligingsproblemen. Zeker bij Windows-systemen, maar veiligheid mag uiteraard ook niet veronachtzaamd worden op Linux-platformen. Uiteraard zijn foutenopsporing en applicatie- en prestatiebewaking ook belangrijk, maar de meeste bedrijven besteden hier sowieso al aandacht aan. Als een bedrijf nu nog geen logbeheersoftware heeft draaien, dan is dat vaak om dat er onvoldoende of geen aandacht geschonken is aan veiligheidsbewaking en bijhorende nalevingscontroles. In dit artikel bekijken we een drietal producten voor logbeheer van naderbij. Wat voor functionaliteit bieden ze? Zijn ze effectief geschikt voor compliance auditing? Wijzen ze ons op met name veiligheidsproblemen bij het analyseren van logfiles van Windows en Linux systemen? Voor deze test kozen twee live servers om mee te testen: een Windows Server 2003 met Exchange Server 2003 plus een Linux server met daarop een Apache webserver met php en een mysql database. Die systemen draaiden enkele maanden live voor postverwerking en als webserver zonder dat er aandacht geschonken was aan hun beveiliging. Alles werd standaard geïnstalleerd en geconfigureerd, zonder bijkomende beveiligingsmaatregelen. De Exchange-server werd wel ingesteld om alleen maar post te aanvaarden van een welbepaalde cloudspamfilter en zijn uitgaande post alleen maar af te leveren aan een smtp-relay. Zo konden we ondanks het gebrek aan strikte beveiliging toch voorkomen dat deze Exchange-server gekaapt zou worden voor spamverzending. De Linux server draait Ubuntu Server en host een op WordPress-blogsoftware gebaseerde website. Als we zelf de logs van deze twee servers manueel overlopen, valt ons toch op dat er aardig wat waarschuwingen inzake problemen allerhande instaan. Maakt de logbeheersoftware ons duidelijk wat er scheelt en wat te doen om de problemen op te lossen? Hoe beter de software dit kan, hoe beter hij de beheerder van dienst kan zijn. Kan de software een echt policy compliance rapport aanmaken? Volgens de betrokken ISO-normen? We hebben dit allemaal bekeken. Omdat de tools sterk verschillen qua functionaliteit en werking en bovendien normaal constant in de achtergrond draaien, hebben we geen snelheidsmetingen verricht. GFI is een Maltese firma die allerlei beheer- en bewakingssoftware maakt voor Windows-netwerken. Daarbij hoort ook EventsManager, beheersoftware voor de Windows 'events' (gebeurtenissen), zoals Microsoft de logboeken noemt. In feite wekt de naam van dit product een verkeerde indruk, vermits GFI zich met de EventsManager niet beperkt tot Windows, maar ook logdata van Linux en Unix systemen kan verwerken. GFI EventsManager is Windows-software die met clients of agenten werkt om logdata van systemen op afstand te vergaren en die dan op te slaan in een SQL Server database. De logdata die hij kan vergaren omvat Windows event logs, IIS W3C logs, SQL Server logs, syslog en sntm-traps. Voor de Windows event log vergaring moet de Remote Registry Service (RRS) aangezet zijn op de te onderzoeken systemen. Voor de IIS W3C logs moet er een netwerk-share zijn aangemaakt die wijst naar de directory waarin die logs opgeslagen staan. Syslog- en snmp-systemen moeten hun boodschappen sturen naar het ip-adres van de computer waarop EventsManager draait. Dat gaat trouwens verder dan eenvoudige snmp-traps. EventsManager werkt namelijk met verschillende populaire snmp mib-databases en kan daardoor veel meer informatie verwerken. EventsManager kan de systeembeheerder bijstaan voor ids (inbraakdetectie en vaststelling van beveiligingsproblemen); compliance (naleving van wetgeving, reglementen en voorschriften); prestatiebewaking en forensisch onderzoek (referentiepunt voor foutopsporing). Voor een meer uitgebreide rapportagefunctionaliteit kunt u het GFI Report Pack downloaden en installeren. Dat is gratis. EventsManager bestaat uit de beheersoftware plus clients voor Windows en Unix/Linux. Die clients zijn agenten die aan datavergaring doen. De beheersoftware is uitsluitend voor Windows en vereist een Microsoft SQL Server 2005 of hoger. Als u die niet heeft, installeert de installatiewizard een Express-versie. Hou er wel rekening mee dat u eventueel nog een servicepack voor die Express-editie moet installeren. De installatiewizard vraagt ook nog naar een domeinbeheerderlogin om toegang te krijgen tot de Windows-systemen waarvan logdata vergaard moet worden. GFI laat ook toe om voor individuele systemen in het netwerk aparte logingegevens op te geven. Dat is wel zo gemakkelijk. De standaardbeheerinterface van EventsManager heeft een tabbladindeling. 'Status' toont een dashboardpagina met grafieken die de status van alle bewaakte systemen samenvat. 'Configuration' dient om de vergaringsbronnen en verwerkingsregels op te stellen. Hiermee stelt u dus in, wat er ge-scand moet worden en aan welke verwerkingsregels de vergaarde data onderworpen moeten worden. Een voorbeeld van een handige verwerkingsregel is een ruisonderdrukkingsfilter. Ruis is alle loginformatie die u niet interesseert: allerlei gebruikersinformatie, informatieberichten en lichte waarschuwingen zou u dus als ruis kunnen bestempelen en die via zo'n filter onderdrukken. Dat is maar één van de vele mogelijkheden die deze verwerkingsregels u bieden. De 'Events Browser' laat u in detail struinen doorheen specifieke systemen en daaraan verbonden gebeurtenissen. Erg handig is, dat EventsManager een verzameling loglijnen kan samenvatten tot een gebeurtenisoverzicht waarmee u veel sneller tot allerlei inzichten kunt komen. Hoewel GFI EventsManager ook Unix- en Linux-agenten ondersteunt, blijkt de hele datavergaring en -verwerking toch zeer sterk Windows-geöriënteerd. In die Windows-omgevingen biedt EventsManager u een gebruiksvriendelijke interface tot alle gebeurtenissen met overzichtelijke samenvattingen. En hoewel u audits kunt laten uitvoeren, is er geen voorziening om die aan reeds bestaande standaardcomplianceregels te onderwerpen. Om te bewijzen dat uw systemen aan een welbepaalde compliancenorm voldoen, moet u manueel de daartoe benodigde audits kiezen en de resultaten daarvan zelf interpreteren. Zeker voor EU-normen, -regels en -vereisten zou GFI Europese bedrijven gouden diensten kunnen bewijzen als EventsManager met die nalevingscontrolefunctionaliteit uitgebreid zou kunnen worden. Ook zouden we graag een optie zien om losse logbestanden te verwerken voor systemen waarop geen agent geïnstalleerd kan of mag worden. OSSEC is een open source gereedschap voor de analyse van real-time loggegevens van allerlei netwerksystemen en servers, zowel Windows, Linux als andere. Het bevat een verzameling standaardwaarschuwingsregels, maar - in tegenstelling tot veel open source netwerkgereedschappen voor Unix en Linux - slechts een beperkte webgebaseerde grafische gebruikersinterface. Het is dus geen tool voor beginners. Veel populaire open source projecten met open- of GPL-licenties hebben toch een bedrijf achter zich, dat vaak middelen en personeel levert ten bate van het project. Voor OSSEC is dat ook zo. De drijvende kracht achter dit project is beveiligingsbedrijf Trend Micro. Het meest opvallende aan OSSEC is dat de makers het niet presenteren als een logbeheersoftware, maar als een hids ('Host-based Intrusion Detection System' of Host-gebaseerd inbraakdetectiesysteem). Een echte beveiligingsapplicatie dus. Die omvat onder meer een engine voor correlatie en analyse, loganalyse, bestandsintegriteitscontrole, Windows registerbewaking, gecentraliseerde reglementenforcering, rootkitdetectie, real-time alerting en actieve response. Het draait op zowat alle besturingssystemen, waaronder Linux, Open- en FreeBSD, MacOS, Solaris en Windows. Zoals gebruikelijk in de Unix-wereld bestaat OSSEC uit meerdere samenwerkende onderdelen. Er is een centraal beheer dat alles bewaakt en dat informatie vergaart van agenten, syslog, databases en van agentloze toestellen. Dat centraal beheer heet gewoon de Manager (Beheerder). Het bewaart de databases van bestandsintegriteitscontroles, de logs, gebeurtenissen en systeemauditgegevens. Ook alle regels, decoders en instellingen zijn in die Manager te vinden en dus centraal opgeslagen. Daarmee is dus een groot aantal agenten te beheren. Zo'n agent is een klein stuk software dat u installeert op de systemen die u wenst te bewaken. Het vergaart informatie in real-time en stuurt die door naar de Manager voor analyse en correlatie. Omdat het 'klein maar fijn' is (kleine voetafdruk voor geheugen en processor) mag zo'n agent geen impact hebben op de systeemprestaties. Aan de veiligheid is ook gedacht, want zo'n agent draait (tenminste voor de Unix/Linux-versie) in een chroot-gevangenis en dus geïsoleerd van het systeem. Hij werkt ook met een tijdens de installatie aangemaakte gebruiker met weinig rechten. Dat kan, omdat veel van de agentconfiguratie vanaf de Manager gepusht wordt. Zulke informatievergaringsagenten werken op vrijwel alle besturingssysteem waarop ze kunnen draaien meestal met soortgelijke privileges als back-upsoftware. Agentloos kan echter ook. Als u geen agent kan installeren op een systeem omdat u daar de benodigde rechten niet toe heeft of als het systeem dat niet toestaat (zoals mogelijk bij een blackbox-oplossing), dan is nog een en ander mogelijk inzake veiligheidsscans. Zo kan OSSEC nog steeds bestandsintegriteitscontroles uitvoeren en snmp-traps evalueren: daarmee kunt u dan toch nog informatie vergaren van systemen waarop u geen agent kan of mag installeren. OSSEC ondersteunt ook VMWare met een agent speciaal voor ESX: daarmee verzamelt u informatie over de operaties van vm's (installatie, verwijdering, start of stop enz.), maar ook van inlogs, uitlogs en fouten in de ESX Server. Daarnaast voert OSSEC ook de cis-controles voor VMWare uit en waarschuwt als er bijvoorbeeld een onveilige instelling aangezet is. Alleen voor Windows krijgt u voor de installatie van een agent een makkelijke gui-wizard. Voor alle Linux- en Unix-achtige platformen moet de installatie via een terminalsessie en verwacht de producent dat u vertrouwd bent met shell scripts. Dat geldt ook voor OSSEC zelf. Dat biedt voor de configuratie tekstbestanden aan die gewijzigd moeten worden. Die configuraties werken volgens een xml-achtig model. De uitvoer van OSSEC is meestal een waarschuwing, en dat kan dus gekoppeld worden aan het waarschuwingssysteem van de Linux of Unix waarop het draait. Ook weer manueel en via een terminalsessie, uiteraard. Daarnaast bestaat er ook een webinterface, die als een los product ontwikkeld is. OSSEC WebUI heet dat en momenteel zit dat aan versie 0.3. U hebt een LAMP-systeem nodig (Linux, Apache, Mysql en PHP) en dan kunt u de OSSEC WebUI daarop draaien. Dan hebt u een grafische beheerinterface voor OSSEC, maar ze is vrij rudimentair. Er zijn wel een aantal andere systemen op de markt, meestal beveiligingssoftware, die zelf gebruik maken van OSSEC en dan daar een grafische interface voor bieden. De bij dit artikel gevoegde screen-shots tonen dergelijke GUI's van derden met OSSEC geïntegreerd. OSSEC is zeer krachtig en biedt erg veel functionaliteit. De nadruk ligt op beveiliging en met name inbraakdetectie. Standaard biedt OSSEC niets voor nalevingscontrole, maar vermits u alle scans, rapportage en waarschuwingen zeer uitgebreid kunt parametriseren is het wel allemaal mogelijk. De kracht zit in een commandline interface en dat maakt het eigenlijk alleen bruikbaar voor Unix- of Linux-adepten. Er is wel een beperkte WebUI, tenzij u kiest voor gui-producten van derden waarin OSSEC geïntegreerd zit. Het Amerikaanse Splunk maakt het gelijknamige loganalyseproduct. Het principe is erg eenvoudig. Uw computers en bijhorende infrastructuur genereren heel wat data gedurende de dag, zelfs gedurende elke milliseconde. Die data bevat de hele gang van zaken van de it-omgeving: alle gebruikerstransacties, klanten- en machinegedrag, beveiligingsproblemen en kwetsbaarheden, frauduleuze activiteiten en zo meer. Al die data staat verspreid, in telkens andere formaten en volgordes en doorgaans doet u er weinig tot niets mee. Splunk is een datamining-tool voor dat soort it-data. Het analyseert en herinterpreteert de data, zodat het rapporten, overzichten, aanbevelingen en waarschuwingen kan genereren. Er is een gratis versie van Splunk, maar die kan slechts 500 MiB aan data per dag aan en ontbeert enkele geavanceerde functionaliteiten. De complete versie is Splunk Enterprise Edition. Het vergaart, indexeert en beheert alle it-data in uw bedrijf, ongeacht of dat van fysieke, virtuele of cloudsystemen afkomstig is. Volgens Splunk helpt hun software zowel it-mensen als bedrijfsleiders nieuwe inzichten verwerven: dat heet dan Operationele Intelligentie. Splunk wordt geleverd als één enkel uitvoerbaar bestand dat voor de installatie zorgt. Dat is zo voor alle ondersteunde platformen: Windows XP of hoger, Linux, Unix-achtigen zoals *BSD en Mac OSX en nog enkele andere, inclusief een aantal populaire netwerktoestellen, mits voor die laatste aan enkele voorwaarden voldaan is. Splunk bestaat uit verschillende componenten en die kunt u op verschillende computers draaien of op slechts één. In dat laatste geval heeft hij wel behoorlijk krachtige systeemvereisten. De componenten van Splunk bestaan uit indexers (die bewaren de Splunk-dataopslag en indexeren data van lokale en op afstand staande systemen), zoekstruiners (dienen om data op te zoeken en erdoor te bladeren), forwarders, uitrolservers en ha-componenten. De uitrolservers dienen uiteraard voor de softwaredistributie van Splunk, met name voor agent. Wij installeerden alle componenten op één systeem voor deze test. Na afloop van de installatie bedient u Splunk via een webinterface (ja, ook in Windows). Standaard wordt daarvoor poort 8000 gebruikt en het https-protocol, maar u kunt Splunk ook bedienen via een cli of via een softwarematige ui voor Windows (maar die moet wel apart aangeschaft worden). De webinterface toont heel wat functionaliteit waaronder rapporten, zoekfuncties en dashboard-views, maar dat hangt allemaal af van welke Splunk-applicaties u installeert. Er bestaat naast de commerciële add-ons voor Splunk ook heel wat gratis software. Het hoofdscherm van de webinterface toont alle beschikbare functies binnen twee verticaal onderverdeelde hoofdrubrieken: links 'Apps and knowledge' en rechts 'System configurations'. Onder die laatste rubriek is er een functie 'Data inputs'. Die dient voor de datavergaring. Dat kan via scripts, bestanden en directories en via netwerkpoorten. Voor Windows kan 'Data inputs' ook werken met registersleutelwijzigingen en ad-activiteiten. Vrijwel elk type bestand kan voor data-invoer gebruikt worden, maar Splunk eist logischerwijze wel dat u opgeeft van welk platform de data afkomstig is en ook enige informatie geeft over structuur, indeling en dergelijke, voor zover hij dat niet zelf al kent. Splunk eist in tegenstelling tot andere producten op de markt niet van u dat u ongestructureerde data zelf normaliseert voordat hij er iets mee kan aanvangen. Bij data- structuren (ook eventlogs) kunt u altijd doorklikken naar meer details (drill-down). De standaard voorziene rapportage is met 23 voorgedefinieerde rapporten aan de karige kant, maar er zijn er heel wat extra te verkrijgen en die zijn vaak gratis. Wat onze aandacht trok, was de aanwezigheid van een Enterprise Security en een PCI Compliance suite. Daarmee kunt u dus inderdaad snel overzichtelijke beveiligings- en nalevingsrapporten aanmaken. Splunk ondersteunt een vrij uitgebreid systeem van gebruikersrollen, wat enigszins verrassend is voor logbeheersoftware. Er zijn meer dan veertig mogelijkheden om een onderscheid te maken tussen wat gebruikers wel of niet mogen. Splunk is vrij krachtig en biedt indrukwekkende functionaliteiten, maar om echt het onderste uit de kan te halen (zeker qua rapportage), moet u toch wel vaak beroep doen op de goodwill van derden en kijken of u de benodigde add-ons kunt downloaden. Als u de sterkste oplossing vanuit het standpunt van beveiliging zoekt, moet u ongetwijfeld OSSEC hebben. Dat is immers al een volledig inbraakdetectiesysteem. Het is ook vrijwel onbeperkt uitbreidbaar. En het is gratis. Qua gebruiksvriendelijkheid scoort OSSEC echter zeer laag. GFI EventsManager is veel gebruiksvriendelijker, maar focust heel erg op Windows. We zien dat dus vooral zitten in Windows-centrische omgevingen, hoewel het ook overweg kan met eventueel aanwezige Linux-servers. Splunk heeft echter geen van de nadelen van GFI en OSSEC en biedt ook een indrukwekkende functionaliteit. LOGS BEVATTEN EEN SCHAT AAN INFORMATIE DIE OP REGELMATIGE BASIS DIENT TE WORDEN GEANALYSEERD. LOGBEHEER-TOOLS HELPEN BIJ HET VOORKOMEN VAN NETWERKPROBLEMEN ZODAT JE ZE ACHTERAF NIET MOET VERHELPEN.