Pour continuer notre série d’articles sur la sécurité des données, je vous propose de mettre en œuvre d’Oracle Database Vault. Database Vault est une nouvelle option d’Oracle Database 10g (11.1.0.6) Enterprise Edition qui a été « backportée » sur Oracle 10g et Oracle 9i. Dans cette article, je vous propose :
- d’installer Oracle Database Vault
- de visualiser un exemple de ségrégation des privilèges DBA sur les données applicatives
Installer Oracle Database Vault (11g, 11.1.0.6)
Pour configurer Database Vault sur une base de données existante, il faut que le logiciel soit installé avec l’option et de relancer dbca et sélectionner : « Configure Database Options » :
Sélectionnez le nom de la base de données à configurer :
Saisissez les informations de connexion du compte propriétaire de Database Vault. Vous pouvez aussi créer un compte administrateur DB Vault différent :
Sélectionnez le type de serveurs « Dedicated Server Mode » :
Sélectionnez OK, puis OK encore ; la base de données va sera redémarrée et votre configuration prise en compte :
La configuration est terminée…
Exemple de mise en œuvre
Un exemple simple de mise en évidence de l’intérêt d’un tel outil Oracle Database Vault : restreindre l’accès au DBA en lui interdisant le droit de faire un SELECT sur les données sensibles de l’entreprise, comme par exemple les données RH (employés, salaires, etc ..)
Sans Oracle Database Vault,
Le DBA (ou toute personne disposant des privilèges suffisants) peut accéder à des informations confidentielles comme le salaire des collaborateurs :
Select "EMPLOYEES"."FIRST_NAME" as "FIRST_NAME", "EMPLOYEES"."LAST_NAME" as "LAST_NAME", "EMPLOYEES"."SALARY" as "SALARY" from "EMPLOYEES" "EMPLOYEES" ; FIRST_NAME LAST_NAME SALARY ---------- --------- ------ Steven King 24000 Neena Kochhar 17000 Lex De Haan 17000 Alexander Hunold 9000 Bruce Ernst 6000 David Austin 4800 ...
Avec Oracle Database Vault, on peut restreindre les accès pour les DBAs
Connectez-vous sur la console d’administation Oracle Database Vault à partir d’une URL comme celle-ci: https://hostname:port/dva/login.jsp :
Créez un domaine sécurisé accessible uniquement aux utilisateurs des ressources humaines :
Définissez un périmètre d’objets (Tables, Vue..) à sécuriser :Ajoutez les règles pour définir le domaine (utilisateurs, localisation IP, horaires, etc ..) :
Maintenant l’accès n’est plus autorisé que pour les utilisateurs des ressources humaines :
Vérification
Je ré-exécute la requête initiale en tant que DBA :
Select "EMPLOYEES"."FIRST_NAME" as "FIRST_NAME", "EMPLOYEES"."LAST_NAME" as "LAST_NAME", "EMPLOYEES"."SALARY" as "SALARY" from "EMPLOYEES" "EMPLOYEES" ;
L’accès aux données sensibles est désormais sécurisé :
Si vous voulez en savoir plus, je vous invite à faire un tour sur les « Oracle By Exemple » qui concernent Database Vault et les options de sécurité.
Et voilà, je vous dis à bientôt pour continuer cette série en dans l’intervalle, je vous souhaite une très bonne année 2010 !