You are on page 1of 74

Scuriser les bases de donnes ORACLE

Michel PIGNATA Consultant-Vente Solutions Technologiques Jean-Philippe PINTE Consultant-Vente Solutions Technologiques

Juillet 2008

Agenda
Scurit des donnes
les enjeux pour lentreprise

Oracle DatabaseVault, Oracle Audit Vault, Oracle Total Recall


Faciliter la mise en conformit rglementaire sans modification applicative Dmonstration

Oracle Advanced Security et Oracle Label Security


Conformit rglementaire pour une protection tourne vers linterne comme vers lextrieur de lentreprise Dmonstration

Oracle Data Masking


Comment protger ses donnes confidentielles en phase de test ? Dmonstration

Scurit des donnes


Une prise de conscience grandissante La scurit de linformation est vitale. Elle conditionne lactivit conomique des entreprises et la confiance dans les organismes publics La divulgation volontaire ou accidentelle de donnes financires ou prives peut avoir des consquences fcheuses sur le plan
Economique, commercial etjuridique

25 % des incidents sont le fait de personnels internes 50 % sont conscutifs des pertes ou des vols de matriels divers

GRC: Le nouveau Graal


Gouvernance, risques, conformit

Finance

Suppliers

R&D

Mfg

Sales

HR

Legal

Customers

Data Enterprise Applications Warehouse

Database

Mainframes

Mobile Devices

Apps Server

SOX SOX

CNIL CNIL

EU EU Directives Directives

FDA FDA

Basel Basel II II

HIPAA HIPAA

GLBA GLBA

Patriot Patriot Act Act

SB1386 SB1386

PCI PCI DSS DSS

Quelques unes des rglementations apparues ces dernires annes


4

Scurit des SI
Une affaire de risques

L analyse des risques conduit gnralement considrer 5 objectifs de scurit de linformation


Sa confidentialit Son intgrit Son utilisation conforme aux rgles Sa disponibilit La traabilit de son utilisation

Scurit des SI
Confidentialit

Empcher la consultation de donnes sensibles par des personnes non autorises


Qui a accs? Quels sont les mcanismes de contrle daccs ? Quid des utilisateurs super privilges ? Les donnes sont-elles protges par du chiffrement:
Lors de leur stockage ? Durant leurs mouvements ?

Scurit des SI
Intgrit

Prvenir la modification des donnes par des personnes non autorises


Qui peut modifier linformation ? Quels contrles sont en place pour limiter les accs ? Pour donner les accs ? Quels sont les mcanismes permettant de vrifier si linformation a t change ? Quels moyens sont utiliss par les applications pour contrler la cohrence des informations ?

Scurit des SI
Traabilit / Conformit

Permettre de garder la trace des actions effectues sur les systmes, des fins de prvention, de dissuasion et daudit des incidents
Qui a accd ? Quelle information sur lactivit est capture ? Comment sont protgs les rfrentiels daudit ? Une exploitation systmatique des audits est-elle en place ?

Scurit des bases Oracle


Une constante innovation
Oracle Database 11g

Data Masking TDE Tablespace Encryption Oracle Total Recall

Oracle Database 10g

Oracle Database 9i

Oracle Audit Vault Oracle Database Vault Transparent Data Encryption (TDE) Real Time Masking Secure Config Scanning

Fine Grained Auditing


Oracle Label Security Enterprise User Security Oracle8i Virtual Private Database (VPD) Database Encryption API Strong Authentication Oracle7 Native Network Encryption Database Auditing Government customer
9

Confidentialit des donnes et Conformit Rglementaire


Les Dfis de la scurit Base De Donnes Contrles dAccs

Surveillance

Protection des donnes

De-Identification des donnes pour partage

Classification des donnes

10

Oracle Database Security


Solutions pour la confidentialit et la conformit
Database Vault Configuration Management Advanced Security

Total Recall Audit Vault Data Masking

