Vous êtes sur la page 1sur 12

Comment amliorer la scurit de vos bases de

donnes Oracle ?
Marco Anzile, ORACLE Switzerland

Introduction

Les entreprises doivent comprendre que personne nest labri dun vol de donnes. Il
peut scouler des semaines ou des mois avant que lon identifie la brche, quand
lintrusion, elle, na souvent pris que quelques minutes ou quelques heures , explique
M. Baker, principal auteur du rapport DBIR (Verizon Data Breach Investigation Reports).
Ce rapport est disponible en anglais et en franais, voir les Recommandations de
lecture la fin de larticle.

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 1 of 12
En rsum, ce rapport de 63 pages (voir figure 1) qui compile plus de 47'000 vols de donnes dans le
monde sur les dix dernires annes, nous montre que :

67% des vols ont lieu sur des serveurs, ce qui parat logique, puisque les serveurs sont la cible
naturelle des personnes ou organisations malintentionnes appeles cybercriminels dans cet
article. On peut aussi noter que 33% des vols ont lieu sur des ordinateurs personnels ; mais cela
reprsente une quantit des donnes voles nettement moindre. Bien sr, tout dpend de la valeur
(commerciale, concurrentielle, proprit intellectuelle ou autres telle que la rputation) de la donne
vole.

76% des vols ont pu se faire simplement par une faiblesse de la configuration des droits
daccs (abus de privilges) ou un vol de ces droits daccs (usurpation didentit). Cela signifie
simplement que la gestion des droits daccs est gnralement mal configure, avec des mots de
passe trop faibles et surtout mal comprise (notamment lattribution des privilges). Les vols des droits
daccs sont plus problmatiques et se font par un scnario assez classique aujourdhui, en quatre
tapes :

Ciblage dune personne de lentreprise ayant des responsabilits systmes grce aux
rseaux sociaux (par exemple, tapez DBA dans le moteur de recherche de Linkedin,
sans mme avoir un compte premium, et vous trouverez 433'032 occurrences de
personnes ayant ce mot-cl dans leur profile).
Lui envoyer un faux courriel au nom dun de ses collgues ou amis avec une
justification bidon et un lien permettant dinstaller un logiciel espion sur son poste de
travail. Notez que lon pourrait galement le contacter physiquement et sympathiser, le
corrompre ou faire pression sur lui
Grce au logiciel espion, rcuprer des informations de connexions et des droits
daccs des systmes dont il est responsable.
Utiliser ces informations pour se connecter directement sur les machines cibles et
voler les donnes.

69% des vols ont t dcouverts par des personnes ou socits externes lentreprise. Cela
montre bien que les entreprises nont quune faible connaissance de ce qui se passe dans leurs bases
de donnes et quelles ne scurisent pas les donnes sensibles, mais les infrastructures en gnral. Il
est donc essentiel davoir des outils de surveillance, dalertes et de rapports automatiss et ne pas
uniquement faire confiance aux utilisateurs (dont les accs peuvent tre usurps).

97% des vols auraient pu tre vits grce des mesures simples, et nous allons voir, quelles
sont ces mesures dans le chapitre suivant.

Data breach inves ga ons reports

01.02.15Copyright 2014, Oracle and/or its affiliates. All rights reserved. 2

Figure 1
Marco Anzile, ORACLE Switzerland
Comment ameliorer la scurit de vos bases de donnes Oracle? Page 2 of 12
Donc, comment amliorer la scurit de ses bases de donnes ? La mthodologie que nous proposons
dutiliser consiste sparer les diffrents domaines composant un systme de base de donnes et de
les scuriser individuellement, comme dcrit dans la figure 2. Le but tant de passer dun niveau
standard un niveau de scurit plus lev.

How to increase database security ?


Standard Good Enough Best Prac ce Excellent

Oracle Installa on Architecture Highly Confiden al Data


Coding
Binaries Parameters Configura on (not needed for public data)

Privileges, users, schema, Protec ng with addi onal Secure Coding


CPUs Hardening
standby, cluster Oracle Security Op ons Standards

Security DB Security Tools


Least privilege Defense-in-depth
Alerts Assessment Know-how

Applica on
Database Server
Server

Copyright 2014, Oracle and/or its affiliates. All rights reserved. 3

Figure 2

1. Oracle Binaries

