De automatisering van het databasebeheer. Wie bewaakt de bewaker ?

11 maart 2006

ICT managers doen hun uiterste best om alles bij te houden wat te maken heeft met compliance, beveiliging en het toepassen van verbeteringen. In de praktijk blijkt echter zeer regelmatig dat er een ding is dat wordt vergeten: de beveiliging van de database. Dat heeft te maken met een zeer fundamentele vraag, namelijk wie nu eigenlijk de data controleert. Databases blijken namelijk het ongeveer laatste bastion te zijn van handmatige beheershandelingen. Ze hebben Database Administrators (DBA’s) nodig om een aantal handmatige processen uit te voeren noodzakelijk om het benodigde beheer uit te voeren. In de meeste gevallen heeft een DBA volledige en ongehinderde toegang tot en controle over de databases die zij beheren. Dat op zich is niet erg; wel dat zij niet of nauwelijks verantwoording daarover afleggen en hun werkzaamheden niet of nauwelijks worden gecontroleerd. Zelf de meest rigoreuze compliance-controles binnen het databasebeheer kunnen door iedere DBA worden omzeild.

Geert-Jan van Bussel


Geen controle
Een voorbeeld om dit aan te tonen, gebaseerd op verschillende Sarbanes Oxley (SOC) audits die zijn uitgevoerd bij diverse pharmaceutische bedrijven. SOX-auditors vroegen tijdens deze audits een gedetailleerd overzicht van alle veranderingen aangebracht in een specifiek aantal databases over een bepaalde tijdsperiode. De DBA’s die deze databases beheerden werd opgedragen een rapport samen te stellen waarin die specifieke vraagstelling werd beantwoord. Toen de auditors de rapportage ontvingen werden er tevens enkele gedetailleerde vragen gesteld over de wijze waarop het databasebeheer was ingericht. Het bleek spoedig dat de DBA’s de mogelijkheid hadden om elk van de gegevens zoals die in het rapport waren opgenomen te veranderen, zonder dat het mogelijk was om die verandering te kunnen reconstrueren. Geen wonder dat de ICT beveiliging als niet compliant werd gewaardeerd.

Groeiende complexiteit
Een andere belangrijke uitdaging voor compliance die zelfs de meest capabele DBA-teams kopzorgen bezorgt is de voortdurend toenemende complexiteit. De meeste organisaties hebben over het algemeen meer dan een type databasemanagementsysteem (DBMS) in gebruik. Een multinational heeft al gauw vier verschillende relationele DBMS gelijktijdig in gebruik, tenminste volgens Gartner. Oracle DBA’s werken alleen met Oracle databases. Sybase administrators alleen met Sybase, enz. Het is niet of nauwelijks mogelijk om een compleet overzicht te hebben over een zeer heterogeen databaselandschap. Als een gevolg is het implementeren van standaard-uitvoeringsprocessen en handelingen inzake databasebeheer in de totale organisatie extreem ingewikkeld. Alleen al het up-to-date houden van de databases met nieuwe patches is al bijna onmogelijk.
Een voorbeeld maakt dat duidelijk. Een bank had grote problemen met het optimaliseren van de efficiëntie van het Oracle-databasebeheer. Hoewel de bank 500 DBA’s had om haar 30.000 databases te beheren, bleek dat 80 % van hyn werktijd besteed werd aan het oplossen van problemen in die databases. Veel van die problemen vloeiden voort uit het gigantische aantal patches dat diende te worden uitgevoerd. Oracle beveelt bijvoorbeeld gemiddeld twee patches per maand aan per database (en dan hebben we het nog niet over de andere DBMS’en). Het team van 500 DBA’s had grote problemen om dus alleen al 720.000 patches op jaarbasis te installeren, waarbij vele patches het uit de lucht halen van de databases bereisten. Door de tijd en complexiteit van de alleen al het patchen werden vele patches überhaupt niet eens geïnstalleerd. Dit leidde vervolgens tot reactief beheer, maar leidde – erger – ook tot het compromitteren van de beveiliging en het verminderen van de stabiliteit van het gehele systeem. Met een groei van gemiddeld 50 % per jaar per database wordt het probleem alleen maar groter. Het probleem van de bank wordt hierdoor een stuk helderder.

Mogelijke oplossingen
Welke opties zijn nu beschikbaar om het groeiende gegevensmonster in handen te krijgen en de integriteit van de data te waarborgen ?
De meest toegepaste oplossing is om meer manuren op het probleem te zetten. Het idee is dat als iedereen dient als een waakhond, fouten, veranderingen, frauduleuze handelingen e.d. kunnen worden geïdentificeerd en vermeden. Helaas is dit een nog steeds aan vergissen en menselijke fouten onderhevige oplossingen, terwijl het tegelijkertijd een uiterst kostbare oplossing is. Een andere oplossing, die beide voogenoemde gevolgen van de handmatige oplossing elimineert, is om een gecentraliseerd en geautomatiseerd programma in te zetten dat exact bijhoudt welke wijzigingen in een database worden aangebracht en door wie. Op die manier is het gedrag van een DBA te reconstrueren. De integriteit van de gegevens is op die manier ook veel beter te controleren, ook al groeit de ICT infrastructuur in omvang en complexiteit. Goed management van deze audit trails en de informatie die daarin is opgenomen is van groot belang. Het gaat er vooral om dat de verzamelde data worden beoordeeld en dat er specifieke rapportages worden gegenereerd, die aan compliance auditors kunnen worden overlegd en waaruit duidelijk blijkt wie wat waarom heeft gedaan. De omvang van de auditdata is dermate omvangrijk dat die rapportage op geautomatiseerde wijze moeten worden gegenereerd door gebruik te maken van software die op basis van ingegeven regels continue auditdata categoriseert en relateert. Naast deze trackingsoftware kunnen tools worden ingezet die veel patchingswerkzaamheden automatiseren, zodat de menselijke tussenkomst hierin wordt beperkt. De werkzaamheden die vervolgens door een DBA moeten worden gedaan worden gedetailleerd vastgelegd, zodat elke handeling continue is te reconstrueren.
Op die manier kan de bewaker worden bewaakt. Een noodzakelijk iets, want zonder een check op de DBA is werkelijke compliance, effectieve auditing en betrouwbare beveiliging onmogelijk.

Share This:

Leave a Reply

Your email address will not be published. Required fields are marked *