Secure Backup Label Security

11

Faciliter la mise en conformit rglementaire sans modification applicative


Oracle Database Vault Oracle Audit Vault Oracle Total Recall

<Insert Picture Here>

12

Oracle Database Security


Solutions pour la confidentialit et la conformit
Database Vault Configuration Management Advanced Security

Total Recall

Secure Backup Label Security Data Masking

Audit Vault

13

Les Contrles daccs Niveau de Contrle

Discretionary Access Control (DAC) Secure Application Role (SAR) Virtual Private database (VPD) Oracle Label Security (LBAC)
Privilges spciaux

Database Vault

14

Privilges spciaux
Oracle Database Vault

Pourquoi faire ?
Protger les donnes des accs par les personnes disposant de privilges exceptionnels et nayant pas de droits daccs octroys par leur fonction dans lentreprise

Bnfices attendus
Permettre aux responsables dapplication de prendre des engagements quant la scurit de leurs donnes Garantir une sparation stricte des responsabilits
15

Privilges spciaux
Oracle Database Vault
Sparation des responsabilits
Administration technique SYSDBA / SYSOPER SYS / SYSTEM STARTUP, SHUTDOWN, ALTER SYSTEM, GRANT RESOURCE

SCHEMA Applicatif DV_OWNER AMADEUSRH Administration des domaines de scurit GRANT DV_OWNER

Grer les comptes daccs de la base DV_ACCTMGR DVAM CREATE USER, DROP USER, GRANT CONNECT, GRANT DV_ACCTMGR

16

Privilges spciaux
Oracle Database Vault Protection des utilisateurs forts privilges

SCHEMA Applicatif SYSDBA / SYSOPER SYS / SYSTEM Tables, Procdures, Fonctions, Rles, PROPRIETAIRE AMADEUSRH

17

Privilges spciaux
Oracle Database Vault Protection des utilisateurs forts privilges
Les donnes sont protges par des domaines de scurit dfinis par leur propritaire

SCHEMA Applicatif SYSDBA / SYSOPER SYS / SYSTEM Tables, Procdures, Fonctions, Rles, DV_OWNER AMADEUSRH

18

Privilges spciaux
Oracle Database Vault
Contrles daccs avancs
WEBAPP / WEBAPP Application WEB SCHEMA APPLI

WEBAPP: Accs aux donnes depuis les machines serveur dapplication JAVA UNIQUEMENT

24/24

PROPRIETAIRE APPLI

AMADEUSRH : Accs aux donnes

24/24

depuis la machine PC1352 er SERVER512

BI : Accs entre aux donnes BI / BI Utilisateur dcisionnel depuis la machine PC2000

12 - 14

19

Privilges spciaux
Oracle Database Vault
Protger laccs certaines commandes SQL
SYS / SYSPASS SYS/ SYSTEM SCHEMA AMADEUSRH

SYS: -Blocage ALTER SYSTEM avant 20H -Blocage ANALYZE TABLE avant 20H - Les commandes doivent tre passes depuis le serveur AMADEUSRH : PROPRIETAIRE AMADEUSRH - Blocage de DROP TABLE sur ce schma -CREATE TABLE OK si DBARH est connect - Blocage de CREATE DIRECTORY -Blocage DROP PACKAGE & BODY - etc.

DBARH

20

Privilges spciaux
Oracle Database Vault Audit
En succs, en chec ou les deux Des politiques de protection dfinies sur
les tables, les vues les squences les procdures et les fonctions PL/SQL, les rles, etc.

Des tentatives accordes ou rejetes dutilisation de commandes SQL protges

21

<Insert Picture Here>

Dmonstration Oracle Database Vault

22

Auditer des bases


Oracle Audit Vault Pourquoi faire ?
Garder la trace de certaines actions effectues sur les bases de donnes