La premire tape pour scuriser votre base de donnes est bien videmment de regarder de plus prs
le noyau Oracle et donc les versions du logiciel install. Durant les 5 ans de dure de vie (avec le
Premier Support) dune version de base Oracle, il y a 2 releases majeures (par exemple 12.1 et 12.2)
dont 1 Patchset pour la release 1 (PS1 pour 12.1.0.2) et 3 Patchset pour la release 2.
Tout dabord, il est recommand dtre au dernier niveau de correctifs ou patchs appels PSU (pour
Patch Set Update), bien que cela ne soit pas toujours possible pour des raisons organisationnelles
et/ou fonctionnelles, cela fait partie des bonnes pratiques dadministration dune base de donnes. Ces
PSU sont une installation complte des binaires et peuvent impacter diffrents composants telle que :
Oracle Database Server, Oracle Grid Infrastructure, Oracle Database Client, etc.
Ensuite, il est recommand dappliquer les alertes de scurit. Pour cela, Oracle a prvu des correctifs
appels CPU (pour Critical Patch Update) dlivrs tous les trois mois (en fait, tous les mardis les plus
proches du 17 des mois de janvier, avril, juillet et octobre) qui sont un ensemble de corrections de
failles de scurit du code Oracle (pas de correction de bugs, pas de nouvelles fonctionnalits, pas
dimpact de performances). Ces failles sont classifies en fonction de leur dangerosit, avec le systme
de notation CVSS (Common Vulnerability Scoring System), qui vous permettra dvaluer la pertinence
du CPU.

Les CPU ne corrigent pas de bugs comme les PSU et donc, sont plus petits et nont pas dimpacts
fonctionnels qui ncessiteraient de faire des tests de rgressions. Ces correctifs sont cumulatifs, c'est-
-dire quil suffit dinstaller le dernier correctif pour tre jour. noter galement quun PSU, qui est
Marco Anzile, ORACLE Switzerland
Comment ameliorer la scurit de vos bases de donnes Oracle? Page 3 of 12
galement cumulatif, contient le dernier CPU. Dernire remarque, les CPU sappellent SPU (pour
System Patch Update) partir dOracle 12c.

Vous pouvez vous inscrire sur le site dOracle Technology Network pour recevoir les alertes de
correctifs par courriel.
Recommandations de lecture:

Oracle Technology Network Security Alerts


http://www.oracle.com/technetwork/topics/security/alerts-086861.html
Common Vulnerability Scoring System
http://www.first.org/cvss
Voir les notes du support Oracle suivante :
Patching Oracle Database Server (Doc ID 1446582.1)
Release Schedule of Current Database Releases (Doc ID 742060.1)
Oracle Recommended Patches -- Oracle Database (Doc ID 756671.1)
Lifetime Support and Support Policies - Oracle Database Overview (Doc ID
1351163.1)

2. Installation/Parameters

Ensuite, il faut accorder une attention particulire aux paramtres dinitialisation de la base de donnes,
des paramtres de configuration du rseau et de linstallation des binaires sur le systme de fichiers.
Pour cette tape de durcissement ou hardening , il existe beaucoup de littrature, des blogues et
des listes de vrification appeles check-lists (les plus connues tant SANS SCORE, DOD STIG,
CIS Benchmark) qui vont vous aider parcourir ces paramtres et vous proposer de modifier les
valeurs par dfaut.

Depuis la version 11g, Oracle propose le Security Guide qui parcourt lensemble des points
vrifier pour scuriser et renforcer sa base de donnes. Et notamment, les bonnes pratiques de
durcissement des paramtres dinitialisation.

noter galement, quOracle propose un service gratuit dvaluation de votre niveau de scurit sur
une base de donnes. Ce service est appel DB Security Assessment et ne demande pas
beaucoup defforts de la part du client. En effet, il suffit dexcuter un script sur la base qui rcoltera des
informations de paramtrage et denvoyer le rsultat Oracle qui le fera analyser par ses experts en
scurit. Une prsentation des faiblesses de scurit et des recommandations associes sera ensuite
prsente.
Recommandations de lecture:

Oracle Security Guide


http://docs.oracle.com/database/121/DBSEG/toc.htm

Securing the Database Installation and Configuration


http://docs.oracle.com/database/121/TDPSG/tdpsg_install_config.htm#TDPSG60000

Voir la note du support Oracle suivante :


