devstory

Audit de base de données standard dans Oracle

  1. Introduction de l'audit sur la base du système Oracle
  2. Activer le mode standard de l'audit
  3. Établir un Audit avec le paramètre DB
  4. Établir Audit avec le paramètre DB,EXTENDED
  5. Set up Audit with XML parameter
  6. Set up Audit with XML,EXTENDED parameter
  7. Voir des paramètres concernés
-

1. Introduction de l'audit sur la base du système Oracle

L'audit signifie la surveillance et l'enregistrement des actions qui ont été configurées dans une base de données, y compris les actions provenant des deux types d'utilisateurs, tels que l'utilisateur (user) database user et nondatabase user.
Nonedatabase Users:
Nondatabase Users: Voici sont les utilisateurs d'une application. Cette application utilise une base de données Oracle, donc ils peuvent effectuer des actions avec les autres base de donées. Les utilisateurs doivent être identifiés dans la base de données en utilisant l'attribut CLIENT_IDENTIFIER. L'audit ce ces utilisateurs devient plus compliqué que celui des utilisateurs de base de données (Database users).
L'audit (Auditing) est un travail nécessaire et important de l'administrateur d'une base de données. Il est un outil effectif contre des actes répréhensibles et il est toujours mis en œuvre en premier lieu dans toute initiative de sécurité de Oracle.
En plus, d'autres raisons doivent être vérifiées :
  • Un responsable de l'audit fait l'audit des utilisateurs à l'aide du privilège que d'accéder des objectifs sensitifs.
  • Piste d'audit (Audit Trail) n'empêche effectivement des utilisateurs de faire des actes répréhensibles.
  • Audit Trail est une chose obligatoire si vous devez enquêter sur l'apprentissage de mauvais problème.
  • Audit Trail vous prévoit des activités soupçonneuses, vous pouvez effectuer l'analyse sur ce que vous ne connaissez pas.
  • Audit Trail est primordial lorsque le control d'accès défini, particulièrement dans des applications existantes.
  • Il est difficile définir que "la politique d'audit accès" ne cessera pas de processus d'affaire à moins que vous ne saviez pas le statut récent et que ce qu'ils fassent.
Audit Trail (Piste d'Audit)
  • Des actions d'audit crée une Audit Trail, comprenant les rapports autorisant la recherche de ce qui a été fait dans la base de donées.
  • Basant sur ça pour savoir quel utilisateur a fait et quel privilège a été utilisé…
  • Pour chaque rapport, il y a des informations importantes telles que :
    • Qui l'a fait
    • Où il a été fait (Schema nào hay Object nào)
    • Quand il a été fait.
    • Comment il a été fait (Quelles requêtes SQL ont effectuée).
    • Ainsi que d'autres informations utiles dans l'investigation et dans le contrôle.

2. Activer le mode standard de l'audit

Standard Audit (L'audit standard) est la base d'audit la plus complète et suffisante dans la base de données Oracle. Il permet de controler une action (Action), une type d'action, un objet, un privilège (Privilege), utilisateur d'accès..
Il y a deux étapes utilisant Standard Audit.
  • Activer le mode d'audit (Audit).
  • Définir les articles (category) auditées, définir les actions qui ont été laissé des pistes d'audit (Crée Audit Trail).
Afin d'activer le mode d'audit de la base de données, vous devez accéder à Oracle avec le rôle d'utilisateur ayant le privilège sysdba.
sys/<password> as sysdba
Des pistes d'audit (Audit trail) peuvent être un tableau de données ou un fichier sur le système de fonctionnement. Si un responsable d'audit n'a pas le privilège (privilege) DBA, il est mieux d'emmagasiner les informations auditées dans des fichiers. Il y a quatre options de établir un système de stokage "des pistes d'audit".
Paramètre
Explication
DB
Des pistes qui sont stockées dans un tableau AUD$, ne contient que des déclaration (statement) à part du texte complet.
DB,EXTENDED
Des pistes qui sont stockées dans un tableau AUD$, texte complet (La valeur des variables (variable) pour chaque rapport..)
XML
Des pistes qui sont stockées dans le fichier du système d'exploitation, sous le format XML, dont le contenu est de même du celui de paramètre DB.
XML,EXTENDED
Des pistes qui sont stockées dans le fichier du système d'exploitation, sous le format XML, dont le contenu est de même du celui de paramètre DB,EXTENDED.

3. Établir un Audit avec le paramètre DB

Tout d'abord, vous devez activer le mode d'audit avec un paramètre DB (audit_trail = DB), exécutez des requêtes ci-dessous :
* SQLPLUS *
alter system set audit_trail=db scope=spfile;

shutdown immediate;

startup
Dans cet exemple, nous feront l'audit (audit) d'un tableau de Scott.EMP, avec un paramètre DB, cela signifie que des "pistes d'audit" (audit trail) seront stockées dans la base de données (Plus précisement elles sont stokées dans le tableau AUD$).
Audit all on scott.emp by access;
Adoptez un autre user pour effectuer certaines actions dans le tableau Scott.EMP, par exemple, update. Ces actions seront enregistrées sur le tableau AUD$.
-- Test

update scott.EMP set sal=sal*0.95 where job='MANAGER';
Enquêter (query):
column username format a9
column owner format a5
column obj_name format a10
column action_name format a11
column sql_text format a40

-- Query view DBA_AUDIT_TRAIL:
select username, owner, obj_name,
       action_name, sql_text from dba_audit_trail;

4. Établir Audit avec le paramètre DB,EXTENDED

Établir le mode d'audit avec le paramètre audit_trail = DB,EXTENDED.
alter system set audit_trail=db,extended scope=spfile;

shutdown immediate;

startup
Effectuez l'action update sur le tableau Scott.EMP:
Audit all on scott.emp by access;
Utilisez un user de plus pour effectuer une action sur le tableau Scott.EMP:
-- Update

update scott.EMP set sal=sal + 10 where job='MANAGER';
column username format a9
column owner format a5
column obj_name format a10
column action_name format a11
column sql_text format a40

-- Query view DBA_AUDIT_TRAIL:
select username, owner, obj_name,
       action_name, sql_text from dba_audit_trail;

5. Set up Audit with XML parameter

L'utilisation du paramètre audit_trail = xm des"pistes d'audit (audit trail)" seront stockées dans un fichier sous le format XML.
alter system set audit_trail=xml scope = spfile;

shutdown immediate;

startup
Des fichiers Audit sont normalement dans le répertoire adump. Pourtant, pour savoir exactement, vous pouvez utiliser la requête ci-dessous pour vérifier le nom de répertoire contenant les fichiers Audit.
show parameter audit_file_dest;
db12c_ora_2328_20171107022919280000831625.xml
<?xml version="1.0" encoding="UTF-8"?>
  <Audit xmlns="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_2.xsd"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_2.xsd">
   <Version>11.2</Version>
<AuditRecord><Audit_Type>8</Audit_Type><EntryId>1</EntryId><Extended_Timestamp>2017-11-06T19:29:19.280000Z</Extended_Timestamp><DB_User>/</DB_User><OS_User>tran-pc\tran</OS_User><Userhost>WORKGROUP\TRAN-PC</Userhost><OS_Process>1848:2328</OS_Process><Terminal>TRAN-PC</Terminal><Instance_Number>0</Instance_Number><Returncode>0</Returncode><OSPrivilege>SYSDBA</OSPrivilege><DBID>1409002769</DBID>
<Sql_Text>CONNECT</Sql_Text>
</AuditRecord>
<AuditRecord><Audit_Type>4</Audit_Type><Session_Id>4294967295</Session_Id><StatementId>1</StatementId><EntryId>2</EntryId><Extended_Timestamp>2017-11-06T19:29:34.903000Z</Extended_Timestamp><DB_User>/</DB_User><Ext_Name>tran-pc\tran</Ext_Name><OS_User>tran-pc\tran</OS_User><Userhost>WORKGROUP\TRAN-PC</Userhost><OS_Process>1848:2328</OS_Process><Terminal>TRAN-PC</Terminal><Instance_Number>0</Instance_Number><Returncode>0</Returncode><OSPrivilege>SYSDBA</OSPrivilege><DBID>1409002769</DBID>
<Sql_Text>ALTER DATABASE OPEN</Sql_Text>
</AuditRecord>

6. Set up Audit with XML,EXTENDED parameter

Lorsque vous étalissez un audit avec Audit_trail = xml,extended, le résultat obtenu est de même que celui de Audit_trail = xml, cependant des fichiers XML vont ajouter des informations sur la requête (statement) exécutées.
alter system set audit_trail=os scope=spfile;

shutdown immediate;

startup
db12c_ora_3956_20171108021424022000979538.xml
<?xml version="1.0" encoding="UTF-8"?>
  <Audit xmlns="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_2.xsd"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_2.xsd">
   <Version>11.2</Version>
<AuditRecord><Audit_Type>1</Audit_Type><Session_Id>1350961</Session_Id><StatementId>13</StatementId><EntryId>1</EntryId><Extended_Timestamp>2017-11-07T19:14:24.025000Z</Extended_Timestamp><DB_User>SCOTT</DB_User><OS_User>tran-pc\tran</OS_User><Userhost>WORKGROUP\TRAN-PC</Userhost><OS_Process>1856:3956</OS_Process><Terminal>TRAN-PC</Terminal><Instance_Number>0</Instance_Number><Object_Schema>SCOTT</Object_Schema><Object_Name>EMP</Object_Name><Action>6</Action><TransactionId>030017001E0E0000</TransactionId><Returncode>0</Returncode><Scn>17925302</Scn><DBID>1409002769</DBID>
<Sql_Text>Update Emp set Sal = Sal + 10 where job = &apos;MANAGER&apos;
</Sql_Text>
</AuditRecord>

7. Voir des paramètres concernés

Lorsaue le mode d'audit a été établi sur la base de données, vous pouvez vérifier le paramètre utilisé.
-- Show all parameter in database.

show parameter
show parameter audit_trail;
Vérifiez le nom du fichier contenant des fichiers Audit qui seront créés.
show parameter audit_file_dest;
Le nom du répertoire comprenant des fichiers Audit est stocké dans le fichier spfile<SID>.ora.
Changez le répertoir des fichiers Audit:
alter system set audit_file_dest='C:\newdir' SCOPE=SPFILE;