Logo Oracle Deutschland   DBA Community  -  Mai 2013
EMCLI: Auditing in Cloud Control
von Ralf Durben, ORACLE Deutschland B.V. & Co. KG

Cloud Control kann verschiedene Cloud Control bezogene Aktionen auditieren. Dazu gehören zum Beispiel alle Anmeldevorgänge an Cloud Control und an den Zielsystemen. Aber auch viele andere Aktionen, wie zum Beispiel das Anlegen von EM Benutzern, Privilegienvergabe, Patching, Cloning usw. können auditiert werden. Nach der Installation von Cloud Control ist dieses Auditing automatisch eingeschaltet.

Dieser Beitrag enthält folgende Abschnitte
  1. Ein- oder Ausschalten des Auditing mit EMCLI
  2. Ein- oder Ausschalten des Auditing mit PL/SQL
  3. Status des Auditing anzeigen
  4. Liste der auditierbaren Operationen
  5. Auswahl der zu auditierenden Operationen
  6. Einstellen der Speicherdauer für Auditdaten
  7. Auditdaten in Dateien archivieren
  8. Auswerten des Audit Logs
  9. Lizenz- und weitere Hinweise

Ein- oder Ausschalten des Auditing mit EMCLI

Das Auditing wird mit folgendem Befehl eingeschaltet
cd $OMS_HOME/bin
./emcli enable_audit
Es kann folgendermassen abgeschaltet werden
cd $OMS_HOME/bin
./emcli disable_audit

Ein- oder Ausschalten des Auditing mit PL/SQL

Zum Ein- bzw. Abschalten des Auditing steht alternativ auch das PL/SQL Package MGMT_AUDIT_ADMIN zur Verfügung. Das folgende Beispiel zeigt seine Verwendung:
SQL> exec mgmt_audit_admin.enable_audit;
SQL> commit;

Status des Auditing anzeigen

Der aktuelle Status des Auditings kann mit dem Befehl show_audit_settings angezeigt werden. Das Beispiel zeigt den Befehl und eine daraus resultierende Ausgabe.
./emcli show_audit_settings

Audit Switch : Enabled (2 out of 161 operations)
Externalization Switch : Disabled
Directory : Not configured
File Prefix : em_audit
File Size : 5000000 Bytes
Data Retention Period : 365 Days
Im vorliegenden Beispiel ist das Auditing für zwei Operationen (das ist der Default) aktiviert. Die Auditdaten werden in einer Datenbanktabelle im Repository abgelegt. Die Daten können aber auch in eine externe Datei umgeleitet werden. Des Weiteren ist für die Auditdaten standardmässig eine Speicherdauer von 365 Tagen eingestellt.

Liste der auditierbaren Operationen

Das Kommando show_operations_list gibt eine Liste der Operationen aus, die auditiert werden:
cd $OMS_HOME/bin
./emcli show_operations_list

Operation Name
----------------------------------
ADD_AGENT_REGISTRATION_PASSWORD
ADD_CS_TARGET_ASSOC
AGENT_REGISTRATION_PASSWORD_USAGE
AGENT_RESYNC
...
UNSUBSCRIBE_UPDATE
UPDATE_DB_PASSWORD
UPDATE_MEXT
UPDATE_NAMED_CREDENTIAL
UPDATE_PASSWORD

Auswahl der zu auditierenden Operationen

Standardmässig werden nur An- und Abmeldevorgänge auditiert. Einzelne oder auch alle auditierbaren Operationen können ein- bzw. abgeschaltet werden. Dazu dient das EMCLI Kommando update_audit_settings.

Die allgemeine Beschreibung dieses Kommandos lautet
emcli update_audit_settings
-audit_switch="ENABLE/DISABLE"
-operations_to_enable="Namen der zu auditierenden Operationen"
/*ALL für alle Operationen*/
-operations_to_disable="Namen der NICHT zu auditierenden Operationen"
/*ALL für alle Operationen*/
-externalization_switch="ENABLE/DISABLE"
-directory="Verzeichnisname (DB Directory)"
-file_prefix="Datei Prefix"
-file_size="Dateigröße (Bytes)"
-data_retention_period="Speicherdauer (Tage)"
Beispiel 1: Einschalten der Operation GET_NAMED_CREDENTIAL

Das Einschalten funktioniert über folgenden Befehl
./emcli update_audit_settings -operations_to_enable="GET_NAMED_CREDENTIAL"
Der Status ist folgendermassen zu überprüfen
./emcli show_audit_settings Audit Switch : Enabled (3 out of 161 operations)
Externalization Switch : Disabled
Directory : Not configured
File Prefix : em_audit
File Size : 5000000 Bytes
Data Retention Period : 365 Days
Das Kommando fügt weitere Operationen hinzu. Die bislang eingeschalteten Operationen bleiben aktiviert.

Beispiel 2: Einschalten mehrerer Operationen