Security Checklist: 10 Basic Steps to Make Your Database Secure from Attacks
(Doc ID 1545816.1)

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 4 of 12
3. Architecture/Configuration

Pour scuriser cette partie, il faut avoir une connaissance approfondie de la comprhension de la
dfinition des utilisateurs, de lattribution des droits et de la dfinition des droits daccs. Cest un travail
auquel ladministrateur de la base de donnes (dont le savoir-faire sera mis contribution) et les
dveloppeurs doivent collaborer troitement.

Pour vous aider dans cette tche, dans lannexe A du Security Guide , Oracle propose un ensemble
de bonnes pratiques de configuration et adopte la stratgie du least privilge , cest--dire de
naccorder que le minimum de privilges un utilisateur afin quil puisse effectuer sa tche
correctement. Il faut donc configurer des utilisateurs avec des comptes limits et contrls ainsi que de
prvoir une sparation des tches.

Figure 3

On voit trs bien dans la figure 3 que la configuration du contrle daccs nest pas si anodine, puisquil
faut tenir des comptes : dutilisateurs locaux, dutilisateurs applicatifs, dutilisateurs privilgis,
dutilisateurs distance, de tches de fond, de processus de rplication, de sauvegarde, etc. La liste est
longue et dpend de larchitecture en place.

Cette partie est galement couverte par le service DB Security Assessment cit dans le paragraphe
prcdent.

On rappelle quil est important dactiver laudit sur vos bases de donnes. Pour information, laudit est
activ par dfaut depuis la 11g et il y a seulement un paramtre configurer dans le fichier
dinitialisation de la base. Oracle fournit les bonnes pratiques de configuration de laudit des accs
administratifs, des connexions, des privilges et des objets dans le Security Guide . Remarquez que
logiquement, laudit des accs rpond la majorit des normes de conformit rglementaire (PCI-DSS,
SOX, etc.).

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 5 of 12
Recommandations de lecture:

A: Keeping Your Oracle Database Secure :


http://docs.oracle.com/database/121/DBSEG/guidelines.htm#DBSEG009

Voir les notes du support Oracle suivante :


Oracle Password Management Policy (Doc ID 114930.1)
Master Note For Privileges And Roles (Doc ID 1347470.1)
Master Note For Oracle Database Auditing (Doc ID 1299033.1)
Master Note For Oracle Database Authentication (Doc ID 1349896.1)
All About Security: User, Privilege, Role, SYSDBA, O/S Authentication, Audit,
Encryption, OLS, Database Vault, Audit Vault (Doc ID 207959.1)

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 6 of 12
4. Data Security

Dans cette quatrime tape, on va se concentrer sur la scurit des donnes elle-mme et non de
linfrastructure. Pour cela, avant de dfinir quelles sont les options de scurit mettre en uvre, il faut
bien videmment classifier les donnes de lentreprise en fonction de leur niveau de sensibilit.

Cela permettra, premirement davoir une vision globale des donnes sensibles, deuximement de
savoir o elles se trouvent dans lentreprise, troisimement de savoir qui les produit et qui les utilise et
quatrimement dimplmenter des surcouches de scurit en fonction du niveau de sensibilit des
donnes. En effet, on ne va pas mettre en uvre les mmes outils pour scuriser une base de donnes
contenant des donnes publiques, internes, stratgiques, de clients ou des donnes de proprit
intellectuelles car les investissements ne seront pas les mmes. ce sujet, il existe une littrature
abondante, dont de nombreuses normes (par mtier ou fonctionnelles) et des outils daide la
classification.

Comme on le voit dans la figure 3, une donne sensible dans une table peut se retrouver dans
plusieurs endroits assez rapidement dus au fonctionnement du moteur de base de donnes Oracle. En
effet, on peut retrouver vos donnes dans des fichiers de trace, des fichiers dhistoriques, des indexes,
des fichiers de trace des serveurs applicatifs, sur des serveurs de tests, de dveloppement et de reprise
en cas de sinistre, et ainsi de suite, la liste est longue. Cette partie implique donc une connaissance
approfondie de larchitecture du moteur de base de donnes et de son fonctionnement.

Figure 4

Depuis toujours, Oracle propose la technologie la plus pointue pour protger les donnes o elles se
trouvent - dans la base de donnes. Oracle propose une gamme complte de solutions de scurit
garantissant la confidentialit des donnes, la protection contre les menaces d'initis et la conformit
la rglementation.

