Audit de base de données standard dans Oracle

View more Tutorials:

-

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 :
  1. Un responsable de l'audit fait l'audit des utilisateurs à l'aide du privilège que d'accéder des objectifs sensitifs.
  2. Piste d'audit (Audit Trail) n'empêche effectivement des utilisateurs de faire des actes répréhensibles.
  3. Audit Trail est une chose obligatoire si vous devez enquêter sur l'apprentissage de mauvais problème.
  4. Audit Trail vous prévoit des activités soupçonneuses, vous pouvez effectuer l'analyse sur ce que vous ne connaissez pas.
  5. Audit Trail est primordial lorsque le control d'accès défini, particulièrement dans des applications existantes.
  6. 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)

  1. 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.
  2. Basant sur ça pour savoir quel utilisateur a fait et quel privilège a été utilisé…
  3. 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;

View more Tutorials: