Configuring an Oracle Database Server

Versions: Oracle 10g and 11g

Collector: Oracle Database Collector

To configure an Oracle database server for the collection of log messages by TLC, complete the following steps:

1. The following file contains a SQL script that defines a package, a single Oracle user account, and related permissions:

<install_directory>\Schema\Oracle\Oracle_Database_Collector_Install_V0.sql

Open a text editor and change the account's password to a password of your choosing. When you create Log Sources for this Monitored Asset in TLC (see Working with Log Sources for an Oracle Database Collector), you will need this password.

2. To open Oracle SQL Developer, select: 

Start > Programs > Oracle > Oracle-[Oracle_instance] > Application Development > SQL Developer

Where [Oracle_instance] is the name of the Oracle database instance.

Note 

If you do not have Oracle SQL Developer, you may configure the server with Oracle SQL *Plus. To do so: 

1. Open Oracle SQL *Plus.

2. Connect to the Oracle database using the SYS account as DBA.

3. Run the following script:

<install_directory>\Schema\Oracle\ Oracle_Database_Collector_Install_V0.sql

4. Proceed to step 5.

3. To create a new connection for the Oracle database:
a. In the side bar, select the Connections tab and click the New Connection button.  
b. In the New / Select Database Connection dialog, enter a Connection Name.
c. In the Username field, enter SYS.
d. Enter the Password for the SYS account.
e. From the Role drop-down, select SYSDBA.
f. In the Hostname field, enter the host name or IP address of the Oracle server.
g. In the SID field, enter the name of the Oracle database.
h. Click Test.
i. If the test is successful, click Save to close the New / Select Database Connection dialog.
4. To add the Tripwire Log Center package to the Oracle database:
a. Open the following file in the TLC Manager installation directory:

<TLC_Manager_install_dir>\Schema\Oracle\Oracle_Database_Collector_Install_V0.sql

b. To run the script with the SYS user account, press CTRL + ENTER (or mark the whole script and press F5).
c. In the Connections panel, select the Packages group and click the Refresh button.

Oracle SQL Developer adds the TRIPWIRE_LOGCENTER package to the Packages group.

5. To open Oracle SQL*Plus:
a. Select: 

Start > Programs > Oracle > Oracle-[Oracle_instance] > Application Development > SQL*Plus

Where [Oracle_instance] is the name of the Oracle database instance.

b. Log in with the SYS user account.
6. To configure the AUDIT_TRAIL parameter, enter the following commands at the Oracle SQL*Plus command prompt:

ALTER SYSTEM SET audit_trail='db' SCOPE=SPFILE;

ALTER SYSTEM SET audit_sys_operations=true SCOPE=SPFILE;

SHUTDOWN IMMEDIATE;
STARTUP;

Tips 

To review the current settings for your AUDIT and AUDIT_TRAIL parameters, enter: 

SHOW PARAMETERS AUDIT;

If you enter audit_trail='db_extended', rather than audit_trail='db', Oracle will include the values from the SQL_TEXT and SQL_BIND columns in generated log messages. The SQL_TEXT column will contain the SQL sentence that generated the logged event.

7. In Oracle SQL Developer, enter the following commands in the tab for the new connection (created above) to enable the AUDIT parameters of your choosing. For example: 

AUDIT ALL BY ACCESS

AUDIT SESSION;

AUDIT DELETE ANY TABLE;

AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, EXECUTE PROCEDURE;

AUDIT ALL;

AUDIT ALL PRIVILEGES;

AUDIT ALL ON DEFAULT;

AUDIT NETWORK;

For more information about AUDIT parameters, refer to your Oracle documentation.

8. (Optional) Now, you can enable Fine-Grained Auditing for any database table or view by creating policies.

To create a policy for a table or view, enter the following commands in the connection tab, mark the whole statement, and then press F5:

BEGIN

DBMS_FGA.add_policy(

<object_schema> => 'user',

<object_name> => 'object',

<policy_name> => 'policy_name',

<audit_condition> => 'table_field evaluator condition',

<audit_column> => 'field to audit',

<statement_types> => 'SELECT,INSERT,UPDATE,DELETE');

END;

Where:

<object_schema> is the name of the user account creating the policy (e.g. rwilson).

<object_name> is the database table or view to be audited (e.g. EMP).

<policy_name> is the name of the policy (e.g. SALARY_CHK_AUDIT1).

<audit_condition> is the condition determining when the policy will generate logs (e.g. SAL>500000).

<audit_column> is the applicable column or field (e.g. SAL).

<statement_types> are the statements with which the table or view will be audited.

Tip 

For optimal performance, you should regularly purge old log messages from the Oracle views cited in Maintaining your Oracle Auditing Views

Next

If you are performing initial configuration of your TLC environment, see Configuring your TLC Environment.

Otherwise, see Adding a Monitored Asset for a new Log Source.

Maintaining your Oracle Auditing Views

If you have a Monitored Asset that represents an Oracle database, you should complete the steps below whenever the total number of log messages in one of the following views exceeds 1,000,000.

sys.dba_audit_trail

sys.dba_common_audit_trail

sys.dba_fga_audit_trail

Note 

For this procedure, the Audit Logger must be assigned as an Output Destination in the properties dialog of the Oracle Asset. For more information, see Changing the Output Destinations for a Monitored Asset.

When the number of log messages in one of these views exceeds 1,000,000, complete the following steps: 

1. In the Audit Logger:
a. Run a search for 'raw' log messages collected from the Oracle database by specifying the database with the Monitored Assets drop-downs in the Query Criteria tab (see Querying the Audit Logger for 'Raw' Log Messages).
b. In the search results presented in the Raw Logs tab, make a note of the Timestamp for the oldest log message. Typically, the oldest log message appears as the first entry in the search results.
2. Delete all log messages from the view that are older than the Timestamp.