Dans lapproche Defense-in-depth , Oracle propose diffrentes fonctionnalits, options, et


extensions qui vont permettre de scuriser directement les donnes. Les puissantes fonctions
Marco Anzile, ORACLE Switzerland
Comment ameliorer la scurit de vos bases de donnes Oracle? Page 7 of 12
de contrle et de blocage des activits de base de donnes, de contrle d'accs d'utilisateur privilgi
et multicritres, de classification des donnes, de cryptage transparent des donnes, d'audit et de
reporting consolids, de gestion scurise des configurations et de masquage des donnes d'Oracle
permettent de dployer des solutions fiables et conomiques, sans avoir modifier les applications. La
figure 5 classe les solutions de scurit Oracle selon trois piliers : Prvention (la menace est connue),
Dtection (contre les tentatives de vol en cours), Administration (renforcement des paramtres de
linstallation) :

Oracle Database Security Defense in Depth

PREVENTIVE DETECTIVE ADMINISTRATIVE

Encryption & Redaction Activity Monitoring Key & Wallet Management

Masking & Subsetting Database Firewall Privilege & Data Discovery

DBA Controls Auditing and Reporting Configuration Management

02.02.15 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 1

Figure 5

Deux exemples doption de scurit additionnelle :

Par exemple, des donnes sensibles stockes dans une table peuvent tre vues au niveau du systme
de fichiers grce un diteur hexadcimal mme si la base de donnes nest pas dmarre. Le seul
moyen de prvenir cette menace est de chiffrer les donnes au moyen de loption Oracle Advanced
Security.
Un autre exemple, trs problmatique aujourdhui, est que ladministrateur systme peut accder
toutes les donnes dune base de donnes grce au rle DBA (qui contient tous les privilges). Pour
rsoudre ce dfi, Oracle propose loption Oracle Database Vault (cest une surcouche de scurit
intgre dans le noyau de la base de donnes) qui implmente une sparation des tches forte,
protge vos donnes sensibles des utilisateurs privilgis ayant le rle DBA et assure aussi la mise en
uvre des rgles dfinissant par qui, quand, o et comment les applications, les bases de donnes et
les donnes, peuvent tre accdes.
Recommandations :
Introduction to Oracle Database Security
http://docs.oracle.com/database/121/TDPSG/toc.htm

Voir les notes du support Oracle suivante :


Master Note For Transparent Data Encryption ( TDE ) (Doc ID 1228046.1)
Master Note For Oracle Database Vault (Doc ID 1195205.1)
Master Note For Oracle Audit Vault [Document 1199033.1]
Master Note For Enterprise User Security (Doc ID 1376365.1)
Marco Anzile, ORACLE Switzerland
Comment ameliorer la scurit de vos bases de donnes Oracle? Page 8 of 12
5. Coding

La dernire partie scuriser est le code de lapplication. En effet, une application qui na pas t
dveloppe dans les rgles de lart au niveau de la scurit est une faille importante de scurit par
laquelle des cybercriminels peuvent passer. Ce code est gnralement dploy sur un serveur
applicatif, mais peut aussi tre dploy dans la base de donnes. Voici par exemple, quelques aspects
de scurits qui doivent tre pris en compte au niveau applicatif :

Se protger des techniques dinjection SQL


Ne pas stocker de mot de passe en dur dans le code
Transmission de lutilisateur final au travers de comptes techniques applicatifs

Vous trouverez au chapitre 8 du Oracle Security Guide les bonnes pratiques de dveloppement
scuris (et donc la rponse aux deux exemples cits ci-dessus). Dans le cas des techniques
dinjections SQL, elles sont utilises avec succs malgr le fait quelles existent depuis plus de 12 ans.
Apparemment, les dveloppeurs ne sont pas encore tous forms dvelopper en ayant la scurit
comme objectif.

Dans la plupart des cas, on na pas accs au code, car cest un logiciel qui a t achet un
fournisseur. Dans ce cas, il faut placer un outil danalyse de requtes SQL entre le serveur applicatif et
le serveur de base de donnes qui bloquera les requtes litigieuses avant mme quelles soient
excutes sur le serveur. Pour cela, Oracle propose Database Firewall.

