Oracle Database Vault provides a set of reports that you can use to track activities, such as the Database Vault configuration settings.
Topics:
See Also:
"Oracle Database Vault-Specific Reports in Enterprise Manager Cloud Control"
Chapter 22, "Oracle Database Vault Data Dictionary Views" for additional ways that you can track Database Vault activities
Oracle Database Vault provides a selection of reports that display security-related information from the database.
These reports also show custom Oracle Database Vault audit event information. If you have unified auditing enabled, then the reports capture the results of your unified audit policies.
The reports are in two categories:
Database Vault Reports. These reports allow you to check configuration issues with realms, command rules, factors, factor identities, rule sets, and secure application roles. These reports also reveal realm violations, auditing results, and so on.
General Security Reports. These reports allow you to check the status of object privileges, database account system privileges, sensitive objects, privilege management, powerful database accounts and roles, initialization parameters, profiles, account passwords, security audits, and other security vulnerability reports.
You must log on using an account that has the DV_OWNER
, DV_ADMIN
, or DV_SECANALYST
role before you can run the Oracle Database Vault reports.
A user who has been granted the appropriate roles can run the Oracle Database Vault reports from Database Vault Administrator.
From Cloud Control, log into Database Vault Administrator as a user who has been granted the DV_OWNER
, DV_ADMIN
, or DV_SECANALYST
role.
"Logging into Oracle Database Vault" explains how to log in.
In the Home page, under Reports, select Database Vault Reports.
A page similar to the following appears:
On the left side, select the category of reports that you want.
Database Vault Configuration Issues
Database Vault Enforcement Audit Reports
Database Vault Configuration Changes
In the Reports page, expand the category that contains the report.
For example, to find the Rule Set Configurations Issues report, you must expand Database Vault Configuration Issues.
Select the report (for example, Rule Set Configuration Issues).
The report appears in the right pane.
Optionally, use the Search field to filter the report.
For example, you can search for reported incidents that involve a specific rule set. The Search field contents vary depending on the report.
When you finished viewing the report, click the OK button.
The configuration issues reports track the settings that have been for command rules, rule sets, realms, and other Oracle Database Vault configurations.
Topics:
The Command Rule Configuration Issues Report displays command rules for which specific configuration issues exist.
These issues are as follows:
Rule set for the command rule is disabled.
Rule set for the command rule is incomplete.
Object owner for the command rule does not exist. This can happen when the user account for the object has been dropped.
The Rule Set Configuration Issues Report displays Oracle Database Vault rule set information.
It tracks when no rules are defined or enabled for a rule set.
The Realm Authorization Configuration Issues Report displays Oracle Database Vault realm information where the certain configuration issues exist.
These issues are as follows:
Rule set for a realm authorization is disabled.
Grantee does not exist for a realm authorization.
Owner does not exist for a realm-secured object. This can happen when the user account has been dropped.
In most cases, however, these types of issues are caught when you configure the realm and during validation.
The Factor Configuration Issues Report displays Oracle Database Vault factors for which the specific configuration issues exist.
These issues are as follows:
Rule set for factor assignment is disabled.
Rule set for factor assignment is incomplete.
Audit options for the factor are invalid.
No factor retrieval method or constant exists.
No subfactors (that is, child factors) are linked to a factor identity.
No subfactors (child factors) are linked to a label factor.
Oracle Label Security policy does not exist for the factor.
The Factor Without Identities Report displays Oracle Database Vault factors that have no identities defined in the access control configuration.
For some factors such as Background_Job_Id
, this may not be a real problem, but the report can help you determine whether your access control configuration is complete and whether you have accounted for all factor configuration.
The Identity Configuration Issues Report displays Oracle Database Vault factor identities where specific configuration issues exist.
These issues are as follows:
Label identity for the Oracle Label Security label for this identity has been removed and no longer exists.
No map exists for the identity.
The Secure Application Configuration Issues Report displays Database Vault secure application role information where specific configuration issues exist.
These issues are as follows:
The database role does not exist. This can happen when the database role has been dropped.
The rule set for role is disabled.
The rule set for role is incomplete.
You can track auditing issues with the Oracle Database Vault auditing reports. Remember that if you have unified auditing enabled, then the reports capture the results of your unified audit policies.
Topics:
The Realm Audit Report shows audit records generated by the realm protection and realm authorization operations.
You can manage realm authorizations by using rule sets, and then audit the rule set processing results. A realm violation occurs when the database account, performing an action on a realm-protected object, is not authorized to perform that action. Oracle Database Vault audits the violation even if you do not specify any rule sets attached to the realm. When you configure a realm, you can set it to audit instances of realm violations. You can use this information to investigate attempts to break security.
The Command Rule Audit Report shows audit records generated by command rule processing operations.
When you configure a command rule, you can set it to audit the rule set processing results.
The Factor Audit Report shows factors that failed to evaluate or were set to create audit records under various conditions. It also shows failed attempts to set factors.
You can audit instances where a factor identity cannot be resolved and assigned (such as No data found or Too many rows). A factor can have an associated rule set that assigns an identity to the factor at run time. When you configure a factor, you can set it to audit the rule set processing results.
The Label Security Integration Audit Report shows audit records generated by the session initialization operation and the session label assignment operation of label security.
You can audit instances where the label security session fails to initialize, and where the label security component prevents a session from setting a label that exceeds the maximum session label.
The Core Database Vault Audit Trail Report shows audit records generated by the core access security session initialization operation.
You can audit instances where the access security session fails to initialize. It displays the following data:
Violation Attempt | Instance Number |
Timestamp | Object Name |
Return Code | Rule Set |
Account | Command |
User Host |
The general security reports track information such as object privileges related to PUBLIC
or privileges granted to a database account or role.
Topics:
The object privilege reports track privileges affected by PUBLIC
, direct object privileges, and object dependencies.
Topics:
The Object Access By PUBLIC Report lists all objects whose access has been granted to PUBLIC
.
This report details all the object access the database accounts that you specify on the Report Parameters page, through object grants to PUBLIC
. On the Reports Parameters page, you can filter the results based on the privilege, the object owner, or the object name.
Note:
This report can be quite large if you choose the defaults.The Object Access Not By PUBLIC Report describes all the object access the database accounts that you specify on the Report Parameters page, through grants to the account directly or through a role, but excluding the grants to PUBLIC
.
On the Reports Parameters page, you can filter the results based on the privilege, the object owner or the object name.
Note:
This report can be quite large if you choose the defaults.The Direct Object Privileges Report shows the direct object privileges granted to nonsystem database accounts.
The following database accounts are excluded from the report:
CTXSYS |
LBACSYS |
PUBLIC |
SYSTEM |
DMSYS |
MDSYS |
SYS |
WKSYS |
DVSYS |
ORDSYS |
SYSMAN |
WMSYS |
The Object Dependencies Report describes all dependencies in the database between procedures, packages, functions, package bodies, and triggers, including dependencies on views created without any database links.
This report can help you develop a security policy using the principle of least privilege for existing applications. If a database object, such as a UTL_FILE
package, has privileges granted to PUBLIC
or some other global role, then you can use the Object Dependencies Report to determine an account that may depend on the object and to determine how the account uses the object. To run the report, enter the database account you are inspecting for dependency and the object it may be dependent on, in the Report Parameters page.
The Report Results page shows the dependent object and object type and the source object name and type. This report shows where the potentially sensitive object is being used. By looking at several accounts, you might be able to see patterns that can help you develop restricted roles. These restricted roles can replace PUBLIC
grants on widely used sensitive objects.
The database account system privileges reports track activities such as direct, indirect, hierarchical, and ANY
system privileges.
Topics:
The Direct System Privileges By Database Account Report displays all system privileges that have been directly granted to the database account selected on the Report Parameters page.
This report also shows whether a privilege has been granted the WITH ADMIN
option.
The Direct and Indirect System Privileges By Database Account Report displays all the system privileges for the database account selected on the Report Parameters page.
The system privileges may have been granted directly or granted through a database role that has the WITH ADMIN
status.
The Hierarchical System Privileges by Database Account Report displays a hierarchical breakdown of role-based system privileges and direct system privileges.
These privileges are granted to the database account specified on the Report Parameters page.
The ANY System Privileges for Database Accounts Report shows all ANY
system privileges granted to the specified database account or role.
ANY
system privileges are very powerful and should be judiciously assigned to accounts and roles.
The sensitive objects reports track activities such as grants on the EXECUTE
privilege on SYS
schema objects and access to sensitive objects.
Topics:
The Execute Privileges to Strong SYS Packages Report shows the database accounts and roles that have the EXECUTE
privilege on system packages that can be used to access operating system resources or other powerful system packages.
The following system PL/SQL packages are included:
DBMS_ALERT |
DBMS_RANDOM |
DBMS_BACKUP_RESTORE |
DBMS_REPAIR |
DBMS_CAPTURE_ADM |
DBMS_REPCAT |
DBMS_DDL |
DBMS_REPCAT_ADMIN |
DBMS_DISTRIBUTED_TRUST_ADMIN |
DBMS_RESOURCE_MANAGER |
DBMS_FGA |
DBMS_RESOURCE_MANAGER_PRIVS |
DBMS_JOB |
DBMS_RLS |
DBMS_LDAP |
DBMS_SESSION |
DBMS_LOB |
DEBUG_EXTPROC |
DBMS_LOGMNR |
UTL_FILE |
DBMS_LOGMNR_D |
UTL_HTTP |
DBMS_OBFUSCATION_TOOLKIT |
UTL_SMTP |
DBMS_ORACLE_TRACE_AGENT |
UTL_TCP |
DBMS_PIPE |
The Access to Sensitive Objects Report shows the database accounts and roles that have object privileges on system tables or views that contain sensitive information.
This report includes the following system tables and views:
ALL_SOURCE |
PROFILE$ |
ALL_USERS |
PROXY_ROLE_DATA$ |
APPROLE$ |
PROXY_ROLE_INFO$ |
AUD$ |
ROLE_ROLE_PRIVS |
AUDIT_TRAIL$ |
SOURCE$ |
DBA_ROLE_PRIVS |
STATS$SQLTEXT |
DBA_ROLES |
STATS$SQL_SUMMARY |
DBA_TAB_PRIVS |
STREAMS$_PRIVILEGED_USER |
DBMS_BACKUP_RESTORE |
SYSTEM_PRIVILEGE_MAP |
DEFROLE$ |
TABLE_PRIVILEGE_MAP |
FGA_LOG$ |
TRIGGER$ |
LINK$ |
USER$ |
OBJ$ |
USER_HISTORY$ |
OBJAUTH$ |
USER_TAB_PRIVS |
OBJPRIV$ |
SYSTEM_PRIVILEGE_MAP |
The Public Execute Privilege to SYS PL/SQL Procedures Report shows all database accounts and roles that have execute privileges on packages owned by SYS
.
This report can be used to determine which privileges can be revoked from PUBLIC
, or from other accounts and roles. This reduces vulnerabilities as part of an overall security policy implementation using the principle of least privilege.
The Accounts with SYSDBA/SYSOPER Privilege Report displays database accounts that have SYS
-privileged connection privileges.
This report also shows whether the accounts use an external password. However, note that this report does not include operating system users who can become SYSDBA
.
The privilege management summary reports track privilege distribution by grantees, owners, and privileges.
Topics:
See Also:
"DVSYS.DBA_DV_PUB_PRIVS View" to find the values on which the counts listed in these reports are basedThe Privileges Distribution By Grantee Report displays the count of privileges granted to a database account or role.
This report provides insight into accounts and roles that may have powerful privileges.
The Privileges Distribution By Grantee, Owner Report displays a count of privileges based on the grantee and the owner of the object.
This report provides insight into accounts or roles that may have powerful privileges. You can use this report if you suspect potential intruders or insider threats are looking for accounts that have powerful privileges as accounts to attack or compromise. If intruders can compromise the account (for example, by guessing the password), they can get more privileges than they already have.
The Privileges Distribution By Grantee, Owner, Privilege Report displays a count of privileges based on the privilege, the grantee, and the owner of the object.
This report provides insight into the accounts or roles that may have powerful privileges.
The powerful database accounts and roles reports track information about users who have been granted power privileges, such as the WITH ADMIN
, BECOME USER
, ALTER SYSTEM
, ALTER SESSION
, WITH GRANT
, and AUDIT
privileges.
Topics:
See Also:
The WITH ADMIN Privileges Grants Report shows all database accounts and roles that have been granted privileges with the WITH ADMIN
clause.
This privilege can be misused to give another account more system privileges than required.
The Accounts With DBA Roles Report shows all database accounts that have the DBA
role granted to them.
The DBA
role is a privileged role that can be misused. It is often granted to a database account to save time and to avoid having to determine the least number of privileges an account really needs. This report can help you to start applying a policy using the principle of least privilege to an existing database.
For guidelines on deciding who should have privileged roles, see Appendix D, "Oracle Database Vault Security Guidelines."
The Security Policy Exemption Report shows database (but not Oracle Database Vault) accounts and roles that have the EXEMPT ACCESS POLICY
system privilege granted to them.
Accounts that have this privilege can bypass all Virtual Private Database (VPD) policy filters and any Oracle Label Security policies that use Oracle Virtual Private Database indirectly. This is a powerful system privilege that should be granted only if absolutely necessary, as it presents a target to gain access to sensitive information in tables that are protected by Oracle Virtual Private Database or Oracle Label Security. You can use the auditing policies described in Appendix A, "Auditing Oracle Database Vault," to audit the use of this privilege.
The BECOME USER Report shows all database accounts roles that have the BECOME USER
system privilege.
The BECOME USER
privilege is a very powerful system privilege: it enables the IMP_FULL_DATABASE
and EXP_FULL_DATABASE
roles for use with Oracle Data Pump. Accounts that possess this privilege can be misused to get sensitive information or to compromise an application.
The ALTER SYSTEM or ALTER SESSION Report shows all database accounts and roles that have the ALTER SYSTEM
or ALTER SESSION
privilege.
Oracle recommends that you restrict these privileges only to those accounts and roles that truly need them (for example, the SYS
account and the DV_ADMIN
role). The ALTER SYSTEM
statement can be used to change the security-related database initialization parameters that are set to recommended values as part of the Oracle Database Vault security strengthening service. Both the ALTER SYSTEM
and ALTER SESSION
statements can be used to dump database trace files, potentially containing sensitive configuration information, to the operating system.
For guidelines on using the ALTER SYSTEM
and ALTER SESSION
privileges, see "Security Considerations for the ALTER SYSTEM and ALTER SESSION Privileges".
The Password History Access Report shows database accounts that have access to the USER_HISTORY$
table that stores hashed passwords that were previously used by each account.
Access to this table can make guessing the existing password for an account easier for someone hacking the database.
The WITH GRANT Privileges Report shows all database accounts that have been granted privileges with the WITH GRANT
clause.
Remember that WITH GRANT
is used for object-level privileges: An account that has been granted privileges using the WITH GRANT
option can be misused to grant object privileges to another account.
This report displays the database accounts and roles to which a role has been granted.
This report is provided for dependency analysis.
The Database Accounts With Catalog Roles Report displays all database accounts and roles that have the catalog-related roles granted to them.
These roles are as follows:
DELETE_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
RECOVERY_CATALOG_OWNER
SELECT_CATALOG_ROLE
These catalog-based roles have a very large number of powerful privileges. They should be granted with caution, much like the DBA
role, which uses them.
The AUDIT Privileges Report displays all database accounts and roles that have the AUDIT ANY
or AUDIT SYSTEM
privilege.
This privilege can be used to disable auditing, which could be used to eliminate the audit trail record of a intruder who has compromised the system. The accounts that have this privilege could be targets for intruders.
The OS Security Vulnerability Privileges Report shows the database accounts and roles that have the required system privileges to export sensitive or otherwise protected information to the operating system.
This report can reveal important vulnerabilities related to the operating system.
The initialization parameters and profiles reports track database parameters, resource profiles, and system limits.
Topics:
The Security Related Database Parameters Report displays database parameters that can cause security vulnerabilities, if not set correctly.
This report can be used to compare the recommended settings with the current state of the database parameter values.
The Resource Profiles Report provides a view of resource profiles, such as CPU_PER_SESSION
and IDLE_TIME
, that may be allowing unlimited resource consumption.
You should review the profiles that might need a cap on the potential resource usage.
The System Resource Limits Report provides insight into the current system resource usage by the database.
This report helps determine whether any of these resources are approaching their limits under the existing application load. Resources that show large increases over a short period may point to a denial-of-service (DoS) attack. You might want to reduce the upper limit for the resource to prevent the condition in the future.
The database account password reports track default passwords and account statuses of database accounts.
Topics:
The Database Account Default Password Report lists the database accounts that have default passwords. Default passwords are provided during the Oracle Database installation.
You should change the passwords for accounts included in this report to nondefault, complex passwords to help secure the database.
The Database Account Status Report provides a quick view of existing database accounts.
This report shows the account status for each account, which helps you identify accounts that must be locked. Lock and expiry dates provide information that helps determine whether the account was locked as a result of password aging. If a special password and resource secure profile is used, then you can identify accounts that are not using them. Accounts not using organizationally defined default tablespaces also can be identified, and the temporary tablespace for accounts can be determined. This report also identifies accounts that use external passwords.
The Core Database Audit Report returns audit records for the audit policy defined in Appendix A, "Auditing Oracle Database Vault," and any auditing records that are generated for audit statements you have defined.
This report only displays audit records that are captured if the database initialization parameter AUDIT_TRAIL
has been set to DB
. For more information about the AUDIT_TRAIL
parameter, see Oracle Database SQL Language Reference.
The other security vulnerability reports track issues with vulnerabilities that can arise with activities just Java policy grants, operating system directory objects, unwrapped PL/SQL packages, and non-owner object triggers.
Topics:
The Java Policy Grants Report shows the Java policy permissions stored in the database.
This report helps reveal violations to the principle of least privilege. Look for GRANT
, READ
, or WRITE
privileges to PUBLIC
or other accounts and roles that do not necessarily need the privilege. It is advisable to disable Java loading privileges from PUBLIC
, if Java is not required in the database.
Note:
Oracle JVM, the Java virtual machine option provided with Oracle Database Vault, must be installed before you can run the Java Policy Grants Report.The OS Directory Objects Report shows all directory objects that exist in the database, whether they are available to PUBLIC
, and what their privileges are.
Directory objects should exist only for secured operating system (OS) directories, and access to them within the database should be protected. You should never use the root operating system directory on any storage device (for example, /
), because it allows remote database sessions to look at all files on the device.
The Objects Dependent on Dynamic SQL Report shows objects that leverage dynamic SQL.
Potential intruders have a greater chance of using this channel if parameter checking or bind variables are not used. The report helps by narrowing the scope of where to look for problems by pointing out who is using dynamic SQL. Such objects can be a target for a SQL injection attack and must be secured to avoid this type of attack. After determining the objects that use dynamic SQL, do the following:
Check the privileges that client applications (for example, a Web application) have over the object.
Check the access granted for the object to PUBLIC
or a wider account base.
Validate parameters.
Use bind variables where possible.
The Unwrapped PL/SQL Package Bodies Report displays PL/SQL package procedures that are not wrapped.
Oracle provides a wrap utility that obfuscates code to the point where it cannot be read in the data dictionary or from the data dictionary views. This helps reduce the ability of an intruder to circumvent data protection by eliminating the ability to read source code that manipulates data.
The Username/Password Tables Report helps to identify application tables in the database that store user names and password strings.
You should examine these tables to determine if the information is encrypted. (Search for column names such as %USER%NAME%
or %PASSWORD%
.) If it is not, modify the code and applications using these tables to protect them from being visible to database sessions.
The Tablespace Quotas Report shows all database accounts that have quotas on one or more tablespaces.
These tablespaces can become potential targets for denial-of-service (DoS) attacks.
The Non-Owner Object Trigger Report lists triggers that are owned by a database account that is different from the account that owns the database object on which the trigger acts.
If the trigger is not part of a trusted database application, then it can steal sensitive data, possibly from tables protected through Oracle Label Security or Virtual Private Database (VPD), and place it into an unprotected table for subsequent viewing or export.