Es können mehrere Operationen gleichzeitig eingeschaltet werden. Die einzelnen Operationen der Liste werden jeweils durch ein Semikolon voneinander getrennt, also zum Beispiel
./emcli update_audit_settings -operations_to_enable="DB_START;DB_SHUTDOWN;DB_RESTART"
Beispiel 3: Einschalten aller Operationen

Ein vollständiges Auditing ist denkbar einfach einzuschalten
./emcli update_audit_settings -operations_to_enable="ALL"
Weil die Auditdaten zum Beispiel auch ausgewertet werden sollten, ist ein vollständiges Auditieren nur dann sinnvoll, wenn firmenspezifische oder andere Sicherheitsanforderungen dies ausdrücklich fordern.

Der Status sieht dann so aus:
emcli show_audit_settings
Audit Switch : Enabled (For all Operations)
Externalization Switch : Disabled
Directory : Not configured
File Prefix : em_audit
File Size : 5000000 Bytes
Data Retention Period : 365 Days

Einstellen der Speicherdauer für Auditdaten

Die Speicherdauer für die Auditdaten kann mit dem Kommando update_audit_settings eingestellt werden. Dabei wird die Speicherdauer in einer Anzahl von Tagen angegeben:
./emcli update_audit_settings -data_retention_period=100
Zu prüfen ist die neue Einstellung mit
./emcli show_audit_settings
Audit Switch : Enabled (For all Operations)
Externalization Switch : Disabled
Directory : Not configured
File Prefix : em_audit
File Size : 5000000 Bytes
Data Retention Period : 100 Days

Auditdaten in Dateien archivieren

Die Auditdaten werden immer zunächst in einer Datenbanktabelle gespeichert. Allerdings lassen sich die Daten aus der Tabelle in Dateien exportieren. Damit sind die Daten vor der automatischen Löschung (Retention Period !) gesichert oder stehen auch für spätere, zum Beispiel forensische Analysen zur Verfügung. Das Archivieren wird mit dem PL/SQL Package EM_AUDIT_EXTERNALIZATION des Repositorybenutzers SYSMAN veranlasst.

Damit das Archivieren möglich wird, muss zunächst das gewünschte Zielverzeichnis in der Datenbank als DB-Verzeichnis bekannt gemacht werden. Dazu wird als erstes das Verzeichnis auf der Betriebssystemebene angelegt:

$ mkdir /oracle/cc_audit_data
Anschliessend muss ein DBA Benutzer sich an der Repository Datenbank anmelden und folgende Kommandos ausführen:
SQL> create directory cc_audit_dir as '/oracle/cc_audit_data';
SQL> grant read on directory cc_audit_dir to sysman;
SQL> grant write on directory cc_audit_dir to sysman;
Abschliessend wird das Verzeichnis mit dem EMCLI Kommando update_audit_settings angegeben:
./emcli update_audit_settings -externalization_switch="ENABLE" -directory="CC_AUDIT_DIR"
Zu prüfen ist das Ergebnis mit
./emcli show_audit_settings
Audit Switch : Enabled (For all Operations)
Externalization Switch : Enabled
Directory : CC_AUDIT_DIR
File Prefix : em_audit
File Size : 5000000 Bytes
Data Retention Period : 100 Days

Auswerten des Audit Logs

Als Superadministrator kann das Audit Log in der graphischen Benutzeroberfläche von Cloud Control ausgewertet werden. Die Anzeige ist über "Setup" -> "Security" -> Audit Data zu finden.

Log in der GUI anzeigen

In den Auditdaten lässt sich auch suchen. In diesem Beispiel

In der GUI die Auditdaten durchsuchen

ist die Ausgabe auf die Anzeige des Ein- bzw. Ausschaltens des Auditings und des Ein- und Ausloggens beschränkt.

Lizenz- und weitere Hinweise

Die Nutzung des EMCLI ist in der Basisfunktionalität von Cloud Control enthalten. Für die Nutzung ist keine Lizenz eines Management Packs notwendig. Das gilt aber nur dann, wenn mit EMCLI Funktionalitäten ausgeführt werden, die nicht ihrerseits Bestandteil eines separat lizenzpflichtigen Management Packs sind. Derartige Funktionalitäten müssen dann auch über die jeweiligen Management Packs lizenziert sein.

Das in diesem Artikel beschriebene Auditing ist in der Basisfunktionalität von Cloud Control enthalten.

Wer intensiv mit Cloud Control arbeitet, wird nicht ohne die Lektüre der Handbücher auskommen. Wer sich aber vielleicht vorab - oder auch zusätzlich - in einfacher Form und in deutscher Sprache über diverse Aspekte informieren möchte, dem sei das umfangreiche OracleDojo Nr. 3 "Spezial" Oracle Enterprise Manager 12c Cloud Control empfohlen.


Zurück zur Community-Seite