Si lapplication est un dveloppement spcifique, il faut vrifier que les bonnes pratiques de
dveloppement scuris existent et soient appliques. Il y a beaucoup de littrature galement ce
sujet. Par exemple, Oracle dveloppe ses propres produits avec des rgles de bonne pratique de
scurit (pour information, cest un document interne de 300 pages), avec lutilisation intensive du
package PL/SQL DBMS_ASSERT (qui permet de valider les saisies) et avec le logiciel HP Fortify
Static Code Analyser pour valider le code.

Pensez galement protger le code lui-mme sil contient des informations dordre de la proprit
intellectuelle. Pour cela, il existe des logiciels de

Scanning (pour chercher des vulnrabilits connues dans le code)


Obfuscation (pour rendre votre code difficilement comprhensible pour un humain)
Watermarking, birthmarking ou de checksum (pour sassurer que le code na pas t
modifi)
Wrapping (pour le chiffrage du code, dailleurs Oracle propose un utilitaire
wrap.exe pour le PL/SQL)

Dans la pratique, il faudra trouver un compromis entre les risques, la scurit, la lisibilit et la
performance du code.

La version Oracle 12c, en autres nouvelles fonctionnalits (plus de 500), des fonctions PL/SQL ont t
revisites pour plus de scurit, et notamment les notions definer rights , excution dune procdure
avec les mmes droits que le propritaire de la procdure et invoker rights , excution dune
procdure avec les droits de lutilisateur invoquant la procdure. Le support de la norme FIPS 140 pour
les modules de chiffrements des donnes, le support de SHA-2 pour le chiffrage des mots de passe, un

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 9 of 12
moteur daudit conditionnel unifi performant travaillant en mmoire et surtout des nouveaux rles
permettent une sparation des tches encore plus granulaire.

Recommandations de lectures:

Oracle Secure Coding Standards


http://www.oracle.com/us/support/assurance/development/secure-coding-standards/index.html

Changes in Oracle Database Security 12c Release 1 (12.1.0.2)


https://docs.oracle.com/database/121/DBSEG/release_changes.htm#DBSEG000

8. Managing Security for Application Developers


https://docs.oracle.com/database/121/DBSEG/app_devs.htm#DBSEG005

5. Security Guide
http://docs.oracle.com/database/121/DBSEG/dr_ir.htm#DBSEG658

Security Scanner
http://www.pfclscan.com

PL/SQL protection tool


http://www.pfclobfuscate.com

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 10 of 12
Conclusion

En conclusion, on voit que la scurit des bases de donnes est complexe et ncessite une
connaissance approfondie de larchitecture, de son fonctionnement ainsi quun travail de classification
des donnes sensibles. La scurit des donnes demande une discipline presque militaire pour y
couvrir tous les aspects. Pour cela, une mthodologie est ncessaire et jespre que cette approche
pragmatique et simple en cinq tapes, vous aura aid y voir plus clair.

Figure 6

Pour terminer, la scurit nest pas un produit ou un ensemble de produits installer, mais rsulte dune
approche systmique et dune attention rgulire pour suivre les volutions de la technologie, comme
dcrite dans la figure 6. Laffrontement entre les entreprises et les cybercriminels ne fait que
commencer, et aujourdhui, lavantage est ces derniers

Pour une prsentation dtaille des solutions de scurit Oracle, dun service gratuit dvaluation de
scurit dune base de donnes Oracle DB Security Assessment ou des propositions de mise-en-
uvre doptions de scurit, vous pouvez contacter Oracle Suisse ou me contacter directement par
email: marco.anzile@oracle.com

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 11 of 12
Recommandations de lecture:

La Centrale d'enregistrement et d'analyse pour la sret de l'information MELANI


http://www.melani.admin.ch/?lang=fr

Verizon Data Breach Investigation Reports


http://www.verizonenterprise.com

CVE, a dictionary of publicly known information security vulnerabilities and exposures


http://cve.mitre.org/index.html

The CERT Division


http://www.cert.org/

Computer Emergency Response Team - Industrie, Services et Tertiaire


http://www.cert-ist.com/public/

Open Security Foundation's DataLossDB


http://datalossdb.org/

Oracle Security Blog


https://blogs.oracle.com/security

Marco Anzile, ORACLE Switzerland


Comment ameliorer la scurit de vos bases de donnes Oracle? Page 12 of 12