Informatiebeveiliging breder bekeken
Oktober 2005 - De kernvraag binnen de informatiebeveiliging is: "wie mag toegang hebben tot welke informatie?" Sinds enige tijd is er ook wetgeving zoals Sarbanes-Oxley die daar de vraag "wie heeft wanneer welke gegevens opgevraagd?" Oftewel, zijn organisaties "in control" van de informatie waarover zij beschikken? Deze Whitebook gaat kort in op de huidige best practices op dat gebied en gaat daarna verder met een nieuwe ontwikkeling: het transparant versleutelen van data, zowel tijdens transport als "in rust" (bv. op een harde schijf of backuptape).
De kernvraag binnen de informatiebeveiliging is: "wie mag toegang hebben tot welke informatie?" Sinds enige tijd is er ook wetgeving zoals Sarbanes-Oxley die daar de vraag "wie heeft wanneer welke gegevens opgevraagd?" Oftewel, zijn organisaties "in control" van de informatie waarover zij beschikken? Deze Whitebook gaat kort in op de huidige best practices op dat gebied en gaat daarna verder met een nieuwe ontwikkeling: het transparant versleutelen van data, zowel tijdens transport als "in rust" (bv. op een harde schijf of backuptape).
Informatiebeveiliging binnen applicaties
Zolang een gebruiker of beheerder binnen de grenzen van een applicatie blijft, hebben we meestal voldoende grip op de situatie om vragen te kunnen beantwoorden als:
- Wie maakt er op dit moment gebruik van de applicatie?
- Welke rechten heeft die persoon binnen deze applicatie?
Binnen de Oracle- en Java-wereld gebruiken we hiervoor onder andere JAAS, Oracle Internet Directory, SSL, Single Sign-On (SSO) en Virtual Private Databases (VPD) om ons ervan te verzekeren dat alleen die informatie beschikbaar is voor geautoriseerde personen.
Onder de applicatie
Zodra we echter buiten de grenzen van onze applicatie komen, wordt het onduidelijker. In onze dagelijkse praktijk wordt voor opslag veelal een Oracle Database gebruikt. Deze database draait ergens op een server, wordt regelmatig gebackupt en krijgt voldoende onderhoud van een van uw beheerders. Maar hoe is het met de beveiliging gesteld in deze omgeving? Wat gebeurt er als uw beheerder besluit een kijkje in de database te nemen? Of als uw server of een backuptape gestolen wordt? Allemaal bedreigingen voor uw kostbare, gevoelige gegevens.
Het is mogelijk om de data binnen de database te versleutelen. Vanaf Oracle 10g is de ondersteuning hiervoor in de database sterk verbeterd. Echter, uw applicatie moet hierop wel worden aangepast. Ook heeft deze oplossing consequenties voor de performance: afhankelijk van de hoeveelheid versleutelde data, kan database encryptie een flinke extra belasting voor uw server betekenen.
Encryptie van data-at-rest
Een nieuwe ontwikkeling is om de data vanaf de bron te versleutelen, dus al vanaf het moment dat het naar permanente opslag weggeschreven wordt. Whitehorses heeft ervoor gekozen om Vormetric Coreguard in haar productportfolio op te nemen. Coreguard is een gelaagde oplossing waarmee de informatie binnen uw organisatie kan worden beveiligd. Het gaat dan om beveiliging van alle soorten bestanden, tegen aanvallen van buiten de organisatie maar vooral tegen misbruik door gebruikers binnen de firewall.
Binnen het netwerk wordt een Coreguard Security Server geplaatst. Deze bevat de centrale configuratie en alle sleutels. Op elke te beveiligen server wordt een Coreguard module geïnstalleerd, de zogenaamde PEM (Policy Enforcement Module). Deze PEM communiceert met de appliance over het te volgen beveiligingsbeleid. Op het moment dat een gebruiker toegang wenst tot bepaalde informatie, een bestand of resource, wordt op basis van een policy bepaald of toegang wordt verleend. Coreguard maakt in die policy onderscheid tussen:
- Wie probeert de data op te vragen (welke gebruiker en met welke applicatie)?
- Wat is de gevraagde actie (o.a. lezen, schrijven, verwijderen, hernoemen)?
- Waar staat de informatie die opgevraagd wordt (bestandsnaam, directory)?
- Wanneer is deze actie geautoriseerd (denk aan een timewindow voor bv. backups)?
- Hoe is de toegang (geen toegang, versleuteld of onversleuteld)?
Als aan alle voorwaarden is voldaan, wordt toegang verleend tot de data. Het is mogelijk om van alle verzoeken (toegestaan danwel afgewezen) een audit trail aan te maken op de appliance. Deze audit trails voldoen aan de eisen die EDP-auditors aan een dergelijke administratie stellen.
De architectuur van een Coreguard omgeving ziet er als volgt uit.

