Oracle Database Firewall
17 jul 2012 - Frank van der Borden

Verschenen in OGh Visie zomer 2012
Oracle Database Firewall doet dienst als eerste beveiligingsmechanisme voor databases. De Database Firewall beschermt bedrijfskritische informatie zowel tegen interne als externe aanvallen. Door middel van de zeer accurate SQL-grammatica technologie monitort en blokkeert de firewall niet-toegestaan SQL verkeer voordat het de database bereikt. Oracle Database Firewall is eenvoudig te configureren en behoeft geen wijzigingen aan bestaande applicaties.
Oracle Database Firewall

Monitoring en blokkering ongeoorloofd SQL-verkeer

 

Oracle Database Firewall

 

Oracle Database Firewall doet dienst als eerste beveiligingsmechanisme voor databases. De Database Firewall beschermt bedrijfskritische informatie zowel tegen interne als externe aanvallen. Door middel van de zeer accurate SQL-grammatica technologie monitort en blokkeert de firewall niet-toegestaan SQL verkeer voordat het de database bereikt. Oracle Database Firewall is eenvoudig te configureren en behoeft geen wijzigingen aan bestaande applicaties.

 

Door Frank van der Borden

Waarom een databasefirewall?

Netwerkfirewalls worden ingezet om ongeoorloofd verkeer tegen te houden. Aanvallen worden echter steeds doortrapter en maken gebruik van methodes die de netwerkfirewall-functionaliteit omzeilen. Via vertrouwde middleware wordt bijvoorbeeld meegelift op het kanaal dat open is richting de database om op deze manier

 
 
 
 
 
 
illegale SQL-statements op de database uit te voeren (SQL-injection).
Ook kan door misbruik van gebruikersnaam en wachtwoord via tools als Microsoft Excell via ODBC data uit de database worden geëxporteerd. Om dit type aanvallen te kunnen waarnemen en bij voorkeur te blokkeren moet de firewall beschikken over de kennis van de SQL-grammatica. Juist hierdoor heeft de Oracle Database Firewall toegevoegde waarde in de ‘Defense in Depth’ -filosofie van Oracle.
 
 
Welke kenmerken heeft de databasefirewall?


