Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Audit sur la base de données Oracle

Par Said ASSOUMANI Publié le 01/11/2015 à 03:03:45 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Surveillance pour les activités suspectes : Peut importe votre système de politique au sein de votre entreprise, un moment cet politique ne suffira plus. De plus un DBA doit toujours garder en esprit que les utilisateurs ont des privilèges qui peuvent être plus ou moins dangereux, il va falloir ainsi surveiller les activités de nos utilisateurs. Les personnes les plus dangereuses ce sont NOUS en tant que DBA étant donné qu’on a le privilège SYSDBA, ainsi il nous faut surveiller les personnes avec ce privilège. Nous ne pouvons pas les empêcher d’enfreindre la politique imposé mais en tout cas on sera ce qu’ils font avec ces privilèges. On parle alors d’audit SYSDBA

En dehors de l’audit SYSDBA oracle fournit trois autres techniques d’audit :

  • Database auditing : permet de suivre l’utilisation de certains privilèges, exécution de certaines commandes, accès à certaines tables, tentative d’ouverture de session

  • Value-Base auditing : utilise des triggers de BD chaque fois qu’on aura un insert/update/delete on récupère des informations que l’on peut sauvegarder sur une table ou un fichier.

  • Fine-grained auditing : beaucoup plus précis que les deux précédents, permet de suivre l’accès aux tables par rapport aux lignes (ou la colonne d’une ligne) que l’on tente de modifier. On peut avec cette méthode limiter le nombre d’enregistrement (ligne) d’audit, en sauvegardant que ce qui est important réellement. (DBMS_FGA)

Audit des privilèges SYSDBA :

Les utilisateur SYSDBA et SYSOPER ayant le droit de démarrer et d’arrêter la DB et surtout d’exécuter des commandes lorsque la DB est éteinte, l’audit trail de ces utilisateurs doit être enregistré hors de la BD. Oracle par défaut capture les connexion des utilisateur SYSDBA et SYSOPER et rien d’autre excepté si l’audit est spécialement activé. Pour l ‘activé mettre le paramètre « audit_sys_operations » à true Pour voir ou ces fichiers seront sauvegardés le paramètre est « audit_file_dest_initialization ». Par défaut sur linux l’audit trail ➔ $ORACLE_HOME/rdbms/audit Il est logique qu’un dba dont vous voulez audité, ne doit pas avoir accès à l’audit_trail, sinon il n’y a aucun intérêt et éviter toujours de donner le privilège sysdba à un utilisateur quelconque.

Audit Standard de la Base de Données :

Pour utiliser l’audit de la base de données il faut d’abord s’occuper du paramètre audit_trail (ou sera sauvegardé les infos) , ce paramètre accepte 4 choses et n’est pas dynamique , donc on devra redémarrer l’instance :

  • -NONE ,FALSE: désactive l’audit

  • -OS : active l’audit + enregistrement dans un fichier du system d’exploitation

  • -DB,TRUE : active l’audit + enregistrement dans la table dba_audit_trail

  • -DB_EXTEND : identique à DB,TRUE + enregistrement des infos dans des colonnes CLOB SQLBIND et SQLTEXT(v11g)

L’audit de base de donné peut capturer des informations sur les évènement de connexion , l’utilisation de privilèges système/objet, l’audit peut se faire selon si l’action exécuté par l’utilisateur a réussi ou pas.

Selon l’option chois par l’utilisateur sur le paramètre audit_trail , les informations seront sauvegardé dans une table du schema SYS (DB,TRUE ; DB_EXTEND) ou sur le système d’exploitation (OS). Maintenir l’audit_trail est une tache très importante , en effet selon l’audit fais les donnée deviennent de plus en plus lourd , il sera donc à la charge du DBA de faire des archives pour maintenir sa DB en bon état et ne pas consommer trop d’espace

Pour voir un peu les options d’audit qui ont été sélectionnées on peut utilisé les vues : DBA_STMT_AUDIT_OPTS et DBA_PRIV_AUDIT_OPTS Ils contiennent des renseignements sur les options d’audit d’état ou de privilèges.

La vue :DBA_OBJ_AUDIT_OPTS décrit les options d’audit sur tous les objets possédés par l'utilisateur en cours.

Value-Based Auditing :

Cet audit se fait à travers un trigger sur des tables subissant un insert, update ou delete. Lorsque ces trois actions sont faites il y a un trigger qui en arrière plan va créer une ligne d’audit et qui va l’insérer dans la table appropriée.

Fine-Grained Auditing (FGA) :

Dans le cas d’un audit standard, on peut facilement déterminer sur quels objets portes l’audit et quel utilisateur on a fait les frais, cependant vous ne pouvez pas savoir quelles colonnes ou lignes sont concernées. L’audit avancé comble ce manque en permettant non seulement de spécifier un prédicat (un peu comme la clause where) pour indiquer les lignes concernées, mais aussi une ou plusieurs colonnes de la table à laquelle on accède. Le fait d’auditer uniquement l’accès à certaines lignes ou colonnes permet de réduire considérablement le nombre d’enregistrement d’audit = gain d’espace.

Nous devrons utilise le package DBMS_FGA pour créer une police d’audite. Ce package contient quatre procédures :

  • -ADD_POLICY : ajouter une stratégie d’audit utilisant un prédicat et une colonne

  • -DROP_POLICY : supprime une stratégie d’audit

  • -DISABLE_POLICY : désactive la stratégie, mais maintient l’association

  • -ENABLE_POLICY : active une stratégie désactivée

Audit select any table by hr by session ; ➔ Ici on aura un fichier pour toute la session si on a des select any tables

Audit select any table by hr by access; ➔Ici pour chaque select any table on aura un fichier de trace

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels