Oracle Database Vault Livre Blanc Oracle Avril 2007
Oracle Database Vault Introduction... 3 Bloquer les accès du DBA... 4 Les problèmes de la consolidation... 5 Les menaces internes... 6 Les facteurs... 6 Les règles d accès aux commandes... 6 La conformité aux contraintes légales... 7 La ségrégation des responsabilités... 8 Les états prédéfinis... 9 L intégration avec Oracle Advanced Security... 10 L interface d administration... 10 En résumé... 11 Références... 11 Oracle Database Vault Page 2
Oracle Database Vault La sécurisation des données devient une préoccupation majeure des directions des entreprises. Elles doivent être accessibles et intègres. Leur protection contre des attaques externes est désormais bien maîtrisée. Le problème délicat des attaques internes reste entier. INTRODUCTION La sécurisation des données devient une préoccupation majeure des directions des entreprises. Elles doivent être accessibles et intègres. Leur protection contre des attaques externes est désormais bien maîtrisée. Le problème délicat des attaques internes reste entier. Le contrôle des personnes habilitées à y accéder, et l analyse des opérations effectuées devront se conformer à des réglementations, et permettre la réalisation d audits. Les règles de contrôle d accès aux données ont longtemps été codées dans les applications. Cette approche est satisfaisante tant que l utilisateur reste sous le contrôle de l application. Mais elle n assure pas la protection contre les attaques menées par des personnels techniques compétents et disposant de forts privilèges sur les bases de données, de part la nature même de leurs fonctions. Il est donc nécessaire de disposer de mécanismes de protection: Intégrés à la base de données. Non contournables par des utilisateurs privilégiés. Automatiques et paramétrables. Transparents pour les applications. Permettant l audit des alertes liées à des violations des règles de sécurité. Oracle Database Vault, est une option d Oracle Database 10 g, qui permet désormais d assurer l ensemble des fonctions énoncées ci-dessus. L approche retenue est de placer les données dans un domaine de protection qui va être administré par ses propriétaires, un peu à la façon d un coffre dans une banque. Oracle Database Vault Page 3
Le schéma ci-dessus résume les principales fonctions d Oracle Database Vault. En utilisant des domaines de protection appelés REALM, Oracle Database Vault empêche l accès aux données de l application par les administrateurs possédant de forts privilèges. L utilisation de facteurs d autorisation, combinés en un ensemble de règles interprétées par un composant interne de la base permet la mise en place de mécanismes de protection sophistiqués, basés sur une suite de conditions. La ségrégation des responsabilités laisse les administrateurs gérer la base de données, tout en les empêchant de lire certaines informations propres à l application. Oracle Database vault permet également de restreindre l utilisation de commandes. Par exemple d empêcher un DBA de créer un utilisateur, ou le propriétaire d un schéma d effacer des tables dans ce dernier. Enfin Oracle Database vault fournit un ensemble de rapports sur les évènements liés aux politiques de protection mises en place (rejet ou autorisation des demandes d accès) ainsi que des rapports détaillés sur les droits et privilèges octroyés aux utilisateurs d une base. BLOQUER LES ACCES DU DBA Un administrateur joue un rôle important dans le maintien en conditions opérationnelles d une base de données. A ce titre, il se voit accorder des droits importants sur celle-ci. Cette nécessité ne doit cependant pas impliquer un droit de regard sur certaines données de l application Cette remarque s applique également aux personnels amenés à intervenir sur l application. Oracle Database Vault permet la mise en oeuvre de domaines de protection qui restreignent les accès des utilisateurs privilégiés, sans les perturber dans leurs tâches. Oracle Database Vault Page 4
Ces domaines, appelés REALM, vont protéger certaines données stockées dans la base, ou une application dans son intégralité. Des utilisateurs possédant des privilèges très élevés tels que DBA, SYSOPER, ou SYSDBA se verront interdire les accès aux données de l application. Figure 1 : Le choix des objets à protéger LES PROBLEMES DE LA CONSOLIDATION Les technologies modernes ont amené les architectes des systèmes à s engager dans une démarche de consolidation des bases de données. Cette approche permet de réduire les coûts, mais centralise dans une seule base, des données qui étaient auparavant réparties. Le nombre de personnes à forts privilèges se connectant à cette base consolidée est également augmenté, et en conséquence, les risques d accès par des personnes n ayant pas nécessairement le besoin de connaître les informations. Oracle Database Vault permet d assurer le maintien de la séparation des pouvoirs. Au sein d une même base, les administrateurs, les responsables de l application financière, et ceux de l application des ressources humaines effectueront leurs tâches dans trois domaines de responsabilité identifiés et délimités. Chacun disposera des privilèges nécessaires et suffisants pour exécuter ses tâches, mais ne pourra pas en tirer profit pour accéder à des données qui ne relèvent pas de sa responsabilité. Oracle Database Vault Page 5
LES MENACES INTERNES Les responsables de la sécurité des systèmes ont déployé un ensemble de mécanismes de protection qui rendent désormais très difficiles les intrusions externes, visant à dérober des données informatiques. La deuxième phase de ces programmes consiste à contrer les menaces internes, qui représentent la majorité des cas de vols de données. Les REALM définis par Oracle Database Vault associés à la définition de facteurs et de règles de contrôle d accès, contribuent à la mise en place de mécanismes de protection contre ces menaces. Ces facteurs et ces règles vont contrôler l exécution de commandes, et l accès aux données. Ils peuvent être par exemple constitués par l adresse des machines clientes, la date, l heure, le type de programme, etc. De nouveaux mécanismes de protection peuvent donc être développés. LES FACTEURS Les facteurs sont des critères mis à disposition par Oracle Database Vault pour construire des règles de contrôle d accès. Figure 2 : Les facteurs prédéfinis Certains de ces facteurs sont prédéfinis et il est possible d enrichir le modèle. Les contrôles porteront sur les objets de la base, certaines données de l application ou des commandes particulières. LES REGLES D ACCES AUX COMMANDES Les facteurs, combinés dans des règles de protection, peuvent être utilisés pour contrôler l exécution de commandes. Oracle Database Vault Page 6
Figure 3 : Les règles d accès aux commandes Il est par exemple possible: D interdire certaines commandes si elles ne sont pas demandées par un système identifié, ou dans certaines plages horaires D interdire l exécution de certaines commandes par certaines personnes. Ces paramétrages seront faits par les administrateurs de Oracle Data Vault, et non par les administrateurs de la base, ce qui permet de respecter le principe de la ségrégation de responsabilités. LA CONFORMITE AUX CONTRAINTES LEGALES L apparition ces dernières années de législations sur les règles de sécurité des systèmes a provoqué une prise de conscience des risques. Les priorités avaient jusqu à présent porté sur les performances et la disponibilité des applications. Les préoccupations sont désormais de satisfaire également des exigences de sécurité. Les questions posées lors d audits porteront par exemple sur ces problématiques: Qui a accès aux données? Où est stockée l information sensible? Qui a accédé aux informations? Quelles étaient les règles d accès il y a trois mois? Si elles ont été changées, par qui? Oracle Database Vault Page 7
Les contraintes réglementaires: Leur degré de mise en œuvre est variable selon les pays, mais la tendance à la normalisation des aspects légaux est forte, plus particulièrement pour les sociétés déployées internationalement. Sarbanes-Oxley (SOX), Healthcare Insurance Portability and Accountability Act (HIPAA), Basel II, Japan Privacy Law et the European Union Directive on Privacy and Electronic Communications pour ne citer que les plus connues, portent les mêmes contraintes. Assurer des contrôles internes et des audits renforcés, et maintenir une définition stricte des responsabilités. Une grande partie de la mise en conformité à ces règles concerne des aspects organisationnels, mais la technologie est mise à contribution pour assurer les contrôles d accès et la protection des données. Oracle Database Vault et les mécanismes qu il procure pour contrôler et auditer l accès aux données contribue sans aucun doute à l atteinte des objectifs de certification. LA SEGREGATION DES RESPONSABILITES Pour des raisons évidentes de sécurité, l administration d Oracle Database Vault est assurée par des personnes qui ne sont pas les administrateurs techniques de la base de données. Les données de paramétrage de Oracle Database Vault sont protégées des DBAs. La définition des REALM, des facteurs, et des règles portant sur l exécution de commandes leur est inaccessible. Cela garantit une stricte ségrégation des responsabilités qui est au cœur de la plupart des réglementations existantes. Dès son installation dans la base, Oracle Database Vault crée des domaines de protection sur les objets critiques du schéma SYS, le dictionnaire interne de la base. Figure 4 : Les REALM créés lors de l installation Par exemple, les rôles comme DBA, IMP_FULL_DATABASE, et EXP_FULL_DATABASE sont protégés par des règles de Oracle Database Vault. Oracle Database Vault Page 8
Il devient impossible de se connecter avec le privilège système SYSDBA. Cette fonction peut être rendue de nouveau active, mais seulement en fournissant un mot de passe. L identification par le système d exploitation est désactivée. Seul des utilisateurs identifiés peuvent créer de nouveaux comptes dans la base. Un utilisateur qui a le privilège CREATE USER ne pourra exercer cette commande que si Oracle Database Vault l a explicitement autorisé. Ces mécanismes peuvent être complétés par des règles et des combinaisons de facteurs qui durciront encore le contrôle d accès à certaines commandes. LES ETATS PREDEFINIS Oracle Database Vault propose 57 états prédéfinis permettant d analyser le profil de sécurité d une base de données. Deux grandes catégories peuvent être distinguées. Les états standard, non concernés pas les fonctionnalités de Oracle Database Vault ; par exemple, la liste des comptes possédant le privilège SELECT ANY DICTIONARY. Les états spécifiques de Oracle Database Vault ; par exemple, les violations des règles d accès définies sur un objet de la base. Les informations d audit sont bien sûr stockées dans des tables protégées d éventuelles manipulations effectuées par des administrateurs. Figure 5 : Liste des violations de règles d accès des REALM L audit est activé lorsque des tentatives d accès sont rejetées, et optionnellement lorsqu elles sont accordées. Oracle Database Vault Page 9
L INTEGRATION AVEC ORACLE ADVANCED SECURITY Les options comprises dans la suite «Oracle Advanced Security», et notamment le chiffrement transparent des données dans la base, le chiffrement des flux réseau Oracle Net et l authentification forte des connexions sont totalement compatibles et complémentaires avec Oracle Database Vault. Chacun de ces composants techniques apporte sa contribution au renforcement de la sécurité d une base. Le chiffrement des données protège des attaques directes sur les fichiers de la base de données. Ces dernières échappent en effet au contrôle d accès effectué par les couches SQL. Il protège également du vol de fichiers, ou de bandes de sauvegardes. Le chiffrement des flux réseau répond à la menace de l interception de paquets en transit entre la base et les programmes clients. L authentification forte (certificat) peut apporter une garantie supplémentaire de l intégrité du tiers accédant aux données. L INTERFACE D ADMINISTRATION L administration de Oracle Database Vault s effectue à l aide d une interface WEB, similaire à la console d administration standard de la base et à celle d Oracle Enterprise Manager Grid Control. Figure 6 ; L interface d administration Oracle Database Vault Page 10
EN RESUME Depuis 25 ans, Oracle a progressivement amélioré la base de données, pour fournir des mécanismes de protection qui se situent à différents niveaux, et qui sont de plus en plus évolués. Oracle Database Vault est la dernière évolution de ces mécanismes. Il élargit le champ des moyens de contrôle d accès aux objets d une base de données, en introduisant : Des contrôles temporels. Des contrôles de type et de localisation des programmes client. La séparation des responsabilités entre les administrateurs techniques et fonctionnels. La capacité à auditer les règles de sécurité dans des tables protégées. La possibilité de créer des règles de contrôle d accès gérées par l application, mais contrôlées par Oracle Database Vault. Cette liste n est pas exhaustive, la combinaison de facteurs d autorisations multiples dans des règles de contrôle d accès offrant des possibilités extrêmement étendues. Les outils intégrés de génération d états permettent de produire des tableaux de bord de surveillance. La facilité d utilisation du produit, grâce à l interface WEB, permet une montée rapide en compétence. Il est bien sûr possible d automatiser toutes ces opérations avec des API PL/SQL. Oracle Database Vault permet de satisfaire la demande des clients d Oracle. Laisser aux DBAs leurs privilèges en limitant leur visibilité sur les données applicatives. REFERENCES Informations sur les technologies de sécurité de la base oracle. http://www.oracle.com/technology/deploy/security/db_security/index.html Informations spécifiques à Oracle Data Vault. http://www.oracle.com/technology/deploy/security/db_security/databasevault/index.html Oracle Database Vault Page 11
Oracle Database Vault Auteur : Yves Toubhans Avril 2007 Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com Copyright 2007, Oracle. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.