De Oracle Database Firewall onderscheidt zich van eerste generatie database activity

 
 
 
 
 
 monitoring (DAM) oplossingen op de volgende vlakken:
 
  • SQL gramatica
    

      Eerste generatie DAM-oplossingen proberen niet-toegestane SQL statements te achterhalendoor middelvan reguliere expressies. Noam Chomsky (http://en.wikipedia.org/wiki/Noam_Chomsky) heeft onderzoek gedaan naar grammatica hiërarchieën en hierbij heeft hij bewezen dat een type 3 grammatica zoals reguliere expressies nooit 100% accuraat een type 2 grammatica (context-free) zoals SQL is, kan analyseren. De Oracle Database Firewall functioneert ophetzelfde context-free type grammatica en ondersteunt de grammatica’s van Oracle, MySQL, Microsoft SQL Server, IBM DB2 for Linux, Unix, and Windows, and Sybase databases.

 
  • ·      Schaalbaarheid

      Oracle Database Firewall wordt geleverd als een ‘software appliance’ die geïnstalleerd wordt op een Intel x86 server. Doordat er niet gekozen is voor een ‘hardware appliance’-model kan de hardware uitgebreid worden met geheugen en extra CPU’s op het moment dat de netwerkbelasting te zwaar wordt voor de geïnstalleerde hardware.

 
  •       Snelheid

      De SQL statements die de Database Firewall verwerkt worden in clusters met dezelfde intentie samengevat. Door dit‘clustering’-mechanisme wordt onder andere bereikt dat de snelheid van de Database Firewall constant blijft.

 
  •      Rapportage

      Oracle Database Firewall biedt geïntegreerderapportagemogelijkhedenen integratie met andere tools voor verdere analyse. De standaard meegeleverde rapporten richten zich op regelgevingen als PCI en SOX. Doordat het datamodel open iskunnen, middels de meegeleverde BI Publisher-functionaliteit, de standaardrapporten wordenuitgebreid.

 

 
Hoe werkt de databasefirewall?

De Oracle Database Firewall bestaat uit drie componenten:

 
 
 

 

  • ·       Policy EnforcementPoint (PEP)             
    Eén of meerder Policy Enforcements Points worden geïnstalleerd en in het netwerk tussen de applicatie(s) en de database geplaatst. Hierbij zijnerdrie manieren waarop de PEP kan worden geconfigureerd:

o  Out-of-band; de PEP wordt aan een SPAN port van een switch gekoppeld of aan een TAP device. In dezemoduskan enkel monitoring worden toegepast

o  In-line; de PEP wordt in de netwerk verbinding tussen de applicatie(s) en de database(s) geplaatst. De PEP kan nu naast monitoring ook SQL statements blokkeren.

o  Proxy-mode; in deze mode wordt de applicatie geconfigureerd om in plaats van met het IP adres van de databaseserver te communiceren deFirewall te benaderen. De Firewall zal het verkeer als een proxy server doorsturen naar de databaseserver. In dezemoduskan zowel monitoring als blokkering worden uitgevoerd.

 
  •         Policy Analyser
    Middels de policy analyser wordt een policy gemaakt die op de PEP wordt geactiveerd. Het maken van een policy kan op twee manieren gebeuren. Indien de applicatieontwikkelaar de SQL statements die de applicatie gebruikt heeft aangeleverd, kunnen deze gebruikt worden om dit in de policy analyser te importeren en hierop de policy te baseren. Mocht niet bekend zijn welke statements de applicatie gaat sturen dan kan de Database Firewall enige tijd in ‘log-only’ mode worden ingezet. De opgevangen SQL statements zijn in de vorm vanlog-files beschikbaar en kunnen in de ‘policy analyser’ worden geïmporteerd. Bij het opzetten van een policy worden grofweg twee modellen onderkend,namelijk de ‘white list’ en de ‘black list’.Voor een white list geldt dat wordt aangegeven welke statements door de applicatie worden gestuurd en dus moeten worden doorgelaten. Alle statements die buiten de white list vallen moeten worden behandeld als illegaal en dus ofwel leiden tot een alert ofwel worden geblokkeerd.Een black list geeft aan welke SQL statements nooit in de database mogen komen.Als de policybepaald iskan deze via de managementserver op de PEP worden gezet.
  • ·      Management Server
 

Via de web interface van de managementserver wordt de Database Firewall en specifiek de Policy Enforcement Points beheerd. Door middel van de managementserver wordt een policy geüpload naar de Database Firewall en vervolgens op een of meerdere PEP’s geactiveerd.

 

Als een SQL statement niet binnen een van de clusters valt die in de white list staan dan kan actie worden ondernomen. Deze actie zou enkel kunnen zijn het uitsturen van een e-mail naar een security officer, maar de firewall kan het statement ook blokkeren. Bij het blokkeren kan worden ingesteld dat het statement wordt vervangen voor een SQL-statement dat geen impact heeft aan de databasekant. Een voorbeeld van een dergelijk statement is select * from dual where 1 = 0. Het voordeel van statement substitutie is dat het lijkt alsof er geen databasefirewall actief is maar dat de gestelde query geen resultaten levert.

 
 

Conclusie

Oracle Database Firewall biedt een accurate beveiliging voor databases. Oneigenlijke toegang tot informatie kan worden voorkomen en via rapportages kan aantoonbaar worden gemaakt dat de informatie niet buiten de applicatie om is geraadpleegd of gemuteerd. Voor meer informatie over Oracle Database Firewall zie http://www.oracle.com/us/products/database/database-firewall-160528.html

 

Dit artikel is een weergave van de presentatie die Frank van der Borden,Principal Sales Consultant Database Optionsbij Oracle, heeft gehouden tijdens OBUG Benelux Connect.