Bnfices attendus
Progressivement mettre en place une architecture solide de rgles daudit des bases Collecter systmatiquement en lieu sr, les vnements produits par les sources daudit Analyser les vnements remonts Faciliter la gestion du cycle de vie des donnes daudit
23

Auditer des bases


Oracle Audit

Deux types daudit existent


Standard. Pour auditer tout ce qui peut simaginer! Les ordres DDL et DML. A privilgier pour tout ce qui est DDL et utilisation de privilges Fine Grained. Permet de rduire la volumtrie de laudit en ciblant les conditions de dclenchement sur des conditions prcises

Ou stocker laudit?
Dans la base cible ou sur des fichiers externes

24

Auditer des bases


Oracle Audit Vault
Collecte & Consolidation les donnes dAudit
Oracle 9i Release 2 et postrieures Autres SGBD (SQLServer, Sybase, DB2)

Monitor Policies Security

Dfinition des politiques dAudit sur les Reports bases cibles dans un rfrentiel central Provisionning des politiques dAudit vers les cibles Comparaison des politiques mises en place vis--vis du rfrentiel Oracle Database Simplification du reporting pour conformit 9iR2
Etats prdfinis Etats personnalisables Alertes dActivit suspectes

Autres sources SQL Server, Sybase, DB2

Oracle Database Oracle Database 10gR1 Oracle Database 11gR1 10gR2

Dtecte et prvient les menaces internes

25

Audit Vault Reports


Evaluations dAudit & Etats personnaliss
Etats prdfinis
Activit des utilisateurs privilgis Accs des donnes sensibles Attribution de droits des rles Activit DDL Login/logout

Etats lis aux utilisateurs


Quels utilisateurs privilgis accdent aux donnes financires ? Quelles donnes peuvent tre accdes par un user A dans diffrentes base de donnes ? Qui accde des donnes sensibles ?

Etats personnaliss
Oracle BI Publisher, Application Express, Outils Tiers
26

Oracle Audit Vault


Administration
Tableau de bord Audit Vault
VueEnterprise Alertes et Etats Administration Politiques dAudit

Politiques Audit Vault


Centralise les paramtres daudit pour les politiques de conformit Collecte des paramtres daudit des bases de donnes Comparaison avec les paramtres daudits des sources Demonstration de la conformit

27

Oracle Audit Vault


Architecture
Scurit du serveur Collecte des donnes Alertes

Audit Vault Server


Data Warehouse Rapports

Auditeurs
Rfrentiel des rgles daudit Politiques daudit

Administrateurs
Audit Vault Agent
Collecteurs: REDO, DBAUD, OSAUD. Locaux sur les machines cibles ou dports sur le rseau.

viktor 10.2.0.3 sierra 11.1.0.6.0 golf 9.2.0.8

romeo 9.2.0.8

28

28

Oracle Audit Vault


Dploiement Le serveur Audit Vault est install sur un environnement ddi

Audit Vault Server

Source database

Source Agent

29

Oracle Audit Vault


Dploiement LAudit Vault Collection Agent peut tre install sur la machine o est la base cible Un agent peut supporter plusieurs sources daudit (bases)
Host 1 Agent Audit Vault Server DBAUD OSAUD REDO Source 1 Source 2 DBAUD OSAUD REDO

Host 2

30

Oracle Audit Vault


Dploiement LAudit Vault Collection Agent peut aussi tre install sur dautres machines que les bases Mais ce modle de dploiement ne supporte que les collecteurs DBAUD et REDO
Audit Vault Server DBAUD Agent REDO Source 1 DBAUD REDO Source 2 Source 3 DBAUD REDO

Host 1

Host 2

Host 3

31

Oracle Audit Vault


Dploiement Audit Vault est livr avec un modle dcisionnel (star schema)
La table des faits rafraichie par dfaut toutes les 24H, collecte les vnements daudit 9 dimensions permettent des analyses par
Type dvnement Chronologie Source daudit Utilisation de privilges Clients des bases Utilisateurs, etc.

