In Oracle Access Manager, Oracle Security Token Service, and Oracle Fusion Middleware, auditing provides a measure of accountability and answers to the "who has done what and when" types of questions. Audit data can be used to create dashboards, compile historical data, and assess risks. Analyzing recorded audit data allows compliance officers to perform periodic reviews of compliance policies.
This chapter describes the administrative and run-time events that can be audited for Oracle Access Manager and Oracle Security Token Service. Configuring common auditing settings and validating your auditing configuration is the subject of this chapter. Analyzing and using audit data is outside the scope of this chapter.
Note:
Unless explicitly stated, information in this chapter is the same whether you are using Oracle Access Manager alone or with Oracle Security Token Service.
This chapter includes the following topics:
This section identifies requirements for tasks in this chapter: Review Introduction to Auditing
Many businesses must now be able to audit identity information and user access on applications and devices. Compliance audits help an enterprise conform with regulatory requirements—Sarbanes-Oxley or the Health Insurance Portability and Accountability Act (HIPAA) are two examples.
Oracle Access Manager and Oracle Security Token Service use the Oracle Fusion Middleware Common Audit Framework to support auditing for a large number of user authentication and authorization run-time events, and administrative events (changes to the system). The Oracle Fusion Middleware Common Audit Framework provides uniform logging and exception handling and diagnostics for all audit events.
While auditing can be enabled or disabled, it is normally enabled in production environments. Auditing has minimal performance impact, and the information captured by auditing can be useful (even mission-critical).
Note:
Auditing for Oracle Access Manager 10g was based on OAM policies. However, auditing for Oracle Access Manager and Oracle Security Token Service is based on configuration parameters set in the Oracle Access Manager Console which enables data capture for a user or set of users.
Audit data can be written to either a single, centralized Oracle Database instance or to flat files. Regardless of where the audit record is stored, it contains a sequence of items that can be configured to meet particular requirements. The audit log file helps the audit administrator track errors and diagnose problems if the audit framework is not working properly.
Oracle Access Manager integrates with Oracle Business Intelligence Publisher, which provides a pre-defined set of compliance reports:
This section introduces auditing for Oracle Access Manager in the following topics:
See Also:
"Introduction to Auditing for Oracle Security Token Service"
"Introduction to Oracle Fusion Middleware Audit Framework" in the Oracle Fusion Middleware Application Security Guide
An Administrator controls certain auditing parameters using the Oracle Access Manager Console. This auditing configuration is recorded in the file oam-config.xml
. Additional auditing configuration is required through the Common Audit Framework.
Note:
The audit configuration is part of oam-config.xml. OAM audit policies cannot be configured using Fusion Middleware Control. Oracle Access Manager does not use JPS infrastructure to configure the audit configuration. There are no WebLogic Scripting Tool (WLST) commands for Oracle Access Manager auditing.
Within the Oracle Access Manager Console, you can set the maximum log file and log directory size. Audit policies (known as Filter Presets in Oracle Access Manager) declare the types of events to be captured by the audit framework for particular components.
By default, Oracle Access Manager records audit data to a file. However, administrators can change the configuration to log audit data to a database. Although the formats differ, audit data content is identical in both the flat file and the database.
Database logging implements the Common Auditing Framework across a range of Oracle Fusion Middleware products. The benefit is audit-function commonality at the platform level.
Note:
The preferred mode in production environments is writing audit records to a stand-alone RDBMS database for audit data only.
In production environments, Oracle recommends using a database audit store to provide scalability and high-availability for the Common Audit Framework. Audit data is cumulative and grows over time. Ideally this is a database for only audit data; not used by other applications.
To switch to a database as the permanent store for your audit records, you must first use the Repository Creation Utility (RCU) to create a database schema for audit data. The RCU seeds that database store with the schema required to store audit records in a database. After the schema is created, configuring a database audit store involves:
Creating a data source that points to the audit schema you created
Configuring the audit store to point to the data source
Figure 25-1 provides a simplified view of the audit architecture with a supported database. The Oracle Fusion Middleware Audit Framework schema for audit log tables is provided by the Repository Creation Utility (RCU), which must be run before you can log information to the database.
Figure 25-1 Audit to Database Architecture
An independent audit loader process reads the flat log file and inserts records in the log table of the Oracle database. The audit store allows administrators to expose audit data with Oracle Business Intelligence Publisher using a variety of out-of-the-box reports.
The data in the database audit store is exposed through pre-defined reports in Oracle Business Intelligence Publisher. These reports allow you to drill down the audit data based on various criteria, such as user name, time range, application type, and execution context identifier (ECID).
Out-of-the-box, there are several sample audit reports available with Oracle Access Manager and accessible with Oracle Business Intelligence Publisher. You can also use Oracle Business Intelligence Publisher to create your own custom audit reports.
Oracle BI Enterprise Edition (Oracle BI EE) is a comprehensive set of enterprise business intelligence tools and infrastructure, including a scalable and efficient query and analysis server, an ad-hoc query and analysis tool, interactive dashboards, proactive intelligence and alerts, real-time predictive intelligence, and an enterprise reporting engine.Oracle BI EE is designed to bring greater business visibility and insight to a wide variety of users.
The components of Oracle Business Intelligence Enterprise Edition share a common service-oriented architecture, data access services, analytic and calculation infrastructure, metadata management services, semantic business model, security model and user preferences, and administration tools. Oracle Business Intelligence Enterprise Edition provides scalability and performance with data-source specific optimized analysis generation, optimized data access, advanced calculation, intelligent caching services, and clustering.
See Also:
Using Audit Analysis and Reporting in the Oracle Fusion Middleware Security Guide
For an overview of how to prepare Oracle BI EE for use with auditing reports for Oracle Access Manager, see "Preparing Oracle Business Intelligence Publisher EE".
An audit log file helps the audit administrator track errors and diagnose problems when the audit framework is not working properly. An audit log file records several fields including: Date, Time, Initiator, EventType, EventStatus, MessageText, ECID, RID ContextFields, SessionId, TargetComponentType, ApplicationName, and EventCategory to name a few.
See Also:
The topic on audit logs in the chapter on configuring and managing auditing in the Oracle Fusion Middleware Security Guide
This section provides the following topics:
Administrative events are those generated when the Oracle Access Manager Console is used.
The Oracle Access Manager-specific administrative events that can be audited and the details captured in them are listed in Table 25-1. These event definitions and configurations are implemented as part of the audit service in Oracle Platform Security Services.
Note:
With Oracle Access Manager 11g, the administrator controls the amount and type of information that is logged by choosing a filter preset from the Audit Configuration tab on the OAM Server Common Properties page.
Auditable events for each filter preset are fixed in the read-only component_events.xml file. Editing or customizing this file is not supported for Oracle Access Manager 11g.
Table 25-1 Oracle Access Manager Administrative Audit Events
Administrative Event | Event Data Include |
---|---|
Oracle Access Manager Console Login success/failure |
|
Authentication Policy Creation |
|
Authentication Policy Modification |
|
Authentication Policy Removal |
|
Resource Creation |
|
Resource Modification |
|
Resource Removal |
|
Authentication Scheme Creation |
|
Authentication Scheme Modification |
|
Authentication Scheme Removal (Delete) |
|
Response Creation |
|
Response Modification |
|
Response Removal (Delete) |
|
Partner Addition |
|
Partner Modification |
|
Partner Removal |
|
Constraints creation |
|
Constraints Modification |
|
Constraints Removal |
|
Server Domain creation |
|
Server Domain Modification |
|
Server Domain Removal |
|
Server configuration change |
|
Run-time events are those generated by some of the events the Oracle Access Manager component engines issue when interacting with one another.
The run-time events that can be audited, when they are issued, and the details captured in them are listed in Table 25-2. These event definitions and configurations are implemented as part of the audit service in Oracle Platform Security Services.
Note:
With OAM 11g, the administrator controls the amount and type of information that is logged by choosing a filter preset from the Audit Configuration tab on the OAM Server Common Properties page.
Auditable events for each filter preset are fixed in the read-only component_events.xml file. Editing or customizing this file is not supported for OAM 11g.
Table 25-2 OAM Run-time Audit Events
Run-time Event | Issued When | Event Details Include |
---|---|---|
Authentication Attempt |
A user attempts to access a protected resource and the request arrives at the SSO server; this event might be followed by the events credential submit and authentication success or failure. |
|
Authentication Success |
A client submits credentials and credential validation is successful. |
|
Authentication Failure |
A client submits credentials and credential validation fails. |
|
Session Creation |
Authentication succeeds. |
|
Session Destroy |
Authentication succeeds. |
|
Login success |
A client finishes the login procedure and it is forwarded to the agent. |
|
Login failure |
A client fails to login; this event is issued only when all the retry authentication attempts allowed have failed or when the account is locked. |
|
Logout success |
A client finishes the logout procedure and is forwarded to the agent. |
|
Logout failure |
A client fails to logout. |
|
Credential Collection |
A client is redirected to the credential collection page. |
|
Credential Submit |
A client submits credentials. |
|
Authorization Success |
A client has been authorized to access a resource. |
|
Authorization Failure |
A client has not been authorized to access a resource. |
|
Server Start Up |
The server starts up. |
|
Server Shut Down |
The server shuts down. |
|
Auditing events during authentication can help administrators scrutinize security weaknesses in their systems. Information about users requesting authentication or brute force attacks can be stored in the file system or in a back-end database.
The events that an administrator can configure for auditing during authentication are:
Authentication success
Authentication failure
Create, modify, delete, or view Authentication Policy data
Information related to the user being authenticated include the following:
IP address
Browser type
User Login ID
Time of Access
Note:
Oracle recommends that you avoid auditing, logging, or tracing sensitive user attributes, such as user passwords.
The following overview provides a list of the tasks that must be performed before you can perform auditing.
Task overview: Configuring auditing for Oracle Access Manager includes
Set up the audit data store, as described in "Setting Up the Audit Database Store".
Set up publishing for audit reports, as described in "Preparing Oracle Business Intelligence Publisher EE".
Edit the Audit Configuration in the Oracle Access Manager Console, as described in:
Confirm that auditing is working as desired; see: "Validating Oracle Access Manager Auditing and Reports".
This topic provides an overview of the tasks required to create the audit database and extend the schema using the Repository Creation Utility (RCU). This task is required before you can audit events for Oracle Access Manager if you choose a database store for audit data.
See Also:
Oracle Fusion Middleware Application Security Guide for details on managing the audit store
Oracle Fusion Middleware Repository Creation Utility User's Guide
Task overview: Creating the database audit store
Create an audit database, version 11.1.0.7 or later, as described in he Oracle Fusion Middleware Application Security Guide.
Run the Oracle Repository Creation Utility (RCU) against the database, as described in "Create the Audit Schema using RCU" in the Oracle Fusion Middleware Repository Creation Utility User's Guide.
Set up audit data sources for the audit loader and configure it for the OAM Server as described in "Set Up Audit Data Sources" in the Oracle Fusion Middleware Application Security Guide:
Use the Java EE audit loader configuration for WebLogic Server.
Use the JNDI name of the datasource jdbc/AuditDB that points to the database that was set up in step 2 above
In the service instance specified in the domain file (DOMAIN_HOME/config/fmwconfig/jps-config.xml
), enable database auditing by changing the value of the property audit.loader.repositoryType
to DB
. For example:
<serviceInstance name="audit" provider="audit.provider"> <property name="audit.filterPreset" value="None"/> <property name="audit.maxDirSize" value ="0"/> <property name="audit.maxFileSize" value ="104857600"/> <property name="audit.loader.jndi" value="jdbc/AuditDB"/> <property name="audit.loader.interval" value="15" /> <property name="audit.loader.repositoryType" value="DB" /> </serviceInstance>
Restart the WebLogic Server.
Ensure that the audit loader is configured for the OAM Server and that it points to the proper database, as described in "Configure a Database Audit Store for Java Components" in the Oracle Fusion Middleware Application Security Guide.
Maintain the bus-stop files, as described in "Tuning the Bus-stop Files" in the Oracle Fusion Middleware Application Security Guide.
You must prepare Oracle Business Intelligence Publisher Enterprise Edition (EE) for use with Oracle Access Manager audit reports as outlined in the following procedure.
See Also:
Oracle Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition
Oracle Fusion Middleware Developer's Guide for Oracle Business Intelligence Enterprise Edition
Oracle Fusion Middleware User's Guide for Oracle Business Intelligence Enterprise Edition
Task overview: Prepare Oracle BI Publisher
Install Oracle BI Publisher, as described in the Oracle Business Intelligence Enterprise Edition Installation and Upgrade Guide.
Perform tasks as described in "Set Up Oracle Reports in Oracle Business Intelligence Publisher" in the Oracle Fusion Middleware Application Security Guide:
Unjar the AuditReportTemplate.jar into your Reports folder.
Set up the JNDI connection for the audit data source or the JDBC connection the audit database
Set up audit report templates, as described in the section "Set Up Audit Report Templates" of the Oracle Fusion Middleware Application Security Guide.
Set up audit report filters, as described in the section "Set Up Audit Report Filters" of the Oracle Fusion Middleware Application Security Guide.
View reports from the following path: Reports/Oracle_Fusion_Middleware_Audit reports.
Within Oracle Access Manager, certain Audit Configuration settings are accessible as Common Settings under the System Configuration. These settings are not required when you audit to a database. Figure 25-2 shows the Audit Configuration section of the Common Settings page.
Figure 25-2 Common Settings: Auditing Configuration
The Auditing section provides settings for the Log Directory, Filter Settings, and Audit Configuration Users.
Note:
The actual log directory cannot be configured using the Oracle Access Manager Console. It is the default directory for the Common Audit Framework audit loader. Changing the directory impacts the audit loader and is not supported.
Table 25-3 describes the elements in the Audit Configuration page.
Table 25-3 Audit Configuration Elements
Elements | Description |
---|---|
Maximum Directory Size |
The maximum size, in MBs, of the directory that contains audit output files. For example, assuming that the maximum file size is 10, a value of 100 for this parameter implies that the directory allows a maximum of 10 files. Once the maximum directory size is reached, the audit logging stops. For example, a value of 100 specifies a maximum of 10 files if the file size is 10 MB. If the size exceeds this, the creation of audit logs stops. This is configured using the |
Maximum File Size |
The maximum size, in MBs, of an audit log file. Once the size of a file reaches the maxi mum size, a new log file is created. For example, specifying 10 directs file rotation when the file size reaches 10 MB. This is configured using the |
Filter Enabled |
Check this box to enable event filtering. |
Filter Preset |
Defines the amount and type of information that is logged when the filter is enabled. The default value is Low.
Events for each filter preset are fixed in the read-only component_events.xml file. Editing or customizing this file is not supported for OAM 11g. Only items that are configured for auditing at the specified filter preset can be audited. |
Users |
Specifies the list of users whose actions are included only when the filter is enabled. All actions of the special users are audited regardless of the filter preset. Administrators can add, remove or edit special users from this table. |
The following procedure describes how to add, view, or edit OAM Server Common Audit Configuration settings.
To view or edit auditing configuration in the Oracle Access Manager Console
From the System Configuration tab, Common Configuration section, double-click Common Settings in the navigation tree.
In the Audit Configuration section, enter appropriate details for your environment (Table 25-3):
Maximum Log directory size
Maximum Log file size
Filter settings to include specific users from the audit by clicking the Add (+) button above the Users table and entering a value in the field.
Click Apply to submit the Audit Configuration (or close the page without applying changes).
Restart AdminServer and OAM Servers after changes are applied.
You can use the following procedure to test your run-time event auditing configuration.
Configure server common auditing parameters as described in this chapter.
Ensure the Agents and Servers are running.
Configure an application domain to protect the resource as described in Chapter 14, "Managing Policies to Protect Resources and Enable SSO".
Prepare BI EE Publisher as described in "Preparing Oracle Business Intelligence Publisher EE".
To validate your OAM 11g auditing configuration
In a browser, enter the URL to a protected resource and sign in using an invalid credential.
Sign in again using the proper credential.
Sign in to Oracle BI EE. For example:
http://host:port/xmlpserver
Here, host is the computer hosting Oracle BI Publisher; port is the listening port for BI Publisher; xmlpserver is the login page for BI Publisher.
In Oracle BI Publisher Enterprise, locate the desired Oracle Access Manager reports. For example:
Click Shared Folders, click Oracle_Fusion_Middleware_Audit, click Component_Specific, click Oracle_Access_Manager, and then select the desired report, as shown:
Perform any analysis as desired, or edit your auditing configuration as needed.
/Middleware_home/user_projects/domains/base_domain/servers/oam_server1/logs/
auditlogs/OAM/
Archive and manage audit logs according to your company policies.