kemaltaner - Fotolia

Mit Oracle 12c Unified Auditing Audit-Richtlinien festlegen

Die Unified-Auditing-Funktion in Oracle Database 12c rationalisiert den Datenbank-Audit-Prozess, einschließlich der Implementierung von Audit-Richtlinien.

Die meisten Datenbanken verfügen über Audit-Trail-Funktionen, die wichtige Datenbankoperationen außerhalb der eingebetteten Anwendungskontrolle protokollieren. Dies hat sich mit dem Audit Trail von Oracle geändert, als das Unternehmen 2013 seine Unified-Auditing-Funktion als Teil von Oracle Database 12c einführte.

Datenbank-Administratoren (DBAs) können sowohl die alte Datenbank-Auditing-Funktion als auch Oracle 12c Unified Auditing in einem Ansatz namens mixed mode auditing verwenden, der standardmäßig aktiviert ist, wenn neue Datenbanken erstellt werden. Alternativ können Datenbanken auch allein mit Unified Auditing konfiguriert werden – und die neue Funktion bietet einige Vorteile.

Zu diesen Vorteilen gehört vor allem die Möglichkeit, Audit Trails von der Datenbank-Engine sowie Oracle Recovery Manager, Database Vault, Label Security und anderen Komponenten an einem einzigen Ort und in einem einzigen Format zu vereinheitlichen – daher der Name der Funktion.

Die Vereinheitlichung der verschiedenen Audit Trails an einem Ort verringert die Verwaltungsaufgaben und erhöht gleichzeitig die Sicherheit der Audit Trails. Die Performance der Oracle-Datenbank-Auditierung wurde ebenfalls verbessert, insbesondere in Oracle Database 12c Release 2 (12.2), wo der Audit Trail in SYS.ADU$UNIFIED, einer partitionierten Tabelle, gespeichert ist.

Ein weiterer Vorteil von Oracle 12c Unified Auditing ist die Möglichkeit, dass Datenbank-Administratoren Audit-Richtlinien erstellen und diese dann verschiedenen Benutzern zuweisen können, ähnlich wie bei der Zuweisung von Systemprivilegien an Benutzer, auf Grundlage ihrer Rolle.

Darüber hinaus können Audit-Richtlinien Bedingungen und Ausschlüsse für eine detailliertere Kontrolle beim Schreiben des Audit-Trail-Datensatzes enthalten. Schauen wir uns genauer an, wie die Audit-Richtlinienfunktionen genutzt werden können.

Datenbank-Audits angehen

Oracle 12c Unified Auditing umfasst einige wenige fest definierte Audit-Richtlinien, die häufig geprüfte Aktionen enthalten, so dass ein DBA den Auditierungsprozess schneller beginnen kann.

Diese vordefinierten Audit-Richtlinien lassen sich einsehen, indem man in der Ansicht AUDIT_UNIFIED_POLICIES den Namen der Richtlinien abfragt, die mit dem Präfix ORA_ beginnen. Zum Beispiel wurden bei den Richtlinien-Audits ORA_LOGON_FAILURES fehlgeschlagene Anmeldungen und bei ORA_ACCOUNT_MGMT Aktionen zum Anlegen, Ändern und Löschen von Benutzern und Rollen sowie GRANT- und REVOKE-Anweisungen geprüft.

Um eine Audit Policy einem bestimmten Benutzer oder einer Gruppe von Benutzern zuzuordnen, wird ein AUDIT POLICY-Befehl ähnlich diesem Befehl ausgegeben:

SQL> AUDIT POLICY ora_account_mgmt BY system,my_dba_user;

 

Audit succeeded.

Die Benutzer, die als SYSTEM und MY_DBA_USER bezeichnet werden, sind nun durch diese Audit-Richtlinie abgedeckt. Um die verwendete Richtlinie zu veranschaulichen, kann der SYSTEM-Benutzer einem anderen Benutzer eine Anwendungsrolle zuweisen:

SQL> connect system/manager

 

Connected.

 

SQL> grant app_role to scott;

 

Grant succeeded.

Nun wird der einheitliche Audit-Trail abgefragt, um zu zeigen, dass die Aktion stattgefunden hat. Die Ansicht DBA_COMMON_AUDIT_TRAIL ermöglicht es, von einem einzigen Ort aus auf den traditionellen und vereinheitlichten Audit-Trail zuzugreifen:

SQL> SELECT db_user,statement_type,sql_text FROM dba_common_audit_trail;

 

DB_USER   STATEMENT_TYPE  SQL_TEXT

                                           

--------- --------------- -----------------------------------

 

SYSTEM    SYSTEM GRANT    grant app_role to scott

Eigene Oracle-Audit-Richtlinien erstellen

Über die festgelegten Richtlinien hinaus können Datenbank-Administratoren mit Oracle 12c Unified Auditing ganz einfach eigene Audit-Richtlinien erstellen, ähnlich dem folgenden Beispiel:

SQL> CREATE AUDIT POLICY app_audit_policy

 

  2  ACTIONS SELECT ON oe.orders, INSERT ON hr.employees;

 

Audit policy created.

Die neue Audit-Richtlinie kann dann für alle Benutzer der Datenbank aktiviert werden:

SQL> AUDIT POLICY app_audit_policy;

 

Audit succeeded.

Um die Richtlinie stattdessen auf bestimmte Benutzer anzuwenden, wird die BY-Klausel verwendet, wie zuvor gezeigt wurde. Wenn über diese Klausel keine Benutzer definiert sind, gilt der Befehl AUDIT POLICY für alle Datenbankbenutzer. Umgekehrt muss die bestehende Richtlinie mit dem Befehl NOAUDIT POLICY deaktiviert werden, um einige Benutzer von den Aktionen der Audit-Richtlinie auszuschließen. Anschließend muss die Audit-Richtlinie angewiesen werden, die gewünschten Benutzer – in diesem Fall SYS und SYSTEM – auszuschließen, bevor sie implementiert werden kann:

SQL> NOAUDIT POLICY app_audit_policy;

 

Noaudit succeeded.

 

SQL> AUDIT POLICY app_audit_policy except sys,system;

 

Audit succeeded.

Ein Punkt, den man beachten muss, wenn man mit der Verwendung von Oracle 12c Unified Auditing beginnt, ist, dass einige Administrator-Funktionen, die auf Audit-Richtlinien im neuen Ansatz angewendet werden, von den Endbenutzern erst dann bemerkt werden, wenn sie eine neue Verbindung herstellen.

Wenn ein DBA zum Beispiel eine Audit-Richtlinie löscht, bleibt sie für aktuelle Benutzersitzungen in Kraft. Bei neuen Sitzungen wird diese Richtlinie aber nicht wieder angewendet. Details zu den Unified Audit Policies werden in den privaten Speicher einer Benutzersitzung eingelesen, wenn sich die Sitzung mit der Datenbankinstanz verbindet, während Änderungen an Richtlinien, die in der traditionellen Audit-Funktion vorgenommen wurden, sofort wirksam sind.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Die Funktionen des Datenbank-Management-Systems Oracle Database 12c.

Kosten und Funktionen der In-Memory-Option in Oracle Database 12c.

Data Redaction: Das neue Sicherheits-Tool für Oracle Database 12c.

Erfahren Sie mehr über Datenbanken