codestory

Standard Datenbank Überwachung in Oracle

  1. Die Vorstellung über die Kontrol des System Oracle
  2. Die Standard Audit Mode aktivieren
  3. Audit mit dem Parameter DB einstellen
  4. Audit mit dem Parameter DB,EXTENDED einstellen
  5. Set up Audit with XML parameter
  6. Set up Audit with XML,EXTENDED parameter
  7. Die beziehenden Parameter sehen
-

1. Die Vorstellung über die Kontrol des System Oracle

Die Prüfung (Auditing) ist die Kontrol und die Aufnahme (monitoring and recording) der in die Database konfigurierten Aktionen, einschließend die Aktionen aus dem Benutzer (user) database user und nondatabase user.
Nonedatabase Users:
Nondatabase Users: Das ist der Benutzer einer Applikation. Die Applikation benutzt die Database Oracle, und deshalb kann er die Aktionen mit der Database implementieren. Diese Benutzer brauchen in der Database benutzend CLIENT_IDENTIFIER identifizieren. Die Auditing der Benutzer ist mehr kompliziert als die Auditing des Database Benutzer
Die Püfung (Auditing) ist eine notwendige und wichtige Aufgabe mit der Administrator der Database. Das ist ein effektives Tool zur Kämpfung der falschen Aktionen. Und sie wird immer zuerst in der Sicherheiteninitiativ in Oracle
Außerdem gibt es auch die sonstigen Gründe zur Auditing
  • Der Auditor prüft den Benutzer verwendend das Privileg um die empfindlichen Objekte zuzugreifen.
  • Audit Trail verhindert die falschen Aktionen vom Benutzer.
  • Audit Trail ist die zwanghafte Aufgabe wenn Sie untersuchen müssen, was falsch ist.
  • Audit Trail warnt Sie die zweifelhaften Aktionen. Sie können analysieren, was Ihnen unklar ist.
  • Audit Trail ist sehr wichtig bei der Definition der Kontroll des Zugang, besonders in die verfügbaren Appkikation.
  • Es ist schwierig zu bestimmen, dass "die Politik der Zugang-kontrol" wird die Prozessen brechen, umsonst Sie den Zustand und was sie machen kennen
Audit Trail
  • Die Audit-Aktionen erstellen Audit Trail, einschließend die Rekorden genehmigen zu suchen, was in die Database durchgeführt werden.
  • Danach kennen wir, was die Benutzer gemacht haben und welche Privilege verwendet werden…
  • Für jeden Rekord gibt es die folgenden wichtigen Information wie:
    • Was hat durchgeführt.
    • Wo wird durchgeführt. (Welches Schema oder welches Object)
    • Wann wird durchgeführt.
    • Wie wird durchgeführt. (Welches Statement SQL wird durchgeführt).
    • Wie die nutzlichen Informationen in der Untersuchung und die Kontrol

2. Die Standard Audit Mode aktivieren

Standard Audit ist die meist umfassende und volle Grundlage in der Database Oracle. Es genehmigt, die Aktion, das Aktionstyp, das Privileg, den Zugangbenutzer ... zu kontrollieren
Es gibt 2 Phase beziehend die Verwendung von Standard Audit.
  • Die Audit Mode aktivieren.
  • Die Kategorie zur Kontrol bestimmen, d.h die Aktionen bestimmen, die die Audit Trail erstellt wird
Um die Database Audit Mode zu aktivieren, sollen Sie in Oracle mit dem Benutzer mit dem Privileg sysdba zugreifen.
sys/<password> as sysdba
Audit trail kann eine Tabelle Daten oder eine File auf dem Betriebssystem sein. Wenn der Auditor kein Privileg DBA hat, ist es am besten, die Kontrol-Information auf die File zu speichern. Es gibt 4 Maßnahmen zur Einstellung der Lagerung von "Audit Trail"
Der Parameter
Die Erklärung
DB
Die Spur (trail) wird in die Tabelle AUD$ gespeicher, die das Statement, keine volle Text enthalten
DB,EXTENDED
Die Spur (trail) wird in die Tabelle AUD$ gespeicher, die volle Text (die Wert der Variable für jede Rekord..)
XML
Die Spur (trail) wird in die File des Betriebsystem in die Format XML gespeicher, die Inhalt ist gleich wie den Parameter DB.
XML,EXTENDED
Die Spur (trail) wird in die File des Betriebsystem in die Format XML gespeicher, die Inhalt ist gleich wie den Parameter DB,EXTENDED.

3. Audit mit dem Parameter DB einstellen

Zuerst sollen Sie Audit Mode mit dem Parameter DB (audit_trail = DB) aktivieren, die folgenden Befehlen durchführen
* SQLPLUS *
alter system set audit_trail=db scope=spfile;

shutdown immediate;

startup
In diesem Beispiel werden wir Audit für Scott.EMP mit dem Parameter DB machen, d.h die "audit trail" werden in die Database gespeichert (konkret in die Tabelle AUD$ speichern).
Audit all on scott.emp by access;
Verwenden Sie einen anderen user um einige Aktion auf die Tabelle Scott.EMP durchzuführen, z.B update. Diese Aktionen werden in die Tabelle AUD$ gespeichert.
-- Test

update scott.EMP set sal=sal*0.95 where job='MANAGER';
Abfragen (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. Audit mit dem Parameter DB,EXTENDED einstellen

Audit mit dem Parameter audit_trail = DB,EXTENDED einstellen
alter system set audit_trail=db,extended scope=spfile;

shutdown immediate;

startup
Implementieren Sie die Aktion update auf die TabelleScott.EMP:
Audit all on scott.emp by access;
Verwenden Sie einen anderen user um eine Aktion in der Tabelle Scott.EMP durchzuführen:
-- 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

Mit der Verwendung des Parameter audit_trail = xml werden die "audit trail" in der XML Format File gespeichert.
alter system set audit_trail=xml scope = spfile;

shutdown immediate;

startup
Die File Audit liegt normalerweise in dem Verzeichnis adump. Allerdings können Sie den folgenden Befehl benutzen um den Name des Verzeichnis von der File Audit zu prüfen.
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

Wenn Sie die Prüfung mit dem Parameter Audit_trail = xml,extended einstellen, bekommen Sie das Ergebnis wie die Verwendung des Parameter Audit_trail = xml, allerdings in die File XML gibt es die Information von den implementierten Befehlen (statement)
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. Die beziehenden Parameter sehen

Wenn das Kontrolsmodus für die Database eingestellt wird, können Sie den benutzenden Parameter prüfen
-- Show all parameter in database.

show parameter
show parameter audit_trail;
Prüfen Sie den Name des Verzeichnis der File Audit, die erstellt werden wird
show parameter audit_file_dest;
Der Name des Verzeichnis von Datei Audit wird in die File spfile<SID>.ora archiviert.
Den Verzeichnis von der Dateil Audit ändern
alter system set audit_file_dest='C:\newdir' SCOPE=SPFILE;