Tags: Database | Oracle | Security

Securing the Oracle database the Israeli way

Betere security en performance met ActiveBase

Door: Reinoud van Blankenstein

De Oracle database is de meest veilige, betrouwbare en beste performende database in de wereld. Toch hebben rond 2000 in Israel een aantal voormalige Oracle medewerkers - database specialisten - het bedrijf ActiveBase opgericht om aanvullende producten juist op dat terrein te ontwikkelen. In eerste instantie gericht op het nog verder verbeteren van de security en vervolgens bleek daarmee ook de performance aanzienlijk te verbeteren. En dat zonder dat veranderingen in de applicaties & database, upgrades of aanvullende opties nodig zijn. Klinkt te mooi om waar te zijn?

ActiveBase

Uitgaande van diepgaande kennis van het Oracle communicatie protocol is ActiveBase ontwikkeld. ActiveBase voegt middels een framework een nieuwe laag toe tussen de Oracle databases aan de ene kant en de applicaties/clients aan de andere kant. Berichten naar de database kunnen via de ActiveBase proxy worden geleid. Analyse, eventuele aanpassing en zelfs blokkering van statements is mogelijk voordat ze worden doorgestuurd naar de database. Dit gebeurt met behulp van een zogenaamde rule engine. Met ActiveBase heeft u dus een uitstekend instrument in handen om de security en performance van de Oracle database te beheersen.


Activebase Management Servers

Rules

ActiveBase bevat uitgebreide functionaliteit om te beheersen welke rules toegepast worden op SQL statements die naar de database worden gezonden. Het voert te ver om hier uitgebreid op in te gaan. Kort gezegd komt het erop neer dat statements op zeer efficiënte wijze worden geleid langs de rules die voor een statement van toepassing zijn, waarbij wordt voorkomen dat uitvoering van de statements onnodige vertraging oploopt. Bij het maken van rules is het van belang rekening te houden met de tijd die de verschillende identificatiemethoden van statements nodig hebben. Zo zal het doorzoeken van SQL-tekst een te verwaarlozen tijd kosten. Maar met analyses die bijvoorbeeld eerst input van de database nodig hebben (explain plan of identificatie via een PL/SQL-functie) zal voorzichtiger omgegaan moeten worden.

Rules worden gebruikt om een actie op de statement uit te voeren. Deze actie bestaat meestal uit het aanpassen van een SQL statement (herschrijven, hints toevoegen enz.) Maar het is ook mogelijk om een statement te blokkeren en een zelf te bepalen (ORA-)foutmelding terug te geven. Ook kan ervoor gekozen worden om in bepaalde gevallen alleen te loggen dat een bepaalde situatie zich heeft voorgedaan. Zo kunnen mogelijke problemen eerst opgespoord worden. In een later stadium kan er dan alsnog voor gekozen worden om een actie te benoemen die daadwerkelijk iets met het statement doet.

Security

Op het vlak van security biedt ActiveBase de mogelijkheid om SQL statements nog voor de database te controleren. In combinatie met de block actie kan zo de toegang tot de database extra bewaakt en desgewenst beperkt worden. De combinatie van factoren waarop gecontroleerd wordt kan complex zijn. Denk bijvoorbeeld aan een combinatie van tijdstip van de aanvraag, gebruik van een bepaalde tabel in het SQL statement en de applicatie van welke de statement afkomstig is. Een soort controle die lastig is te onderhouden met de gebruikelijke methodes. Verder is het ook mogelijk effectief SQL injections tegen te houden. Met behulp van het herschrijven van statements kunnen security policies worden geïmplementeerd. Gerichte data masking / scrambling is mogelijk door queries die gevoelige informatie ophalen zo aan te passen dat deze informatie niet of gescrambled getoond wordt. Het is in te regelen deze actie alleen uit te voeren als een query afkomstig is vanuit een applicatie of van een gebruiker die de betreffende informatie niet mag zien, terwijl in andere gevallen de gegevens gewoon getoond worden. Dit alles zonder de data op de database daadwerkelijk te versleutelen. Omdat het mogelijk is om te loggen waarneer een regel is toegepast, kan je bijhouden wanneer en door wie statements zijn verstuurd die een beveiligingsrisico met zich meebrengen.



ActiveKnowledge Server software

Performance

Bij performance problemen is vaak bekend welke statements problemen geven. Als bekend is hoe dergelijke statements het best getuned kunnen worden, kan ActiveBase bewaken dat deze tuning regels ook worden toegepast. Dit is natuurlijk vooral relevant als het niet mogelijk is de code in de applicatie aan te passen (bijvoorbeeld bij standaard software) of als statements pas run time worden samengesteld (bijvoorbeeld in data warehouses). Als tunen geen optie is, kan een regel worden gemaakt die bijvoorbeeld op bepaalde tijdstippen van de dag belastende statements blokkeert.

SQL Expert en Tuning Robot

Als het tunen van een statement lastig wordt biedt ActiveBase ondersteuning met SQL Expert en Tuning Robot. Deze tools zijn gebaseerd op de Oracle Optimizer. Door aan SQL Expert een ‘problematisch’ statement kenbaar te maken, bepaalt het tool automatisch alternatieve executiepaden op basis van vooraf ingestelde criteria. Indien een goed alternatief is gevonden, kan er automatisch een rule worden gemaakt die het oorspronkelijke statement herkent en herschrijft naar het alternatief. Tuning Robot doet precies hetzelfde, maar dan volledig geautomatiseerd, continu en op de achtergrond. Zowel SQL Expert als Tuning Robot zijn aldus uitstekende hulpmiddelen om queries beter te tunen zonder applicaties of databaseconfiguraties aan te hoeven passen.

Wanneer ActiveBase

Als u security en performance van uw Oracle databases goed op orde heeft en het beheer overzichtelijk en eenvoudig is, is de extra laag die ActiveBase met zich meebrengt niet direct nodig. Anders wordt het in complexere omgevingen, waarbij beheer van security en performance ook een stuk complexer wordt en Oracle niet altijd de mogelijkheden biedt die u zoekt. In dat geval heeft ActiveBase zeker toegevoegde waarde.

Denk bijvoorbeeld aan applicaties waarvan de SQL statements die worden gegenereerd niet aangepast mogen of kunnen worden (legacy, standaard software), of pas runtime worden bepaald (data warehouse). Of denk aan een omgeving die bestaat uit vele databases en vele applicaties, waarbij het lastig is om bepaalde policies voor tuning en security op alle plaatsen toe te passen. In dat geval is het handig om op een centraal punt deze regels op eenduidige wijze te kunnen bewaken.

Tot slot ….

Het is niet de bedoeling om in ActiveBase bestaande omgevingen te herprogrammeren. De verleiding kan ontstaan om aanpassingen die goed in een applicatie of in een database kunnen worden uitgevoerd, snel via ActiveBase te implementeren. Hierdoor wordt ActiveBase een extra applicatielaag en dat zal niet de bedoeling zijn. Bij het implementeren van een regel is het altijd belangrijk om goed te overdenken of een meer conventionele oplossing hier ook makkelijk en eenduidig kan worden toegepast.

Bij het maken van rules is een goed inzicht in de gevolgen van het toepassen van de rules noodzaak. Als er bijvoorbeeld sprake is van het herschrijven van SQL statements is het belangrijk om te weten dat dit alleen gebeurt op momenten waarop je dit wilt. Goed inzicht in welke berichten uit welke applicaties bepaalde rules triggeren is onontbeerlijk.

ActiveBase biedt volop mogelijkheden voor het implementeren van security rules en het verbeteren van performance. Maar het is een ondersteunend tool. Het rendement wordt bepaald door de kennis en kunde van de gebruikers van het tool.

ActiveBase is inmiddels bij een groot aantal internationale organisaties geïmplementeerd, waaronder Visa, Orange en Coca Cola. Vanaf dit jaar is begonnen met de introductie van ActiveBase op de Nederlandse markt. Quobell B.V. in Houten is de reseller en consulting partner van ActiveBase voor Nederland. Reinoud van Blankenstein is Technical consultant Oracle en productspecialist ActiveBase bij Quobell.

Enkele voordelen van ActiveBase op een rij:
  • Beheersing security en performance zonder database en applicaties aan te passen
  • Beheersing run-time gegenereerde SQL statements
  • Centrale plaats waar beleid wordt beheerd, onafhankelijk van applicatie- en databasebeheer
  • Rules toepassen voordat verzoek de database heeft bereikt


  • Lees meer over Quobell
    Ga terug naar We Love IT uitgave 2 - 2009
    Advertentie