dbSecure_NAMESecure Configuration for Oracle Database racSecure_NAMESecure Configuration for Oracle Real Application Cluster dbSecure_DESCEnsures adherence with best-practice security configuration settings that help protect against database-related threats and attacks, providing a more secure operating environment for the Oracle database. dbSecure_SecurityKEYWORDSecurity PostInstallation_NAMEPost Installation PostInstallation_DESCContains rules that ensure default database server accounts are secure. The most trivial method by which a database can be compromised is having a default database server account left open that uses its default password. DefaultPwd_NAMEDefault Passwords Have Been Changed DefaultPwd_DESCEnsures the default passwords of administrative accounts have been changed. DefaultPwd_RATIONALESecurity is most easily broken when a default database user account still has a default password after installation. In any Oracle environment, assign strong, secure passwords to administrative accounts immediately upon successful installation of the database server. DefaultPwd_FIXChange the default password of the administrative user. DefaultAccountLockedAndExpired_NAMEDefault Accounts are Locked and Expired DefaultAccountLockedAndExpired_DESCEnsures the default administrative accounts are locked and expired. DefaultAccountLockedAndExpired_RATIONALEOracle Database installs with many default (present) database user accounts. Upon the successful creation of a database server instance, default database user accounts should be locked and expired. Left open in their default states, these user accounts can be exploited to gain unauthorized access to data or disrupt database operations. DefaultAccountLockedAndExpired_FIXLock and expire the default administrative account. OracleDirAndFilePerms_NAMEOracle Directory and File Permissions OracleDirAndFilePerms_DESCContains rules that ensure the permissions on the directories and files containing the Oracle software are sufficient. Access should be restricted, making it more difficult for an operating system user to attack the database. OracleDirAndFilePermsU_NAMEUnix Platform OracleDirAndFilePermsU_DESCContains rules that ensure the permissions on the directories and files containing the Oracle software are sufficient. AppropriateUMaskValue_NAMEAppropriate umask Value AppropriateUMaskValue_DESCEnsures the owner of the Oracle software has an appropriate umask value of 022 set. AppropriateUMaskValue_RATIONALEIf the umask value is not set to an appropriate value, such as 022, log and/or trace files might become generally accessible exposing sensitive information. AppropriateUMaskValue_FIXSet umask value to 022 for the owner of Oracle software. DbDatafilesU_NAMEDatabase Datafiles DbDatafilesU_DESCEnsures access to datafiles is restricted to the owner of the Oracle software and the DBA group. DbDatafilesU_RATIONALEAccess to datafiles should be restricted in order to prevent accidental and/or deliberate unauthorized attempts to access or alter that data. DbDatafilesU_FIXRestrict datafile permissions to the owner of the Oracle software and DBA group. Do not give world read and write permissions. IFileU_NAMEIFILE Referenced File (IFILE) IFileU_DESCEnsures access to files referenced by the IFILE database initialization parameter are restricted to the owner of the Oracle software and the DBA group. IFileU_RATIONALEThe IFILE database initialization parameter can be used to embed the contents of another initialization parameter file within the current initialization parameter file. Access to an initialization parameter file should be restricted in order to prevent exposing the security policies of the database as well as the weaknesses of the Oracle database configuration. IFileU_FIXRestrict permissions to the files referenced by the IFILE initialization parameter to the owner of the Oracle software and DBA group. Do not give world read or write permissions. AuditFileDestU_NAMEAudit File Destination (AUDIT_FILE_DEST) AuditFileDestU_DESCEnsures access to directory referenced by the AUDIT_FILE_DEST database initialization parameter is restricted to the owner of the Oracle software and the DBA group. AuditFileDestU_RATIONALEThe AUDIT_FILE_DEST database initialization parameter specifies the operating system directory into which some audit data is written whether or not database auditing has been enabled. Access to audit files should be restricted in order to prevent exposing sensitive information such as logging information related to database startup and shutdown, as well as privileged connections. AuditFileDestU_FIXRestrict permissions to the directory referenced by the AUDIT_FILE_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give world read or write permissions. UserDumpDestU_NAMEUser Dump Destination (USER_DUMP_DEST) UserDumpDestU_DESCEnsures access to directory referenced by the USER_DUMP_DEST database initialization parameter is restricted to the owner of the Oracle software and the DBA group. UserDumpDestU_RATIONALEThe USER_DUMP_DEST database initialization parameter specifies the directory where the server will write debugging trace files on behalf of a user process. Access to these debugging trace files should be restricted in order to prevent exposing sensitive information regarding the database as well as the applications running on it. UserDumpDestU_FIXRestrict permissions to the directory referenced by the USER_DUMP_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give world read or write permissions. BackgroundDumpDestU_NAMEBackground Dump Destination (BACKGROUND_DUMP_DEST) BackgroundDumpDestU_DESCEnsures access to directory referenced by the BACKGROUND_DUMP_DEST database initialization parameter is restricted to the owner of the Oracle software and the DBA group. BackgroundDumpDestU_RATIONALEThe BACKGROUND_DUMP_DEST database initialization parameter specifies the directory where the server will write debugging trace files for the background processes (LGWR, DBWn, and so on) are written during Oracle operations. Access to these debugging trace files should be restricted in order to prevent exposing sensitive information regarding the database as well as the applications running on it. BackgroundDumpDestU_FIXRestrict permissions to the directory referenced by the BACKGROUND_DUMP_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give world read or write permissions. CoreDumpDestU_NAMECore Dump Destination (CORE_DUMP_DEST) CoreDumpDestU_DESCEnsures access to directory referenced by the CORE_DUMP_DEST database initialization parameter is restricted to the owner of the Oracle software and the DBA group. CoreDumpDestU_RATIONALEThe CORE_DUMP_DEST database initialization parameter specifies the directory where the server will write core dump files. Access to these core dump files should be restricted in order to prevent exposing sensitive information regarding the database as well as the applications running on it. CoreDumpDestU_FIXRestrict permissions to the directory referenced by the CORE_DUMP_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give world read or write permissions. ControlFilesU_NAMEControl Files (CONTROL_FILES) ControlFilesU_DESCEnsures access to directory referenced by the CONTROL_FILES database initialization parameter is restricted to the owner of the Oracle software and the DBA group. ControlFilesU_RATIONALEAccess to control files should be restricted in order to prevent exposing sensitive information regarding the database and its data. ControlFilesU_FIXRestrict permissions to the files referenced by the CONTROL_FILES initialization parameter to the owner of the Oracle software and DBA group. Do not give world read or write permissions. OHExecutablesU_NAMEOracle Home Executables OHExecutablesU_DESCEnsures access to files in the ORACLE_HOME/bin directory is restricted. OHExecutablesU_RATIONALEWhen access control permissions are too lax, opportunities for unauthorized exploitation as well as accidental or deliberate misuse arise. OHExecutablesU_FIXRestrict permissions to all files in the ORACLE_HOME/bin directory to the owner of the Oracle software and DBA group. Do not give group or world write permission. In other words, permissions should be set to 0755 or less. OHNonExecutablesU_NAMEOracle Home Non-Executables OHNonExecutablesU_DESCEnsures access to files in the ORACLE_HOME directories, except for ORACLE_HOME/bin, is restricted. OHNonExecutablesU_RATIONALEAccess to these files should be restricted. When access control permissions are too lax, opportunities for unauthorized exploitation as well as accidental or deliberate misuse arise. OHNonExecutablesU_FIXRestrict permissions to all files in the ORACLE_HOME directories, except for ORACLE_HOME/bin, to the owner of the Oracle software and DBA group. Do not give group write permission nor world read, write or execute permission. In other words, permissions should be set to 0750 or less. OracleDirAndFilePermsW_NAMEWindows Platform OracleDirAndFilePermsW_DESCContains rules that ensure the permissions on the directories and files containing the Oracle software are sufficient. DbDatafilesW_NAMEDatabase Datafiles DbDatafilesW_DESCEnsures access to datafiles is restricted to the owner of the Oracle software. DbDatafilesW_RATIONALEAccess to datafiles should be restricted in order to prevent accidental and/or deliberate unauthorized attempts to access or alter that data. DbDatafilesW_FIXRestrict datafile permissions to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. IFileW_NAMEIFILE Referenced File (IFILE) IFileW_DESCEnsures access to files referenced by the IFILE database initialization parameter are restricted to the owner of the Oracle software. IFileW_RATIONALEThe IFILE database initialization parameter can be used to embed the contents of another initialization parameter file within the current initialization parameter file. Access to an initialization parameter file should be restricted in order to prevent exposing the security policies of the database as well as the weaknesses of the Oracle database configuration. IFileW_FIXRestrict permissions to the files referenced by the IFILE initialization parameter to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. AuditFileDestW_NAMEAudit File Destination (AUDIT_FILE_DEST) AuditFileDestW_DESCEnsures access to directory referenced by the AUDIT_FILE_DEST database initialization parameter is restricted to the owner of the Oracle software. AuditFileDestW_RATIONALEThe AUDIT_FILE_DEST database initialization parameter specifies the operating system directory into which the audit trail is written when database auditing has been enabled. Access to audit files should be restricted in order to prevent exposing sensitive information such as logging information related to database startup and shutdown as well as privileged connections. AuditFileDestW_FIXRestrict permissions to the directory referenced by the AUDIT_FILE_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. UserDumpDestW_NAMEUser Dump Destination (USER_DUMP_DEST) UserDumpDestW_DESCEnsures access to directory referenced by the USER_DUMP_DEST database initialization parameter is restricted to the owner of the Oracle software. UserDumpDestW_RATIONALEThe USER_DUMP_DEST database initialization parameter specifies the directory where the server will write debugging trace files on behalf of a user process. Access to these debugging trace files should be restricted in order to prevent exposing sensitive information regarding the database as well as the applications running on it. UserDumpDestW_FIXRestrict permissions to the directory referenced by the USER_DUMP_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. BackgroundDumpDestW_NAMEBackground Dump Destination (BACKGROUND_DUMP_DEST) BackgroundDumpDestW_DESCEnsures access to directory referenced by the BACKGROUND_DUMP_DEST database initialization parameter is restricted to the owner of the Oracle software. BackgroundDumpDestW_RATIONALEThe BACKGROUND_DUMP_DEST database initialization parameter specifies the directory where the server will write debugging trace files for the background processes (LGWR, DBWn, and so on) are written during Oracle operations. Access to these debugging trace files should be restricted in order to prevent exposing sensitive information regarding the database as well as the applications running on it. BackgroundDumpDestW_FIXRestrict permissions to the directory referenced by the BACKGROUND_DUMP_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. CoreDumpDestW_NAMECore Dump Destination (CORE_DUMP_DEST) CoreDumpDestW_DESCEnsures access to directory referenced by the CORE_DUMP_DEST database initialization parameter is restricted to the owner of the Oracle software. CoreDumpDestW_RATIONALEThe CORE_DUMP_DEST database initialization parameter specifies the directory where the server will write core dump files. Access to these core dump files should be restricted in order to prevent exposing sensitive information regarding the database as well as the applications running on it. CoreDumpDestW_FIXRestrict permissions to the directory referenced by the CORE_DUMP_DEST initialization parameter to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. ControlFilesW_NAMEControl Files (CONTROL_FILES) ControlFilesW_DESCEnsures access to directory referenced by the CONTROL_FILES database initialization parameter is restricted to the owner of the Oracle software. ControlFilesW_RATIONALEAccess to control files should be restricted in order to prevent exposing sensitive information regarding the database and its data. ControlFilesW_FIXRestrict permissions to the files referenced by the CONTROL_FILES initialization parameter to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. OHExecutablesW_NAMEOracle Home Executables OHExecutablesW_DESCEnsures access to files in the ORACLE_HOME/bin directory is restricted. OHExecutablesW_RATIONALEAccess to these executables should be restricted. When access control permissions are too lax, opportunities for unauthorized exploitation as well as accidental or deliberate misuse arise. OHExecutablesW_FIXRestrict permissions to all files in the ORACLE_HOME/bin directory to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. OHNonExecutablesW_NAMEOracle Home Non-Executables OHNonExecutablesW_DESCEnsures access to files in the ORACLE_HOME directories, except for ORACLE_HOME/bin, is restricted. OHNonExecutablesW_RATIONALEAccess to these files should be restricted. When access control permissions are too lax, opportunities for unauthorized exploitation as well as accidental or deliberate misuse arise. OHNonExecutablesW_FIXRestrict permissions to all files in the ORACLE_HOME directories, except for ORACLE_HOME/bin, to the owner of the Oracle software and DBA group. Do not give any of the following permissions to any other users or user groups: DELETE, WRITE_DAC, WRITE_OWNER, CHANGE, ADD, or FULL. OHExecutablesOracleOwned_NAMEOracle Home Executable Files Owned by Oracle OHExecutablesOracleOwned_DESCEnsures ownership of all files in the ORACLE_HOME/bin directory is the same as the owner of the Oracle software installation. OHExecutablesOracleOwned_RATIONALEAccess to these executables should be restricted. When access control permissions are too lax, opportunities for unauthorized exploitation as well as accidental or deliberate misuse arise. OHExecutablesOracleOwned_FIXChange the owner of files in the ORACLE_HOME/bin directory to be the same as the owner of the Oracle software installation. OracleParamSettings_NAMEOracle Parameter Settings OracleParamSettings_DESCContains rules that ensure database initialization parameter settings are secure. AccessToTraceFileDisabled_NAMEAccess to Trace Files Disabled (_TRACE_FILES_PUBLIC) AccessToTraceFileDisabled_DESCEnsures database trace files are not readable by users. AccessToTraceFileDisabled_RATIONALEThe _TRACE_FILES_PUBLIC parameter indicates whether or not debugging trace files generated by Oracle in the directory specified by the USER_DUMP_DEST parameter are readable to everyone. Access to these debugging trace files should be restricted in order to prevent exposing sensitive information regarding the database as well as the applications running on it. AccessToTraceFileDisabled_FIXSet _TRACE_FILES_PUBLIC to FALSE. RemoteOSRolesDisabled_NAMERemote OS Roles Disabled (REMOTE_OS_ROLES) RemoteOSRolesDisabled_DESCEnsures remote OS roles are disabled; that is, the database has not been configured to enable roles based on remote operating system user group membership. RemoteOSRolesDisabled_RATIONALEThe REMOTE_OS_ROLES parameter specifies whether operating system roles are allowed for remote clients. If users connect to the database over Oracle Net, and their roles are not authenticated by Oracle, the remote user could impersonate another operating system user over a network connection. Allowing users to remotely authenticate is a bad security practice in itself. Adding the ability to assume operating system roles for these accounts makes the situation even more insecure. RemoteOSRolesDisabled_FIXSet REMOTE_OS_ROLES to FALSE to help enforce server-based authentication of clients connecting to the Oracle database. RemoteOSAuthenticationDisabled_NAMERemote OS Authentication Disabled (REMOTE_OS_AUTHENT) RemoteOSAuthenticationDisabled_DESCEnsures remote OS authentication is disabled. RemoteOSAuthenticationDisabled_RATIONALESetting the REMOTE_OS_AUTHENT parameter to TRUE forces Oracle to accept a client operating system user name received over a non-secure connection and use it for account access. Since clients, such as PCs, are not trusted to perform operating system authentication properly, it is a very poor security practice to turn on this feature. RemoteOSAuthenticationDisabled_FIXSet REMOTE_OS_AUTHENT to FALSE to help enforce server-based authentication of clients connecting to the Oracle database. RemoteLsnrInstancesDisabled_NAMEUse of Remote Listener Instances Disabled (REMOTE_LISTENER) RemoteLsnrInstancesDisabled_DESCEnsures the use of listener instances on a remote machine separate from the database instance is disabled. RemoteLsnrInstancesDisabled_RATIONALEThe REMOTE_LISTENER parameter can be used to allow a listener on a remote machine to access the database. You should prevent the use of a listener on a remote machine. RemoteLsnrInstancesDisabled_FIXSet REMOTE_LISTENER to "" (null string). Note, this parameter is not applicable in a multi-master replication or RAC environment where this setting provides a load balancing mechanism for the listener. DbAuditingEnabled_NAMEDatabase Auditing Enabled (AUDIT_TRAIL) DbAuditingEnabled_DESCEnsures database auditing is enabled. DbAuditingEnabled_RATIONALEThe AUDIT_TRAIL parameter enables or disables database auditing. Auditing is always about accountability, and is frequently done to protect and preserve privacy for the information stored in databases. Auditing also enables system administrators to implement enhanced protections, early detection of suspicious activities, and finely-tuned security responses. DbAuditingEnabled_FIXSet AUDIT_TRAIL to either DB, default, or OS. Database-stored audit records can be easier to review and manage than OS-stored audit records. However, audit records stored in operating system files can be protected from DBAs via appropriate file permissions, and will remain available even if the database is temporarily inaccessible. DbAuditingEnabled_WARNINGAlthough auditing is relatively inexpensive, limit the number of audited events as far as possible. Doing so minimizes the performance impact on the execution of audited statements and the size of the audit trail, making it easier to analyze and understand. SecureOSAuthenticationPrefix_NAMESecure OS Authentication Prefix (OS_AUTHENT_PREFIX) SecureOSAuthenticationPrefix_DESCEnsures that the OS authentication prefix is set to a value other than OPS$. SecureOSAuthenticationPrefix_RATIONALEThe OS_AUTHENT_PREFIX parameter specifies a prefix used to authenticate users attempting to connect to the server. When a connection request is attempted, Oracle compares the prefixed username with usernames in the database. Using the OPS$ prefix tends to result in an insecure configuration because an account can be authenticated either as an operating system user or with the password used in the IDENTIFIED BY clause. Attackers are aware of this and will attack these accounts. SecureOSAuthenticationPrefix_FIXSet OS_AUTHENT_PREFIX to a value other than OPS$. AccessToDataDictionaryProtected_NAMEAccess to Data Dictionary Protected (07_DICTIONARY_ACCESSIBILITY) AccessToDataDictionaryProtected_DESCEnsures data dictionary protection is enabled. AccessToDataDictionaryProtected_RATIONALESetting the 07_DICTIONARY_ACCESSIBILITY to TRUE allows users with ANY system privileges to access the data dictionary. As a result, these user accounts can be exploited to gain unauthorized access to data. Instead the data dictionary should be protected such that only those authorized users making DBA-privileged connections can use the ANY system privilege to access the data dictionary. AccessToDataDictionaryProtected_FIXSet 07_DICTIONARY_ACCESSIBILITY to FALSE. If a user needs view access to the data dictionary, then it is permissible to grant that user the SELECT ANY DICTIONARY system privilege. AuditingSysOperationsEnabled_NAMEAuditing of SYS Operations Enabled (AUDIT_SYS_OPERATIONS) AuditingSysOperationsEnabled_DESCEnsures sessions for users who connect as SYS are fully audited. AuditingSysOperationsEnabled_RATIONALEThe AUDIT_SYS_OPERATIONS parameter enables or disables the auditing of operations issued by user SYS, and users connecting with SYSDBA or SYSOPER privileges. Since these are highly privileged users, auditing can be especially important. AuditingSysOperationsEnabled_FIXSet AUDIT_SYS_OPERATIONS to TRUE. AuditingSysOperationsEnabled_WARNINGSome operations (e.g. export) may involve substantial actions by privileged users, resulting in substantial unnecessary audit data. You may choose to set this parameter to FALSE in these situations to avoid overload of the SYSTEM tablespace, which contains the audit records. DbPwdProfileSettings_NAMEDatabase Password Profile Settings DbPwdProfileSettings_DESCContains rules that ensure database profile settings correctly defined. Oracle password management is controlled through the use of user profiles which are then assigned to database users, enabling greater control over database security. SecureFailedLoginAttemptsSetting_NAMESecure Failed Login Attempts Setting SecureFailedLoginAttemptsSetting_DESCEnsures profiles have FAILED_LOGIN_ATTEMPTS set to a reasonable number of failed attempts. SecureFailedLoginAttemptsSetting_RATIONALEThe FAILED_LOGIN_ATTEMPTS parameter defines the number of successive failed login attempts that can be performed before an account's status is changed to locked. This protects against attackers attempting to guess a password for an account. If this parameter is set low enough, the effectiveness of password attacks on the database can be eliminated. SecureFailedLoginAttemptsSetting_FIXSet FAILED_LOGIN_ATTEMPTS a value less than or equal to 10. SecurePwdLifeTimeSetting_NAMESecure Password Life Time Setting SecurePwdLifeTimeSetting_DESCEnsures profiles have PASSWORD_LIFE_TIME set to a reasonable number of days. SecurePwdLifeTimeSetting_RATIONALEThe PASSWORD_LIFE_TIME parameter defines the maximum lifetime for passwords. Changing passwords on a regular basis is an accepted security practice for mitigating the threat that a password may have been compromised. If this parameter is set too high or is not set at all, old passwords may be compromised and remain in use for an extended period of time. SecurePwdLifeTimeSetting_FIXSet PASSWORD_LIFE_TIME to a value such as 180 days. This requires password to be changed frequently enough without overloading the users with having to pick new passwords frequently. If set too low, the user is forced to update their password so frequently that they need to choose low quality passwords in order to be able to remember them. SecurePwdLockTimeSetting_NAMESecure Password Lock Time Setting SecurePwdLockTimeSetting_DESCEnsures profiles have PASSWORD_LOCK_TIME set to a reasonable number of days. SecurePwdLockTimeSetting_RATIONALEThe PASSWORD_LOCK_TIME parameter defines the number of days an account will remain locked after the maximum number of failed login attempts has been reached. Specifying a large value increases the likelihood of Denial of Service attacks. Specifying a zero (0) removes any penalty for repeated bad password guesses. SecurePwdLockTimeSetting_FIXSet PASSWORD_LOCK_TIME to a value greater than or equal to 1. SecurePwdGraceTimeSetting_NAMESecure Password Grace Time Setting SecurePwdGraceTimeSetting_DESCEnsures profiles have PASSWORD_GRACE_TIME set to a reasonable number of days. SecurePwdGraceTimeSetting_RATIONALEThe PASSWORD_GRACE_TIME parameter defines the number of days after a password expires in which the user is not required to change the password. During the grace period, the user is prompted for a new password each time an attempt is made to access their accounts. If this parameter is set too high, password expiration can be ignored. SecurePwdGraceTimeSetting_FIXSet PASSWORD_GRACE_TIME to a value less than or equal to 7. PwdComplexityCheckingEnabled_NAMEPassword Complexity Checking Enabled PwdComplexityCheckingEnabled_DESCEnsures profiles have PASSWORD_VERIFY_FUNCTION defined. PwdComplexityCheckingEnabled_RATIONALEThe PASSWORD_VERIFY_FUNCTION defines the function that will be used to validate the strength of the password. By setting a function to validate password strength, you can ensure that strong passwords are being used. PwdComplexityCheckingEnabled_FIXSpecify a password verification function, by using the PASSWORD_VERIFY_FUNCTION parameter. DbAccessSettings_NAMEDatabase Access Settings DbAccessSettings_DESCContains rules that ensure data security. That is, access to and use of the database at the object level is restricted such that users are only given those privileges that are actually required to efficiently perform their jobs. Views_NAMEViews Views_DESCContains rules that ensure privileges on views are restricted. DBARoles_NAMERestricted Access to DBA_ROLES DBARoles_DESCEnsures restricted access to DBA_ROLES. DBARoles_RATIONALEThe DBA_ROLES view contains details of all roles in the database. Knowledge of the structure of roles in the database can be taken advantage of by a malicious user. Access to DBA_ROLES should be restricted. DBARoles_FIXRevoke access to DBA_ROLES from all users other than SYS or DBA accounts. DBASysPrivs_NAMERestricted Access to DBA_SYS_PRIVS DBASysPrivs_DESCEnsures restricted access to DBA_SYS_PRIVS. DBASysPrivs_RATIONALEThe DBA_SYS_PRIVS view contains details of system privileges granted to roles and users. Knowledge of the system privileges can be taken advantage of by a malicious user. Access to DBA_SYS_PRIVS should be restricted. DBASysPrivs_FIXRevoke access to DBA_SYS_PRIVS from all users other than SYS or DBA accounts. DBARolePrivs_NAMERestricted Access to DBA_ROLE_PRIVS DBARolePrivs_DESCEnsures restricted access to DBA_ROLE_PRIVS. DBARolePrivs_RATIONALEThe DBA_ROLE_PRIVS view contains details of all roles granted to users and other roles. Knowledge of the structure of roles in the database can be taken advantage of by a malicious user. Access to DBA_ROLE_PRIVS should be restricted. DBARolePrivs_FIXRevoke access to DBA_ROLE_PRIVS from all users other than SYS or DBA accounts. DBATabPrivs_NAMERestricted Access to DBA_TAB_PRIVS DBATabPrivs_DESCEnsures restricted access to DBA_TAB_PRIVS. DBATabPrivs_RATIONALEThe DBA_TAB_PRIVS view contains details of all grants on all objects in the database. Knowledge of who is granted what object privileges in the database can be taken advantage of by a malicious user. Access to DBA_TAB_PRIVS should be restricted. DBATabPrivs_FIXRevoke access to DBA_TAB_PRIVS from all users other than SYS or DBA accounts. DBAUsers_NAMERestricted Access to DBA_USERS DBAUsers_DESCEnsures restricted access to DBA_USERS. DBAUsers_RATIONALEThe DBA_USERS view describes all users in the database including password hashes and other account information. Knowledge of this type of information can be taken advantage of by a malicious user. Access to DBA_USERS should be restricted. DBAUsers_FIXRevoke access to DBA_USERS from all users other than SYS or DBA accounts. Tables_NAMETables Tables_DESCContains rules that ensure privileges on tables are restricted. SYSAud_NAMERestricted Access to SYS.AUD$ SYSAud_DESCEnsures restricted access to SYS.AUD$. SYSAud_RATIONALEWhen database auditing is enabled and is using a database audit trail (AUDIT_TRAIL set to DB), the database directs audit records to a single table named SYS.AUD$. When auditing for suspicious database activity, the audit trail must be protected so audit information cannot be added, changed or deleted without being audited. Access to SYS.AUD$ should be restricted in order to prevent accidental and/or deliberate unauthorized attempts to access or alter that data. SYSAud_FIXRevoke access to SYS.AUD$ from all users other than SYS or DBA accounts. SYSUserHistory_NAMERestricted Access to SYS.USER_HISTORY$ SYSUserHistory_DESCEnsures restricted access to SYS.USER_HISTORY$. SYSUserHistory_RATIONALEThe SYS.USER_HISTORY$ table 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. Access to SYS.USER_HISTORY$ should be restricted. SYSUserHistory_FIXRevoke access to SYS.USER_HISTORY$ from all users other than SYS or DBA accounts. SYSUser_NAMERestricted Access to SYS.USER$ SYSUser_DESCEnsures restricted access to SYS.USER$. SYSUser_RATIONALEThe SYS.USER$ table stores usernames, hashed passwords and other database account information. Access to this table can make it easier for someone hacking the database. Access to SYS.USER$ should be restricted. SYSUser_FIXRevoke access to SYS.USER$ from all users other than SYS or DBA accounts. SYSSource_NAMERestricted Access to SYS.SOURCE$ SYSSource_DESCEnsures restricted access to SYS.SOURCE$. SYSSource_RATIONALEThe SYS.SOURCE$ table stores all source code stored in the database. Access to this table can make it easier for someone hacking the database. Access to SYS.SOURCE$ should be restricted. SYSSource_FIXRevoke access to SYS.SOURCE$ from all users other than SYS or DBA accounts. PERFSTATStatsSqlText_NAMERestricted Access to PERFSTAT.STATS$SQLTEXT PERFSTATStatsSqlText_DESCEnsures restricted access to PERFSTAT.STATS$SQLTEXT. PERFSTATStatsSqlText_RATIONALEThe PERFSTAT.STATS$SQLTEXT table provides full text for recently executed SQL statements. Access to this table can make it easier for someone hacking the database. Access to PERFSTAT.STATS$SQLTEXT should be restricted. PERFSTATStatsSqlText_FIXRevoke access to PERFSTAT.STATS$SQLTEXT from all users other than SYS or DBA accounts. PERFSTATStatsSqlSummary_NAMERestricted Access to PERFSTAT.STATS$SQL_SUMMARY PERFSTATStatsSqlSummary_DESCEnsures restricted access to PERFSTAT.STATS$SQL_SUMMARY. PERFSTATStatsSqlSummary_RATIONALEThe PERFSTAT.STATS$SQL_SUMMARY table contains the first few lines of SQL text of the most resource intensive commands recently executed. Access to this table can make it easier for someone hacking the database. Access to PERFSTAT.STATS$SQL_SUMMARY should be restricted. PERFSTATStatsSqlSummary_FIXRevoke access to PERFSTAT.STATS$SQL_SUMMARY from all users other than SYS or DBA accounts. Packages_NAMEPackages Packages_DESCContains rules that ensure privileges on packages are restricted. UtlFile_NAMERestricted Privilege to Execute UTL_FILE UtlFile_DESCEnsures permission to execute the UTL_FILE package has not been granted to the PUBLIC role. UtlFile_RATIONALEThe UTL_FILE package allows PL/SQL to read from and write to files on the operating system. This feature though very useful, can also be can be used to break into a database, gain elevated privileges, or corrupt a database. Having access to this powerful package through the PUBLIC role is a security risk as any database user can exercise privileges granted to PUBLIC. Access to this package should be restricted. UtlFile_FIXGrant privileges to execute the UTL_FILE package only to those specific accounts that need to execute the package. UtlTcp_NAMERestricted Privilege to Execute UTL_TCP UtlTcp_DESCEnsures permission to execute the UTL_TCP package has not been granted to the PUBLIC role. UtlTcp_RATIONALEThe UTL_TCP package permits outgoing network connections to be established by the database to any receiving network service. Thus, arbitrary data may be sent between the database and any waiting network service. UtlTcp_FIXGrant privileges to execute the UTL_TCP package only to those specific accounts that need to execute the package. UtlHttp_NAMERestricted Privilege to Execute UTL_HTTP UtlHttp_DESCEnsures permission to execute the UTL_HTTP package has not been granted to the PUBLIC role. UtlHttp_RATIONALEThe UTL_HTTP package allows HTTP requests and responses to be sent from within PL/SQL. Granting this package to PUBLIC may permit using HTML forms to send data to a malicious Web site. UtlHttp_FIXGrant privileges to execute the UTL_HTTP package only to those specific accounts that need to execute the package. UtlSmtp_NAMERestricted Privilege to Execute UTL_SMTP UtlSmtp_DESCEnsures permission to execute the UTL_SMTP package has not been granted to the PUBLIC role. UtlSmtp_RATIONALEThe UTL_SMTP package allows a database user to send or receive email using PL/SQL. Granting this package to PUBLIC may permit unauthorized exchange of mail messages. UtlSmtp_FIXGrant privileges to execute the UTL_SMTP package only to those specific accounts that need to execute the package. DbmsJob_NAMERestricted Privilege to Execute DBMS_JOB DbmsJob_DESCEnsures permission to execute the DBMS_JOB package has not been granted to the PUBLIC role. DbmsJob_RATIONALEThe DBMS_JOB package allows users to schedule administrative procedures to be performed at periodic intervals. It is also the interface for the job queue. While not strictly a security risk, there is no valid reason to grant execute on this package to PUBLIC. DbmsJob_FIXGrant privileges to execute the DBMS_JOB package only to those specific accounts that need to execute the package. DbmsSysSql_NAMERestricted Privilege to Execute DBMS_SYS_SQL DbmsSysSql_DESCEnsures permission to execute the DBMS_SYS_SQL package has not been granted to the PUBLIC role. DbmsSysSql_RATIONALEThe undocumented DBMS_SYS_SQL package allows users to execute PL/SQL and SQL as the owner of the procedure rather than the caller. Access to this package should be restricted. DbmsSysSql_FIXGrant privileges to execute the DBMS_SYS_SQL package only to those specific accounts that need to execute the package.