De voordelen van een Coreguard-installatie zijn:
- centraal beheer van policies en audit trails;
- een scherpere functiescheiding tussen technisch- en applicatie-beheer;
- hoge schaalbaarheid door decentrale encryptie/decryptie door de PEM;
- transparant in gebruik en daardoor geen inbreuk op bestaande applicaties;
Het belangrijkste nadeel is een kleine performance impact door de tussenkomst van de PEM. In de praktijk blijkt deze erg laag, meestal minder dan enkele procenten.
Voorbeeldconfiguratie van een database-server
Voor dit (vereenvoudigde) voorbeeld gaan we uit van een Oracle DB-server. De beheerder van Oracle is de user "oracle", de Oracle-home is /opt/oracle, Oracle data-bestanden staan in /opt/oradata en logfiles gaan naar /opt/oralog. Er is een user "backup" die 's nachts tussen 3 en 6 backups maakt van /opt/oradata. De gebruiker "edp" heeft lees-toegang tot de logfiles.
Met behulp van Coreguard kan deze installatie met de volgende regels verder worden vergrendeld:
| Wie | Wat | Waar | Wanneer | Toegang |
| oracle | alles | /opt/oradata/* | altijd | onversleuteld |
| oracle | toevoegen | /opt/oralog/* | altijd | versleuteld |
| backup | lezen | /opt/oradata/* | 03:00-06:00 | versleuteld |
| edp | lezen | /opt/oralog/* | altijd | onversleuteld |
| nvt | alles | Alles | altijd | geen toegang |
Voor de gebruiker "oracle" geldt een extra restrictie dat de bestanden in /opt/oradata uitsluitend benaderd mogen worden door de applicaties in /opt/oracle. Op die manier wordt voorkomen dat data-bestanden met andere applicaties dan de daartoe aangewezen Oracle-applicaties benaderd worden.
We zien hier een aantal regels in de policy (vergelijkbaar met de regels in een firewall) die bepalen dat de gebruiker "oracle" vrije toegang heeft tot de data-bestanden (mits met Oracle-applicaties), dat de gebruiker "oracle" informatie aan bestanden in /opt/oralog/ mag toevoegen (alleen toevoegen, om te voorkomen dat er geknoeid wordt met log-bestanden), een gebruiker "backup" die alleen 's nachts leestoegang krijgt (en dan ook nog alleen de versleutelde bestanden) en een gebruiker "edp" die alle log-bestanden mag lezen.
Conclusie
De noodzaak om aan te tonen dat bedrijven "in control" zijn van hun informatie wordt steeds duidelijker, en voor een aantal organisaties komt daarvoor zelfs een wettelijk kader. Met een product als Vormetric Coreguard wordt het mogelijk om dit vanaf de basis in te richten. Als ook tijdens de applicatie-ontwikkeling voldoende rekening gehouden wordt met informatiebeveiliging, dan is het eindresultaat een solide oplossing en kunt u met een gerust hart zeggen dat u "in control" bent.
Referenties
- Meer informatie over Vormetric
- Artikel Defending OS Vulnerabilities in an Oracle Environment
- Vormetric home page
Over de auteur
Martin Schapendonk is een all-round Oracle en Java ontwikkelaar en adviseur. Martin heeft zich gespecialiseerd in de ontwikkeling van veilige (web) applicaties met Oracle Portal, (mod) PL/SQL en Java. Daarnaast houdt hij zich o.a. bezig met ontwikkelingen als utPLSQL, HTMLDB en Nagios.

Reacties
Nieuwe reactie inzenden