32

<Insert Picture Here>

Dmonstration Oracle Audit Vault

33

Oracle Total Recall


Flashback Data Archive

Flashback Query

Flashback Tables

Flashback Database

Flashback Data Archive

34

Flashback Data Archive


Larchivage des donnes sensibles et lhistorique de leurs volutions dans des TABLESPACES ddis (ou non) est automatisable Plus de dpendance vis--vis des UNDO comme en 9i et 10g
CREATE FLASHBACK ARCHIVE UNMOIS TABLESPACE TBS_UNMOIS RETENTION 1 MONTH; ALTER TABLE PEOPLE FLASHBACK ARCHIVE UNMOIS;

35

Flashback Data Archive


On peut ainsi crer des espaces darchivage avec des priodes de rtention diffrentes Puis attacher les tables concernes ces espaces darchivage La base maintiendra ces historiques de donnes. La capture des changements est automatique et asynchrone (process spcialis) Les donnes archives sont compresses systmatiquement Elles sont accessibles avec la syntaxe:

select upper(peo_lastname), peo_salary, p.job_id, job_label from people P, jobs J as of timestamp to_timestamp (12/31/2003 12:39:00','mm/dd/yyyy hh24:mi:ss') where P.job_id = J.job_id order by peo_lastname asc;

36

Flashback Data Archive


FDA permet, par sa simplicit de mise en uvre la mise en place rapide dun archivage de lhistorique des donnes
Processus et stockage ddi pour assurer un impact faible sur les performances Rtention automatique sur une priode de temps dfinie Assure une capacit danalyse postriori des volutions de la donne Permet lventuelle correction derreurs ou de malversations
37

Conformit rglementaire pour une protecion tourne vers linterne comme vers lextrieur de lentreprise
Oracle Advanced Security Oracle Secure Backup Oracle Label Security

<Insert Picture Here>

38

Oracle Database Security


Solutions pour la confidentialit et la conformit
Database Vault Configuration Management Advanced Security

Total Recall Audit Vault Data Masking

Secure Backup Label Security

39

Chiffrement
Advanced Security Option

Pourquoi faire ?
Protger les donnes lors de leur transport Protger les donnes lors de leur stockage

Bnfices attendus
Assurer la protection contre des attaques physiques sur les fichiers Protger les flux rseau Se couvrir de la perte ou du vol de supports physiques

40

Chiffrement
OracleNet

Protger les flux OracleNet


Chiffrement et scellement avec des algorithmes standard (RC4, 3DES, AES & MD5, SHA-1) Chiffrement et scellement simple
Paramtrage du rseau OracleNet Ngociation des algorithmes au moment de la connexion

Utilisation de TCPS
Paramtrage du rseau OracleNet et utilisation de certificats. SSL V2 / V3

41

Chiffrement
OracleNet

La scurisation du rseau dentre sur une base peut se faire selon divers protocoles simultanment
1521 / TCP Accs application WIN32 interne

Accs serveur WEB 1525 / TCPS + X509

Listener

Base

42

Chiffrement
Transparent data Encryption (ASO)

Protger les donnes en stockage


La solution devra prendre en charge la gestion des cls de chiffrement Il sera aussi ncessaire dassurer la sparation des responsabilits entre les administrateurs, les dveloppeurs, et les personnes en charge de la scurit des donnes, donc dtentrices des cls daccs aux donnes chiffres

43

Chiffrement
Transparent Data Encryption
Responsable scurit
WEB & Back Office

DBA

Cl BASE EXTERNE
Fichier chiffr 3DES Mot de passe douverture

ALTER SYTEM SET ENCRYPTION KEY ALPHA1 ALPHA2 IDENTIFIED BY MegaPasswordNotToForget!!

ALTER SYTEM SET WALLET OPEN IDENTIFIED BY MegaPasswordNotToForget!!

Supports physiques, pas de chiffrement

44

Chiffrement
Transparent Data Encryption
Responsable scurit ALTER TABLE employee MODIFY
( salaire NUMBER ENCRYPT USING AES128 ) WEB TABLE & Back Office DBA CREATE salaire_historique ( emp_id NUMBER, date_event DATE, ALPHA1 ALPHA2 salaire NUMBER ENCRYPT USING AES128 )

TABLES

Chiffrement des donnes de certaines COLONNES sur disque

45

Chiffrement
Transparent Tablespace Encryption
Responsable scurit
CREATE TABLESPACE WEB &SECUREDATA Back Office DBA datafile /oradata10/oracle/oradata/PROD201/securedata.dbf size 200M ALPHA1 ALPHA2 encryption using AES128 default storage (encrypt);

TABLESPACE

Chiffrement des donnes de certains TABLESPACES sur disque

46

Chiffrement
Transparent Data Encryption
Application Dchiffrement
WEB & Back Office

Chiffrement

ALPHA1

ALPHA2

Les donnes crites sur les supports physiques sont chiffres et dchiffres de faon transparente

47

Oracle Advanced Security


Gestion transparente des cls
Master key stocke dans un wallet PKCS#12 ou un boitier HSM
Les cls de chiffrements des colonnes sont stockes en table et chiffres avec la master-key

Security DBA

Transparent Data Encryption

Les donnes financires FIN sont chiffres en utilisant la cl de chiffrement de la colonne FIN Les donnes de lapplication HR sont chiffres en utilisant la cl de chiffrement du tablespace

Application Users

48

Oracle Advanced Security


Cryptage Transparent & Administration (11g)

49

Oracle Advanced Security


Autres volutions Oracle Database 11g Cryptage dun SECUREFILE LOB TDE & Integration avec des modules de scurit Hardware (HSM)
Genre, stocke et gre la master key dans un priphrique hardware externe LAPI au Standard PKCS #11 permet de choisir son matriel hardware de scurit

Facilit de mise en uvre


Aucun changement dans les applications existantes Ni triggers, ni vues Impact Minimal sur les performances Gestion de la cl prise en charge

50

Data Pump et le chiffrement des EXPORTS


Exporter les donnes dune base les rend vulnrables En 10g, expdp sait exporter les donnes des colonnes chiffres (paramtre ENCRYPTION_PASSWORD) En 11g, on peut chiffrer tout un fichier dexport. Que TDE soit utilis ou non dans les tables La seule contrainte est dinitialiser un WALLET Ainsi, on peut ne pas chiffrer dans la base mais protger les donnes ds quelles en sortent
expdp scott/tiger tables=trans . encryption=data_only

encryption_algorithm=aes128

51

Oracle Advanced Security


Tablespace Encryption
SQL Layer

Chiffrement de toutes les donnes


Chiffre les fichiers bases de donnes en entier sur lOS Algorithme standard AES 128
Buffer Cache
SSN = 834-63-..

Efficacit maximale
Haute performance Integration avec Oracle Data Compression
data blocks
*M$b@^s%&d7

undo blocks

temp blocks flashback logs

Pas dimpact applicatif

redo logs

52

Oracle Advanced Security


Tablespace Encryption : Performance
Les blocks de donnes sont chiffrs / dchiffrs au niveau des E/S Oracle
Trs Haute Performance (1-2% overhead environ) No index / range scan issues Tous types de donnes supports Transparence Complete

Test dans un contexte Peoplesoft


Des tests rcent tests utilisant des tablespaces chiffrs dans un contexte applicatif sous PeopleSoft Applications nont pas montr des pertes de performance significatives

53

<Insert Picture Here>

Dmonstration Chiffrement des donnes

54

<Insert Picture Here>

PAUSE

55

Oracle Label Security


Contrle daccs bas sur des labels (tiquettes)
Etend le systme dautorisation
Labelisation des autorisations
Sensible: PII
Oracle Label Security Access Mediation

Confidentiel Public

Classification des donnes


Donnes sensibles

Flexible et Adaptable
Utilisateurs Base de Donnes & Application Options multiples Routines de mdiation Disponible depuis Oracle8i
User Label Authorization

Confidentiel

56

Oracle Label Security


Policy Administration Model

HR Policy
Niveaux Confidential Sensitive Highly Sensitive PII Data Investigation HR REP Senior HR REP

Law Enforcement Policy Level 1 Level 2 Level 3 Internal Affairs Drug Enforcement Local Jurisdiction FBI Justice

Government Policy
Confidential Secret Top Secret Desert Storm Border Protection NATO Homeland Security

Catgories Groupes

57

Oracle Label Security


Contrle daccs bas sur des labels (tiquettes)
Utilisateurs

Niveau Confidentialit

Donnes Rgles Logique mtier

58

Oracle Label Security


Contrle daccs bas sur des labels (tiquettes)
Utilisateurs

Niveau Confidentialit

Donnes Rgles Logique mtier

59

Oracle Label Security


Contrle daccs bas sur des labels (tiquettes)
Utilisateurs

Niveau Confidentialit

Donnes Rgles Logique mtier

60

Oracle Label Security


Contrle daccs bas sur des labels (tiquettes)
Utilisateurs

Oracle Label Security Mediation daccs

Niveau Confidentialit

Donnes Rgles Logique mtier

61

Composants pour la confidentialit


Plus que des niveaux
Niveau Confidentialit
Highly Sensitive

Sensitive

Confidential

Sensitive
62

Composants pour la confidentialit


Plus que des niveaux
Niveau Confidentialit
Highly Sensitive HR

+ Zro ou plus Catgories


PII FIN LEGAL

Sensitive

Confidential

Sensitive : HR
63

Composants pour la confidentialit


Plus que des niveaux
Niveau Confidentialit
Highly Sensitive HR

+ Zro ou plus Catgories


PII FIN LEGAL

+ Zro ou plus Groupes


Sensitive US Confidential UK Global

Sensitive : HR : US
64

Niveaux dautorisation des Utilisateurs


Obligatoire

User Maximum Level User Minimum Level User Default Level

Highly Sensitive Public Sensitive

User Default Row Level Sensitive

65

User Compartment Authorizations


Optionnel

Compartment FIN HR

Write Yes No

Default Yes Yes

Row Yes No

66

User Group Authorizations


Optionnel

Group UK US

Write Yes No

Default Yes Yes

Row Yes No

67

Oracle Label Security


Scurit au niveau ligne
Select * from employee_org

Label Authorization Sensitive : HR : US

employee_org
LJ1 LUS3 LUK4 Confidential Sensitive : HR : US Sensitive : HR : UK

68

Oracle Label Security


Utilisable avec Database Vault

La rgle examine si le niveau de lutilisateur courant est suprieur ou gal Highly Sensitive (HS) La rgle est associe un Rule Set Le Rule Set est appliqu pour des commandes, par exemple pour la connexion (connect) Seuls les utilisateurs de niveau HS ou plus pourront se connecter

69

Oracle Label Security


Utilisable avec des rgles VPD PL/SQL
La rgle VPD utilise une fonction Label Security
if dominates(sa.utl.numeric_label('DBA_ACCESS_CONTROL'), char_to_label('DBA_ACCESS_CONTROL','HS') then predicate := '1=1'; else predicate := '1=2'; End if;

1=1 est toujours Vrai: Laccs la colonne est autoris quand le niveau de lutilisateur est suffisant. 1=2 est toujours Faux : Laccs la colonne est interdit quand le niveau de lutilisateur est insuffisant.

70

<Insert Picture Here>

Dmonstration Oracle Label Security

71

Oracle Data Masking

72

<Insert Picture Here>

Dmonstration Oracle Data Masking

73

Questions

74

You might also like