Aujourd’hui, un sujet sécurité avec une vision large, puis un focus particulier sur une fonctionnalité de la base Oracle.
Cet article traitera dans le détail de deux sujets :
- présentation du standard PCI-DSS et comment y répondre globalement avec les solutions Oracle
- exemple de mise en œuvre de l’audit trail pour auditer l’activité d’une base Oracle.
Pour en savoir plus, lisez la suite !
Qu’est-ce que le standard PCI- DSS ?
Le standard PCI-DSS a pour but de s’assurer que les professionnels manipulant les données bancaires se plient à des exigences spécifiques en matière de sécurité afin de se prémunir de la fraude.
Qui est concerné ?
Toutes les entreprises qui manipulent des données cartes bancaires ( banques, sites marchands, etc..).
Objectifs du standard PCI-DSS et les solutions Oracle
Le standard PC-DSS définit 12 grands chantiers de sécurité :
Objectifs | Actions | Solution Oracle |
Construire et maintenir une infrastructure sécurisée | 1. Installez et maintenez un firewall pour protéger vos données.2. N’utilisez pas les mots de passe par défaut fournis avec les équipements et les logiciels | 1.Pare-Feu : Oracle Database FireWall + F52.Politique de renforcement des mots de passé:Oracle Advanced Security (Oracle EUS 2.Centralisation des utilisateurs dans un référentiel de sécurité : (Enterprise Users Security) |
Protéger les données du propriétaire de la carte | 3. Protégez les données stockées.4. Toutes les transmissions contenant des données bancaires sur des réseaux publics (Internet, X25, ..) doivent impérativement être correctement chiffrées (VPN, SSL). | 3. Chiffrement des données dans la base et au niveau des archives de sauvegarde Oracle Advanced Security(TDE)4.Chiffrement des données sur le réseau : ASO(Advanced Security Options) |
Maintenir un processus de gestion des vulnérabilités | 5. Utilisez et maintenez vos antivirus à jour.6. Développez et maintenez la sécurité de vos systèmes et de vos applications (appliquez les correctifs de sécurité). | |
Implémenter des mesures strictes en termes de contrôles d’accès | 7. Restreignez l’accès aux seules données dont l’utilisateur a besoin (« business need-to-know‘ »).8. Chaque utilisateur doit posséder un identifiant unique.9. Restreignez l’accès physique aux serveurs contenant des données sur les cartes bancaires des clients. | 7. Ségrégation des droits : Oracle Database Vault7. Anonymisation des données : Oracle Data Masking8. Gestion centralisée des utilisateurs de bases de données : Oracle Entreprises Users Security |
Surveiller et tester le système d’information | 10. Surveillez et stockez les événements d’accès aux ressources et aux données bancaires des clients (Conservation et analyse de logs).11. Testez régulièrement la sécurité de vos systèmes et de vos processus par des audits de sécurité. | 10 : Surveillance et audit : Oracle Audit Trail, Oracle Audit Vault 11 : Validation de la conformité de la configuration : Oracle Configuration Management |
Maintenir une politique de sécurité | 12. Assurez le maintien et la communication de la politique de sécurité pour tous les collaborateurs |
Exemple de mise en œuvre de l’audit sur les bases Oracle avec Audit Trail
L’audit des accès répond à la majorité des normes de conformité règlementaire (PCI-DSS, etc..).
L’exigence va de la mise à disposition de rapports jusqu’à la consultation des données d’audit archivées.
Dans l’exemple qui suit, nous allons vous présenter :
- La configuration de l’audit
- Un exemple d’audit logon/logoff
- Un exemple d’audit sur les ordres DML ( select) d’un table
Configuration de l’audit
Activation de l’audit
SQL> alter system set audit_trail=DB_EXTENDED scope=spfile;
SQL> alter system set audit_sys_operations =TRUE scope=spfile;
Arrêt /redémarrage de la base de donnéese et vérification
SQL> connct / as sysdba
SQL> shutdown immediate ;
SQL> startup;
SQL> show parameters aud;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/product/11.2.0
.2/rdbms/audit
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB_EXTENDED
Audit des accès administratifs
SQL> CONNECT / AS SYSDBA; SQL> ALTER SYSTEM FLUSH SHARED_POOL; SQL> UPDATE salary SET base=1000 WHERE name='myname'; Les ordres ALTER SYSTEM et UPDATE sont visibles dans les logs d’audit : Thu Sep 29 12:58:00 2011 ACTION: 'CONNECT' DATABASE USER: '/' OSPRIV: SYSDBA CLIENT USER: test1 CLIENT TERMINAL: pts/2 STATUS: 0 Thu Sep 29 12:58:00 2011 ACTION: 'alter system flush shared_pool' DATABASE USER: '' OSPRIV: SYSDBA CLIENT USER: test1 CLIENT TERMINAL: pts/2 STATUS: 0
Audit des connexions logon logoff du compte SCOTT
SQL> AUDIT SESSION BY scott;
Vérification
Audit des privilèges DML sur la table
Activation de l’audit des privilèges sur la table EMP ;SQL> AUDIT SELECT, INSERT, UPDATE, DELETE ON scott.emp BY ACCESS WHENEVER SUCCESSFUL;Quelques ordres DML sur la table EMP par le compte SCOTT
SQL> connect SCOTT/>PWD> SQL> INSERT INTO emp SELECT * from emp ; SQL> UPDATE emp SET ename=ename; SQL> SELECT * FROM emp ;
Rapport Audit trail
COLUMN username FORMAT A10 COLUMN owner FORMAT A10 COLUMN obj_name FORMAT A10 COLUMN extended_timestamp FORMAT A35 SELECT username, extended_timestamp, owner, obj_name, action_name FROM dba_audit_trail WHERE owner = 'AUDIT_TEST' ORDER BY timestamp; Résultat : USERNAME EXTENDED_TIMESTAMP OWNER OBJ_NAME ACTION_NAME ---------- ------------------------------ ----- ---------- ------------ SCOTT 29-SEP-2011 14:12:55.514000 +00:00 SCOTT EMP INSERT SCOTT 29-SEP-2011 14:12:55.545000 +00:00 SCOTT EMP UPDATE SCOTT 16-SEP-2011 14:12:55.592000 +00:00 SCOTT EMP SELECT
Synthèse
Ce petit exemple est assez parlant sur la possibilité d’audit standard et représentatif des informations que l’on peut recueillir. En revanche, la définition des options d’audit et la granularité des accès, objets, privilèges à auditer peut s’avérer complexe (audits fins, audit des accès logon/logoff) car il faudra prendre en compte :
- Les directives RSSI et/ou de conformité si elles existent
- Les problématiques de performance
- Les problématiques d’exploitation des données d’audit (rétention, purge, accessibilité,.)
- Les problématiques de reporting
La norme PCI-DSS implique la mise en place de l’audit des bases de données et des infrastructures connexes..
Dans des environnements restreints, l’activation des audits trail peut suffire, en revanche, dans des environnements ouverts (multi-bases, multi éditeurs, multi architecture), l’outil Oracle Audit Vault sera plus adapté.
En version 11g , l‘audit standard (DB) est démarré par défaut.
Dans mon prochain article je vous présenterai un exemple de renforcement de l‘authentification avec ASO.