Oracle 10 Database Instance STIG

  • Version/Release: V8R1.10
  • Published: 2014-01-14
  • Expand All:
  • Severity:
  • Sort:
Compare

Select any two versions of this STIG to compare the individual requirements

View

Select any old version/release of this STIG to view the previous requirements

This STIG includes the Database Instance checks for an Oracle 10g Database.
b
All database non-interactive, n-tier connection, and shared accounts that exist should be documented and approved by the IAO.
Medium - V-2424 - SV-24631r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0060-ORACLE10
Vuln IDs
  • V-2424
Rule IDs
  • SV-24631r1_rule
Group authentication does not provide individual accountability for actions taken on the DBMS or data. Whenever a single database account is used to connect to the database, a secondary authentication method that provides individual account ability is required. This scenario most frequently occurs when an externally hosted application authenticates individual users to the application and the application uses a single account to retrieve or update database information on behalf of the individual users.Database AdministratorInformation Assurance OfficerIAGA-1
Checks: C-29158r1_chk

From SQL*Plus: select username from dba_users order by username; Review the list of database account names to determine usage of all non-standard account names or account names that do not appear to be assigned to individuals. For example, accounts named BATCHJOB, FMAPP, FMAPP-ADMIN do not have the appearance of assignment to an individual interactive user. An account name like JDOE appears to be assigned to an individual. Review the list of account names against those listed in the System Security Plan or authorized user list. Consult the IAO or DBA to make a final determination on whether accounts are shared accounts or not. If shared accounts are not documented as such and are not approved, this is a Finding.

Fix: F-26169r1_fix

Use accounts assigned to individual users where feasible. Design applications to provide individual accountability (audit logs) for actions performed under a single database account. Implement other DBMS automated procedures that provide individual accountability. Where appropriate, implement manual procedures to use manual logs and monitor entries against account usage to ensure procedures are followed.

b
Audit trail data should be retained for one year.
Medium - V-2507 - SV-24367r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0030-ORACLE10
Vuln IDs
  • V-2507
Rule IDs
  • SV-24367r1_rule
Without preservation, a complete discovery of an attack or suspicious activity may not be determined. DBMS audit data also contributes to the complete investigation of unauthorized activity and needs to be included in audit retention plans and procedures.Database AdministratorECRR-1
Checks: C-943r1_chk

Review and verify the implementation of an audit trail retention policy. Verify that audit data is maintained for a minimum of one year. If audit data is not maintained for a minimum of one year, this is a Finding.

Fix: F-23728r1_fix

Develop, document and implement an audit retention policy and procedures. It is recommended that the most recent thirty days of audit logs remain available online. After thirty days, the audit logs may be maintained offline. Online maintenance provides for a more timely capability and inclination to investigate suspicious activity.

b
Unauthorized user accounts should not exist.
Medium - V-2508 - SV-24646r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0070-ORACLE10
Vuln IDs
  • V-2508
Rule IDs
  • SV-24646r1_rule
Unauthorized user accounts provide unauthorized access to the database and may allow access to database objects. Only authorized users should be granted database accounts.Database AdministratorIAAC-1
Checks: C-29170r1_chk

Review procedures for ensuring authorization of new or re-assigned DBMS user accounts. Requests for user account access to the DBMS should include documented approval by an authorized requestor. Procedures should also include notification for a change in status, particularly cause for revocation of account access, to any DBMS accounts. Review the user accounts listed either in the script report or manually against the authorized user list. From SQL*Plus: select username from dba_users order by username; If procedures for DBMS user account authorization are incomplete or not implemented, this is a Finding. If any accounts listed are not clearly authorized, this is a Finding.

Fix: F-26182r1_fix

Develop, document and implement procedures for authorizing creation, changes and deletions of user accounts. Monitor user accounts to verify that they remain authorized.

b
Access to the Oracle SYS and SYSTEM accounts should be restricted to authorized DBAs.
Medium - V-2511 - SV-24849r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0140-ORACLE10
Vuln IDs
  • V-2511
Rule IDs
  • SV-24849r1_rule
The Oracle SYS account has all database privileges assigned to it (SYSDBA). This account is used to manage the database availability status (startup and shutdown). The SYS account is used by any DBMS account that connects to the database with SYSDBA privileges. Direct use of the SYS account does not provide a level of individual accountability for actions taken during its use and does not provide individual accountability. To preserve accountability, direct access to the SYS account should be logged manually and its use monitored closely.Database AdministratorInformation Assurance OfficerIAGA-1
Checks: C-29408r1_chk

Review the policy and procedures for use of the Oracle default accounts including direct use of the Oracle SYS and SYSTEM accounts with the IAO and DBA. If a policy does not exist for their use, this is a Finding. If procedures, automated or manual, for logging default account use are not defined or implemented, this is a Finding. If monitoring use of default accounts do not exist or is not implemented, this is a Finding.

Fix: F-26435r1_fix

Design, document and implement policy and procedures for use, logging and monitoring of Oracle default accounts in the System Security Plan. Ensure those granted access to the accounts are aware of the accounts and the policies and procedures for them.

b
The audit table should be owned by SYS or SYSTEM.
Medium - V-2515 - SV-24858r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0190-ORACLE10
Vuln IDs
  • V-2515
Rule IDs
  • SV-24858r1_rule
Audit data is frequently targeted by malicious users as it can provide a means to detect their activity. The protection of the audit trail data is of special concern and requires restrictions to allow only the auditor and DBMS backup, recovery, and maintenance users access to it.Database AdministratorECTP-1
Checks:

Fix: F-26443r1_fix

Change the owner of the $AUD table to SYS or SYSTEM account. OR Recreate the audit table while logged in as SYS or SYSTEM.

b
Access to default accounts used to support replication should be restricted to authorized DBAs.
Medium - V-2516 - SV-24861r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0210-ORACLE10
Vuln IDs
  • V-2516
Rule IDs
  • SV-24861r1_rule
Replication database accounts are used for database connections between databases. Replication requires the configuration of these accounts using the same username and password on all databases participating in the replication. Replication connections use fixed user database links. This means that access to the replication account on one server provides access to the other servers participating in the replication. Granting unauthorized access to the replication account provides unauthorized and privileged access to all databases participating in the replication group.Database AdministratorInformation Assurance OfficerIAGA-1
Checks: C-29419r1_chk

From SQL*Plus: select 'The number of replication objects defined is: '|| count(*) from all_tables where table_name like 'REPCAT%'; If the count returned is 0, then Oracle Replication is not installed and this check is Not a Finding. Otherwise: From SQL*Plus: select count(*) from sys.dba_repcatlog; If the count returned is 0, then Oracle Replication is not in use and this check is Not a Finding. If any results are returned, ask the IAO or DBA if the replication account (the default is REPADMIN, but may be customized) is restricted to IAO-authorized personnel only. If it is not, this is a Finding. If there are multiple replication accounts, confirm that all are justified and documented with the IAO. If they are not, this is a Finding.

Fix: F-26446r1_fix

Change the password for default and custom replication accounts and provide the password to IAO-authorized users only.

b
Oracle instance names should not contain Oracle version numbers.
Medium - V-2517 - SV-24864r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0220-ORACLE10
Vuln IDs
  • V-2517
Rule IDs
  • SV-24864r1_rule
Service names may be discovered by unauthenticated users. If the service name includes version numbers or other database product information, a malicious user may use that information to develop a targeted attack.Database AdministratorECAN-1
Checks: C-29421r1_chk

From SQL*Plus: select instance_name from v$instance; select version from v$instance; If the instance name returned references the Oracle release number, this is a Finding. Numbers used that include version numbers by coincidence are not a Finding. The DBA should be able to relate the significance of the presence of a digit in the SID.

Fix: F-26448r1_fix

Follow the instructions in Oracle MetaLink Note 15390.1 (and related documents) to change the SID for the database without re-creating the database to a value that does not identify the Oracle version.

a
The Oracle OS_ROLES parameter should be set to FALSE.
Low - V-2519 - SV-24880r1_rule
RMF Control
Severity
Low
CCI
Version
DO0240-ORACLE10
Vuln IDs
  • V-2519
Rule IDs
  • SV-24880r1_rule
The OS_ROLES parameter specifies whether Oracle roles are defined and managed by the DBMS or by the host operating system. To maintain and support the separation of duties between host system administration and DBMS administration, the DBMS must be configured to use only roles defined and managed by the DBA. Separation of duties supports assignment of privileges by job function and supports accountability.Database AdministratorInformation Assurance OfficerDCSD-1
Checks:

Fix: F-26461r1_fix

From SQL*Plus: alter system set os_roles = FALSE scope = spfile; The above SQL*Plus command will set the parameter to take effect at next system startup.

b
Fixed user and public database links should be authorized for use.
Medium - V-2520 - SV-24518r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0250-ORACLE10
Vuln IDs
  • V-2520
Rule IDs
  • SV-24518r1_rule
Database links define connections that may be used by the local database to access remote Oracle databases. These links provide a means for a compromise to the local database to spread to remote databases in the distributed database environment. Limiting or eliminating use of database links where they are not required to support the operational system can help isolate compromises to the local or a limited number of databases.trueDatabase AdministratorDCFA-1
Checks:

Fix: F-26493r1_fix

Document all authorized connections from the database to remote databases in the System Security Plan. Remove all unauthorized remote database connection definitions from the database. From SQL*Plus: drop database link [link name]; OR drop public database link [link name]; Review remote database connection definitions periodically and confirm their use is still required and authorized.

b
A minimum of two Oracle control files should be defined and configured to be stored on separate, archived physical disks or archived directories on a RAID device.
Medium - V-2521 - SV-24886r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0260-ORACLE10
Vuln IDs
  • V-2521
Rule IDs
  • SV-24886r1_rule
Oracle control files are used to store information critical to Oracle database integrity. Oracle uses these files to maintain time synchronization of database files as well as at system startup to verify the validity of system data and log files. Loss of access to the control files can affect database availability, integrity and recovery.Database AdministratorCOBR-1
Checks: C-29438r1_chk

From SQL*Plus: select name from v$controlfile; DoD guidance recommends: 1. A minimum of two distinct control files for each Oracle Database Instance. 2a. Each control file is to be located on separate, archived physical storage devices OR 2b. Each control file is to be located on separate, archived directories within one or more RAID devices 3. The Logical Paths for each control file should differ at the highest level supported by your configuration, for example: UNIX /ora03/app/oracle/{SID}/control/control01.ctl /ora04/app/oracle/{SID}/control/control02.ctl Windows D:/oracle/{SID}/control/control01.ctl E:/oracle/{SID}/control/control02.ctl If this minimum listed above is not met, this is a Finding. Consult with the SA or DBA to determine that the mount points or partitions referenced in the file paths indicate separate physical disks or directories on RAID devices. NOTE: Distinct does not equal dedicated. You may share directory space with other Oracle database instances if present.

Fix: F-26496r1_fix

To prevent loss of service during disk failure, multiple copies of Oracle control files should be maintained on separate disks in archived directories or on separate, archived directories within one or more RAID devices. Adding or moving a control file requires careful planning and execution. Please consult and follow the instructions for creating control files in the Oracle Database Administrator's Guide, under Steps for Creating New Control Files.

b
A minimum of two Oracle redo log groups/files should be defined and configured to be stored on separate, archived physical disks or archived directories on a RAID device.
Medium - V-2522 - SV-24521r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0270-ORACLE10
Vuln IDs
  • V-2522
Rule IDs
  • SV-24521r1_rule
The Oracle redo log files store the detailed information on changes made to the database. This information is critical to database recovery in case of a database failure.Database AdministratorCOBR-1
Checks:

Fix: F-26499r1_fix

To define additional redo log file groups: From SQL*Plus (Example): alter database add logfile group 2 ('diska:log2.log' , 'diskb:log2.log') size 50K; To add additional redo log file [members] to an existing redo log file group: From SQL*Plus (Example): alter database add logfile member 'diskc:log2.log' to group 2; Replace diska, diskb, diskc with valid, different disk drive specifications. Replace log#.log file with valid or custom names for the log files.

b
The DBA role should not be granted to unauthorized user accounts.
Medium - V-2527 - SV-24548r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3440-ORACLE10
Vuln IDs
  • V-2527
Rule IDs
  • SV-24548r1_rule
The DBA role is very powerful and access to it should be restricted. Verify that any database account granted the DBA role is explicitly authorized by the IAO. In addition to full access to database objects, access to the DBA role by unauthorized accounts may provide full access to the server. Verify that individual DBA accounts are created for each DBA and that the DBA accounts are used only for DBA functions.trueInformation Assurance OfficerECLP-1
Checks:

Fix: F-26520r1_fix

Authorize and document all DBA role authorizations in the System Security Plan. Revoke DBA role membership from unauthorized accounts. Revoke DBA role membership from any accounts assigned to a developer job function on a shared production / development database.

a
The Oracle OS_AUTHENT_PREFIX parameter should be changed from the default value of OPS$.
Low - V-2531 - SV-24901r1_rule
RMF Control
Severity
Low
CCI
Version
DO3447-ORACLE10
Vuln IDs
  • V-2531
Rule IDs
  • SV-24901r1_rule
The OS_AUTHENT_PREFIX parameter defines the prefix for database account names to be identified EXTERNALLY by the operating system. When set to the special value of OPS$, accounts defined with the prefix of OPS$ may authenticate either with a password or with OS authentication. Use of more than one authentication method to access a single account results in a loss of accountability, that is, it is similar to a shared account. Setting this parameter to a value other than OPS$ prevents a shared usage of a single account.Database AdministratorInformation Assurance OfficerIAGA-1
Checks:

Fix: F-26522r1_fix

Specify an operating system authenticated username prefix other than OPS$. From SQL*Plus: alter system set os_authent_prefix = [prefix value] scope = spfile; Compliant selections for [prefix value] are: a null string ('') a text value other than 'OPS$' The above SQL*Plus command will set the parameter to take effect at next system startup.

b
The Oracle WITH GRANT OPTION privilege should not be granted to non-DBA or non-Application administrator user accounts.
Medium - V-2533 - SV-24904r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3451-ORACLE10
Vuln IDs
  • V-2533
Rule IDs
  • SV-24904r1_rule
An account permission to grant privileges within the database is an administrative function. Minimizing the number and privileges of administrative accounts reduces the chances of privileged account exploitation. Application user accounts should never require WITH GRANT OPTION privileges since, by definition, they require only privileges to execute procedures or view / edit data.Information Assurance OfficerECLP-1
Checks:

Fix: F-26524r1_fix

Revoke privileges granted the WITH GRANT OPTION from non-DBA and accounts that do not own application objects. Re-grant privileges without specifying WITH GRANT OPTION.

b
Execute permission should be revoked from PUBLIC for restricted Oracle packages.
Medium - V-2539 - SV-24907r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3475-ORACLE10
Vuln IDs
  • V-2539
Rule IDs
  • SV-24907r1_rule
Access to the following packages should be restricted to authorized accounts only. UTL_FILE: allows Oracle accounts to read and write files on the host operating system. UTL_SMTP: allows messages to be sent from an arbitrary user. UTL_TCP: allows arbitrary data to be sent from the database server. UTL_HTTP: allows the database server to send and receive data via HTTP. DBMS_RANDOM: allows encrypting of data without requiring safe management of encryption keys. DBMS_LOB: allows users access to files stored outside the database. DBMS_SQL: allows users to write dynamic SQL procedures. DBMS_SYS_SQL: allows users to execute SQL with DBA privileges. DBMS_JOB: allows users to submit jobs to the database job queue. DBMS_BACKUP_RESTORE: allows users to backup and restore database data. DBMS_OBFUSCATION_TOOLKIT: allows users access to encryption and decryption functions.Database AdministratorECLP-1
Checks:

Fix: F-22840r1_fix

Revoking all default installation privilege assignments from PUBLIC is not required at this time. However, execute permissions to the specified packages is required to be revoked from PUBLIC. Removal of these privileges from PUBLIC may result in invalid packages in version 10.1 and later of Oracle and an inability to execute default Oracle applications and utilities. To correct this problem, grant execute privileges on these packages directly to the SYSMAN, WKSYS, MDSYS and SYSTEM accounts as well as any other default Oracle database and custom application object owner accounts as necessary to support execution of applications/utilities installed with an Oracle Database Server. At a minimum, revoke the following: From SQL*Plus: revoke execute on UTL_FILE from PUBLIC; revoke execute on UTL_SMTP from PUBLIC; revoke execute on UTL_TCP from PUBLIC; revoke execute on UTL_HTTP from PUBLIC; revoke execute on DBMS_RANDOM from PUBLIC; revoke execute on DBMS_LOB from PUBLIC; revoke execute on DBMS_SQL from PUBLIC; revoke execute on DBMS_SYS_SQL from PUBLIC; revoke execute on DBMS_JOB from PUBLIC; revoke execute on DBMS_BACKUP_RESTORE from PUBLIC; revoke execute on DBMS_OBFUSCATION_TOOLKIT from PUBLIC;

b
The IDLE_TIME profile parameter should be set for Oracle profiles IAW DoD policy.
Medium - V-2552 - SV-24563r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3536-ORACLE10
Vuln IDs
  • V-2552
Rule IDs
  • SV-24563r1_rule
The Idle Time Resource Usage setting limits the maximum idle time allowed in a session. Idle time is a continuous inactive period during a session, expressed in minutes. Long-running queries and other operations are not subject to this limit. Setting an Idle Time Resource Usage limit helps prevent users from leaving applications open when they are away from their desks.Database AdministratorECLO-1
Checks:

Fix: F-26528r1_fix

Modify profiles to meet the idle time requirement. From SQL*Plus: alter profile default limit idle_time 15; alter profile [profile name] limit idle_time [IAO-approved value]; Authorize and document any profiles that require idle times greater than 15 minutes in the System Security Plan.

c
The Oracle REMOTE_OS_AUTHENT parameter should be set to FALSE.
High - V-2554 - SV-24910r1_rule
RMF Control
Severity
High
CCI
Version
DO3538-ORACLE10
Vuln IDs
  • V-2554
Rule IDs
  • SV-24910r1_rule
Setting this value to TRUE allows operating system authentication over an unsecured connection. Trusting remote operating systems can allow a user to impersonate another operating system user and connect to the database without having to supply a password. If REMOTE_OS_AUTHENT is set to true, the only information a remote user needs to connect to the database is the name of any user whose account is setup to be authenticated by the operating system.This finding may be downgraded to a Category II severity code if the following mitigations have been implemented: 1) A logon trigger verifies that any connections to accounts identified externally come from a single, specific IP address and kills the connection if determined otherwise, and 2) To help prevent access by a spoofed IP address, the single connecting system and the database host are isolated behind a firewall with either Network Address Translation (NAT) implemented and/or the firewall is configured to reject connections from the single source IP address originating outside the isolated segment. Database AdministratorIAIA-1, IAIA-2
Checks:

Fix: F-26530r1_fix

Document remote OS authentication in the System Security Plan. If not required or not mitigated to an acceptable level, disable remote OS authentication. From SQL*Plus: alter system set remote_os_authent = FALSE scope = spfile; The above SQL*Plus command will set the parameter to take effect at next system startup.

c
The Oracle REMOTE_OS_ROLES parameter should be set to FALSE.
High - V-2555 - SV-24914r1_rule
RMF Control
Severity
High
CCI
Version
DO3539-ORACLE10
Vuln IDs
  • V-2555
Rule IDs
  • SV-24914r1_rule
Setting REMOTE_OS_ROLES to TRUE allows operating system groups to control Oracle roles. The default value of FALSE causes roles to be identified and managed by the database. If REMOTE_OS_ROLES is set to TRUE, a remote user could impersonate another operating system user over a network connection.Information Assurance OfficerECLP-1
Checks:

Fix: F-26532r1_fix

Document remote OS roles in the System Security Plan. If not required, disable use of remote OS roles. From SQL*Plus: alter system set remote_os_roles = FALSE scope = spfile; The above SQL*Plus command will set the parameter to take effect at next system startup.

b
The Oracle SQL92_SECURITY parameter should be set to TRUE.
Medium - V-2556 - SV-24918r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3540-ORACLE10
Vuln IDs
  • V-2556
Rule IDs
  • SV-24918r1_rule
The configuration option SQL92_SECURITY specifies whether table-level SELECT privileges are required to execute an update or delete that references table column values. If this option is disabled (set to FALSE), the UPDATE privilege can be used to determine values that should require SELECT privileges.Database AdministratorDCFA-1
Checks:

Fix: F-26534r1_fix

Enable SQL92 security. From SQL*Plus: alter system set sql92_security = TRUE scope = spfile; The above SQL*Plus command will set the parameter to take effect at next system startup.

b
The Oracle REMOTE_LOGIN_PASSWORDFILE parameter should be set to EXCLUSIVE or NONE.
Medium - V-2558 - SV-24921r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3546-ORACLE10
Vuln IDs
  • V-2558
Rule IDs
  • SV-24921r1_rule
The REMOTE_LOGIN_PASSWORDFILE setting of "NONE" disallows remote administration of the database. The REMOTE_LOGIN_PASSWORDFILE setting of "EXCLUSIVE" allows for auditing of individual DBA logins to the SYS account. If not set to "EXCLUSIVE", remote connections to the database as "internal" or "as SYSDBA" are not logged to an individual account.Database AdministratorIAGA-1
Checks:

Fix: F-26536r1_fix

Disable use of the remote_login_passwordfile where remote administration is not authorized by specifying a value of NONE. If authorized, restrict use of a password file to exclusive use by each database by specifying a value of EXCLUSIVE. From SQL*Plus: alter system set remote_login_passwordfile = 'EXCLUSIVE' scope = spfile; OR alter system set remote_login_passwordfile = 'NONE' scope = spfile; The above SQL*Plus command will set the parameter to take effect at next system startup.

b
System privileges granted using the WITH ADMIN OPTION should not be granted to unauthorized user accounts.
Medium - V-2561 - SV-24924r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3609-ORACLE10
Vuln IDs
  • V-2561
Rule IDs
  • SV-24924r1_rule
The WITH ADMIN OPTION allows the grantee to grant a privilege to another database account. Best security practice restricts the privilege of assigning privileges to authorized personnel. Authorized personnel include DBA's, object owners, and, where designed and included in the application's functions, application administrators. Restricting privilege-granting functions to authorized accounts can help decrease mismanagement of privileges and wrongful assignments to unauthorized accounts.Database AdministratorECLP-1
Checks:

Fix: F-26539r1_fix

Revoke assignment of privileges with the WITH ADMIN OPTION from unauthorized users and re-grant them without the option. From SQL*Plus: revoke [privilege name] from user [username]; Replace [privilege name] with the named privilege and [username] with the named user. Restrict use of the WITH ADMIN OPTION to authorized administrators. Document authorized privilege assignments with the WITH ADMIN OPTION in the System Security Plan.

b
Required object auditing should be configured.
Medium - V-2562 - SV-24927r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3610-ORACLE10
Vuln IDs
  • V-2562
Rule IDs
  • SV-24927r1_rule
Database object definitions and configurations require similar oversight as application libraries to detect unauthorized changes. Unauthorized changes may indicate attempts to compromise data or application object integrity or confidentiality. Any access to audit data objects stored in the database must be audited to detect any attempts to compromise the audit trail. A compromise to audit data could jeopardize accountability for unauthorized actions.Database AdministratorECAR-1
Checks:

Fix: F-27119r1_fix

The only application objects auditing required is for use of the RENAME privilege on database objects. Configure auditing on RENAME privilege use by default for newly created objects. From SQL*Plus: audit rename on default by access; If application objects have already been created, the audit rename on object statement should be issued for all application objects. From SQL*Plus: audit rename on [application object name] by access; Enable auditing of access and activity on audit trail data stored in the database. From SQL*Plus: audit update, delete on AUD$ by access; NOTE: The audit table is by default in the SYSTEM schema, but may have been moved to another schema.

b
System Privileges should not be granted to PUBLIC.
Medium - V-2564 - SV-24930r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3612-ORACLE10
Vuln IDs
  • V-2564
Rule IDs
  • SV-24930r1_rule
System privileges can be granted to users and roles and to the user group PUBLIC. All privileges granted to PUBLIC are accessible to every user in the database. Many of these privileges convey considerable authority over the database and be granted only to those persons responsible for administering the database. In general, these privileges should be granted to roles and then the appropriate roles should be granted to users. System privileges should never be granted to PUBLIC as this could allow users to compromise the database.Database AdministratorECLP-1
Checks:

Fix: F-26542r1_fix

Revoke any system privileges assigned to PUBLIC: From SQL*Plus: revoke [system privilege] from PUBLIC; Replace [system privilege] with the named system privilege. NOTE: System privileges are not granted to PUBLIC by default and would indicate a custom action.

b
Oracle roles granted using the WITH ADMIN OPTION should not be granted to unauthorized accounts.
Medium - V-2574 - SV-24569r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3622-ORACLE10
Vuln IDs
  • V-2574
Rule IDs
  • SV-24569r1_rule
The WITH ADMIN OPTION allows the grantee to grant a role to another database account. Best security practice restricts the privilege of assigning privileges to authorized personnel. Authorized personnel include DBA's, object owners, and, where designed and included in the application's functions, application administrators. Restricting privilege-granting functions to authorized accounts can help decrease mismanagement of privileges and wrongful assignments to unauthorized accounts.trueDatabase AdministratorECLP-1
Checks:

Fix: F-26546r1_fix

Revoke assignment of roles with the WITH ADMIN OPTION from unauthorized grantees and re-grant them without the option if required. From SQL*Plus: revoke [role name] from [grantee]; grant [role name] to [grantee]; Restrict use of the WITH ADMIN OPTION to authorized administrators. Document authorized role assignments with the WITH ADMIN OPTION in the System Security Plan.

a
The Oracle O7_DICTIONARY_ACCESSIBILITY parameter should be set to FALSE.
Low - V-2586 - SV-24936r1_rule
RMF Control
Severity
Low
CCI
Version
DO3685-ORACLE10
Vuln IDs
  • V-2586
Rule IDs
  • SV-24936r1_rule
The database data dictionary tables contain the data used by the database for database functions including database authentication and authorization as well as database configuration and control. By default, the parameter O7_DICTIONARY_ACCESSIBILITY is set to FALSE to prevent accounts with the privilege SELECT ANY TABLE from selecting the data dictionary tables. This setting protects the data dictionary from unintended access authorization by requiring full system privileges or direct table access permissions.Database AdministratorECAN-1
Checks:

Fix: F-26548r1_fix

Disable O7_dictionary_accessibility to restrict access to system tables to users granted privileges to access objects owned by all users. From SQL*Plus: alter system set O7_dictionary_accessibility = FALSE scope = spfile; The above SQL*Plus command will set the parameter to take effect at next system startup.

c
Oracle accounts should not have permission to view the table SYS.LINK$ which contain unencrypted database link passwords.
High - V-2587 - SV-24939r1_rule
RMF Control
Severity
High
CCI
Version
DO3686-ORACLE10
Vuln IDs
  • V-2587
Rule IDs
  • SV-24939r1_rule
The SYS.LINK$ table contains unencrypted passwords to enable transparent connections to remote databases. In addition, remote database connections themselves can provide information to unauthorized users about remote databases that may assist them in furthering unauthorized access.Database AdministratorECAN-1
Checks:

Fix: F-22859r1_fix

There are no workarounds to protect against this potential vulnerability but it is possible to reduce the potential impact by performing the steps below: 1. Drop the database link and create a link without specifying an account and password. To drop and recreate a database link without hard coding the password, execute the commands: From SQL*Plus: drop database link [link name]; create database link [link name] using [connection string]; 2. Revoke permissions from accounts and roles: From SQL*Plus: revoke select on SYS.LINK$ from [account or role];

b
Object permissions granted to PUBLIC should be restricted.
Medium - V-2589 - SV-24572r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3689-ORACLE10
Vuln IDs
  • V-2589
Rule IDs
  • SV-24572r1_rule
Permissions on objects may be granted to the user group PUBLIC. Because every database user is a member of the PUBLIC group, granting object permissions to PUBLIC gives all users in the database access to that object. In a secure environment, granting object permissions to PUBLIC should be restricted to those objects that all users are allowed to access. The policy does not require object permissions assigned to PUBLIC by the installation of Oracle Database server components be revoked (with exception of the packages listed in DO3475).This check may return false positives where other Oracle product accounts are not included in the exclusion list.trueDatabase AdministratorDCFA-1
Checks:

Fix: F-26550r1_fix

Revoke any privileges granted to PUBLIC for objects that are not owned by Oracle product accounts. From SQL*Plus: revoke [privilege name] from [user name] on [object name]; Assign permissions to custom application user roles based on job functions: From SQL*Plus: grant [privilege name] to [user role] on [object name];

b
The Oracle RESOURCE_LIMIT parameter should be set to TRUE.
Medium - V-2593 - SV-24941r1_rule
RMF Control
Severity
Medium
CCI
Version
DO3696-ORACLE10
Vuln IDs
  • V-2593
Rule IDs
  • SV-24941r1_rule
The Oracle RESOURCE_LIMIT parameter determines whether resource limits are enforced in database profiles. If Oracle resource limits are disabled, any defined profile limits will be ignored. NOTE: This does not apply to password resources.Database AdministratorECLO-1
Checks:

Fix: F-26552r1_fix

Enable resource limit checking on the database. From SQL*Plus: alter system set resource_limit = TRUE scope = both; The above SQL*Plus command will set the parameter to take effect immediately and permanently at next system startup.

b
Application role permissions should not be assigned to the Oracle PUBLIC role.
Medium - V-3437 - SV-24895r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0320-ORACLE10
Vuln IDs
  • V-3437
Rule IDs
  • SV-24895r1_rule
Application roles have been granted to PUBLIC. Permissions granted to PUBLIC are granted to all users of the database. Custom roles should be used to assign application permissions to functional groups of application users. The installation of Oracle does not assign role permissions to PUBLIC.Database AdministratorDCFA-1
Checks:

Fix: F-26509r1_fix

Revoke role grants from PUBLIC. Do not assign role privileges to PUBLIC. From SQL*Plus: revoke [role name] from PUBLIC;

b
Oracle application administration roles should be disabled if not required and authorized.
Medium - V-3438 - SV-24530r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0340-ORACLE10
Vuln IDs
  • V-3438
Rule IDs
  • SV-24530r1_rule
Application administration roles, which are assigned system or elevated application object privileges, should be protected from default activation. Application administration roles are determined by system privilege assignment (create / alter / drop user) and application user role ADMIN OPTION privileges.trueDatabase AdministratorDCFA-1
Checks:

Fix: F-26512r1_fix

For each role assignment returned, issue: From SQL*Plus: alter user [username] default role all except [role]; If the user has more than one application administration role assigned, then you will have to remove assigned roles from default assignment and assign individually the appropriate default roles.

b
Oracle system privileges should not be directly assigned to unauthorized accounts.
Medium - V-3439 - SV-24533r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0350-ORACLE10
Vuln IDs
  • V-3439
Rule IDs
  • SV-24533r1_rule
System privileges allow system-wide changes to the database or database objects. Unauthorized use of system privileges may jeopardize production applications, application data, or the database configuration and operation.trueInformation Assurance OfficerECLP-1, ECPA-1
Checks:

Fix: F-26514r1_fix

Document and justify system privileges assigned to users/roles in the System Security Plan and authorize with the IAO. Remove unauthorized or unjustified system privileges from user accounts or roles. From SQL*Plus: revoke [privilege] from [user or role name]; Replace [privilege] with the named privilege and [user or role name] with the identified user or role.

a
Database applications should be restricted from using static DDL statements to modify the application schema.
Low - V-3727 - SV-24354r1_rule
RMF Control
Severity
Low
CCI
Version
DG0015-ORACLE10
Vuln IDs
  • V-3727
Rule IDs
  • SV-24354r1_rule
Application users by definition and job function require only the permissions to manipulate data within database objects and execute procedures within the database. The statements used to define objects in the database are referred to as Data Definition Language (DDL) statements and include the CREATE, DROP, and ALTER object statements (DDL statements do not include CREATE USER, DROP USER, or ALTER USER actions). This requirement is included here as a production system would by definition not support changes to the data definitions. Where object creation is an indirect result of DBMS operation or dynamic object structures are required by the application function as is found in some object-oriented DBMS applications, this restriction does not apply. Re-use of static data structures to recreate temporary data objects are not exempted.trueInformation Assurance OfficerECSD-1, ECSD-2
Checks:

Fix: F-2545r1_fix

Document known object creation that supports dynamic object assignment in the System Security Plan and authorize with the IAO. Coordinate with the application designer to modify the application to use static objects with temporary data rather than using temporary objects. You may use the following code to periodically monitor for recently created objects: select created, owner, object_name, object_type from dba_objects where owner not in ('SYS', 'SYSTEM', 'ORDSYS', 'XDB', 'OLAPSYS', 'ODM') and object_type <> 'SYNONYM' and created >= sysdate-30 -- Lists objects created within last 30 days order by created, owner, object_name;

b
DBMS authentication should require use of a DoD PKI certificate.
Medium - V-3810 - SV-25025r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0065-ORACLE10
Vuln IDs
  • V-3810
Rule IDs
  • SV-25025r1_rule
In a properly configured DBMS, access controls defined for data access and DBMS management actions are assigned based on the user identity and job function. Unauthenticated or falsely authenticated access leads directly to the potential unauthorized access, misuse and lost accountability of data and activities within the DBMS. Use of PKI certificates for authentication to the DBMS provides a robust mechanism to ensure identity to authorize access to the DBMS.Information Assurance OfficerIATS-1, IATS-2
Checks: C-26709r1_chk

If user access to the DBMS is via a portal or mid-tier system or product and PKI-authentication occurs at the portal/mid-tier, this check is Not a Finding. Review the list of all DBMS accounts and their authentication methods. This list is usually available from a system view or table and is easily gained from a simple SQL query. If any accounts are listed with an authentication method other than a PKI certificate, this is a Finding. For MAC 3 systems, if identification and authentication is not accomplished using the DoD PKI Class 3 certificate and hardware security token (when available) at minimum, this is a Finding. For MAC 1 and 2 systems, if identification and authentication is not accomplished using the DoD PKI Class 3 or 4 certificate and hardware security token (when available) or an NSA-certified product at minimum, this is a Finding.

Fix: F-22885r1_fix

Implement PKI authentication for all accounts defined within the database where applicable. Applications may use host system (server) certificates to authenticate. For MAC 3 systems, use of the DoD PKI Class 3 certificate and hardware security token (when available) at minimum is required. For MAC 1 and 2 systems, use of the DoD PKI Class 3 or 4 certificate and hardware security token (when available) or an NSA-certified product at minimum is required.

b
New passwords should be required to differ from old passwords by more than four characters.
Medium - V-3815 - SV-24386r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0071-ORACLE10
Vuln IDs
  • V-3815
Rule IDs
  • SV-24386r1_rule
Changing passwords frequently can thwart password-guessing attempts or re-establish protection of a compromised DBMS account. Minor changes to passwords may not accomplish this as password guessing may be able to continue to build on previous guesses or the new password may be easily guessed using the old password.trueDatabase AdministratorIAIA-1, IAIA-2
Checks:

Fix: F-25980r1_fix

Define and apply a password_verify_function for all profiles where passwords are used to authenticate accounts. See Fix information for DG0079 to create a password_verify_function that meets STIG requirements.

b
Database accounts should not specify account lock times less than the site-approved minimum.
Medium - V-3817 - SV-24649r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0073-ORACLE10
Vuln IDs
  • V-3817
Rule IDs
  • SV-24649r1_rule
The FAILED_LOGIN_ATTEMPTS value limits the number of failed login attempts allowed before an account is locked. Setting this value limits the ability of unauthorized users to guess passwords and alerts the DBA when password guessing has occurred (accounts display as locked). For non-interactive accounts, the number of failed logins should be set to an IAO-approved value.trueDatabase AdministratorECLO-1, ECLO-2
Checks:

Fix: F-26185r1_fix

Modify profiles to meet the failed login attempt requirement limit. From SQL*Plus: alter profile default limit failed_login_attempts 3; alter profile [profile name] limit failed_login_attempts [IAO-approved value]; Replace [profile name] with any existing, non-default profile names. Document in the System Security Plan all profiles and settings.

b
Unauthorized database links should not be defined and active.
Medium - V-3818 - SV-24388r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0075-ORACLE10
Vuln IDs
  • V-3818
Rule IDs
  • SV-24388r1_rule
DBMS links provide a communication and data transfer path definition between two databases that may be used by malicious users to discover and obtain unauthorized access to remote systems. Database links between production and development DBMSs provide a means for developers to access production data not authorized for their access or to introduce untested or unauthorized applications to the production database. Only protected, controlled, and authorized downloads of any production data to use for development should be allowed. Only applications that have completed the configuration management process should be introduced by the application object owner account to the production system.trueDatabase AdministratorDCFA-1
Checks:

Fix: F-2565r1_fix

Document all remote or external interfaces used by the DBMS to connect to or allow connections from remote or external sources. Include with the documentation as appropriate, any network ports or protocols, security accounts, and the sensitivity of any data exchanged. Do not define or configure database links between production databases and test or development databases.

b
Sensitive information from production database exports should be modified after import to a development database.
Medium - V-3819 - SV-24653r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0076-ORACLE10
Vuln IDs
  • V-3819
Rule IDs
  • SV-24653r1_rule
Data export from production databases may include sensitive data. Application developers do not have a need to know to sensitive data. Any access they may have to production data would be considered unauthorized access and subject the sensitive data to unlawful or unauthorized disclosure. See DODD 8500.1 for a definition of Sensitive Information.Database AdministratorECAN-1
Checks: C-28651r1_chk

If the database being reviewed is not a production database, this check is Not a Finding. Review policy, procedures and restrictions for data imports of production data containing sensitive information into development databases. If data imports of production data are allowed, review procedures for protecting any sensitive data included in production exports. If sensitive data is included in the exports and no procedures are in place to remove or modify the data to render it not sensitive prior to import into a development database or policy and procedures are not in place to ensure authorization of development personnel to access sensitive information contained in production data, this is a Finding.

Fix: F-25678r1_fix

Develop, document and implement policy, procedures and restrictions for production data import. Require any users assigned privileges that allow the export of production data from the database to acknowledge understanding of import policies, procedures and restrictions. Restrict permissions of development personnel requiring use or access to production data imported into development databases containing sensitive information to authorized users. Implement policy and procedures to modify or remove sensitive information in production exports prior to import into development databases.

b
Production databases should be protected from unauthorized access by developers on shared production/development host systems.
Medium - V-3820 - SV-24390r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0077-ORACLE10
Vuln IDs
  • V-3820
Rule IDs
  • SV-24390r1_rule
Developers granted elevated database, operating system privileges on systems that support both development, and production databases can affect the operation and/or security of the production database system. Operating system and database privileges assigned to developers on shared development and production systems should be restricted.trueDatabase AdministratorECLP-1
Checks:

Fix: F-25684r1_fix

Develop, document and implement procedures to review and maintain privileges granted to developers on shared production and development host systems and databases. Recommend establishing a dedicated DBMS host for production DBMS installations (See Checks DG0109 and DG0110). A dedicated host system in this case refers to an instance of the operating system at a minimum. The operating system may reside on a virtual host machine where supported by the DBMS vendor.

b
Application user privilege assignment should be reviewed monthly or more frequently to ensure compliance with least privilege and documented policy.
Medium - V-3821 - SV-24667r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0080-ORACLE10
Vuln IDs
  • V-3821
Rule IDs
  • SV-24667r1_rule
Users granted privileges not required to perform their assigned functions are able to make unauthorized modifications to the production data or database. Monthly or more frequent periodic review of privilege assignments assures that organizational and/or functional changes are reflected appropriately.Database AdministratorECLP-1
Checks: C-1184r1_chk

Review policy, procedures and implementation evidence to determine if periodic reviews of user privileges by the IAO are being performed. Evidence may consist of email or other correspondence that acknowledges receipt of periodic reports and notification of review between the DBA and IAO or other auditors as assigned. If policy and procedures are incomplete or no evidence of implementation exists, this is a Finding.

Fix: F-2582r1_fix

Develop, document and implement policy and procedures for periodic review of database user accounts and privilege assignments. Include methods to provide evidence of review in the procedures to verify reviews occur in accordance with the procedures.

a
Custom and GOTS application source code stored in the database should be protected with encryption or encoding.
Low - V-3823 - SV-28567r1_rule
RMF Control
Severity
Low
CCI
Version
DG0091-ORACLE10
Vuln IDs
  • V-3823
Rule IDs
  • SV-28567r1_rule
Source code may include information on data relationships, locations of sensitive data that are otherwise obscured, or other processing information that could aid a malicious user. Encoding or encryption of the custom source code objects within the database helps protect against this type of disclosure.trueDatabase AdministratorDCSL-1
Checks:

Fix: F-25837r1_fix

Use the Oracle WRAP utility to encode application source code stored in application database objects (stored procedures, functions, package bodies). The following may be used as an example process: 1) export the application object source and store in an external file. From SQL*Plus: set show off set heading off set verify off set echo off set term off set pagesize 0 set feedback off set serveroutput on size 1000000 set wrap on set trimspool on set linesize 512 spool [output file name = proc.sql] select text from dba_source where object_name='[object name]'; spool off 2) From system command line, invoke the wrap utility. wrap iname=proc.sql oname=proc.plb This will result in the file name proc.plb 3) re-create the object with the encoded source code. From SQL*Plus: @proc.plb

b
Only authorized system accounts should have the SYSTEM tablespace specified as the default tablespace.
Medium - V-3846 - SV-24855r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0155-ORACLE10
Vuln IDs
  • V-3846
Rule IDs
  • SV-24855r1_rule
The Oracle SYSTEM tablespace is used by the database to store all DBMS system objects. Other use of the system tablespace may compromise system availability and the effectiveness of host system access controls to the tablespace files.Database AdministratorDCPA-1
Checks:

Fix: F-26439r1_fix

Create and dedicate tablespaces to support only one application. Do not share tablespaces between applications. Do not grant quotas to application object owners on tablespaces not dedicated to their associated application. From SQL*Plus: alter user [username] default tablespace [tablespace_name] temporary tablespace TEMP; Replace [username] with the named user account. Replace [tablespace_name] with the new default tablespace name.

a
Database application user accounts should be denied storage usage for object creation within the database.
Low - V-3847 - SV-24500r1_rule
RMF Control
Severity
Low
CCI
Version
DO0157-ORACLE10
Vuln IDs
  • V-3847
Rule IDs
  • SV-24500r1_rule
Tablespace storage quotas allow limits on storage use to be assigned to Oracle database users. Although this does not grant the user the privilege to create objects within the database, it provides an additional method to restrict unauthorized object creation and ownership.trueDatabase AdministratorECLP-1
Checks:

Fix: F-26441r1_fix

Assign tablespace quotas only to database accounts authorized to create and or own objects in the database. Document authorized tablespace quotas for all accounts authorized to own objects in the System Security Plan. Remove any quotas assigned to application users, application administrators, or any other unauthorized accounts. From SQL*Plus: alter user [username] quota 0 on [tablespace name]; Replace [username] with the named user and [tablespace name] with the identified tablespace name.

a
The Oracle SID should not be the default SID.
Low - V-3848 - SV-24867r1_rule
RMF Control
Severity
Low
CCI
Version
DO0221-ORACLE10
Vuln IDs
  • V-3848
Rule IDs
  • SV-24867r1_rule
Use of the default Oracle System Identifier (SID) leaves the database vulnerable to attacks that target Oracle installations running under default SID. Using a custom name helps protect the database against this kind of targeted attack.Database AdministratorECAN-1
Checks:

Fix: F-26450r1_fix

Follow the instructions in Oracle MetaLink Note 15390.1 (and related documents) to change the SID for the database without re-creating the database to a value other than the application default.

b
Application owner accounts should have a dedicated application tablespace.
Medium - V-3849 - SV-24509r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0231-ORACLE10
Vuln IDs
  • V-3849
Rule IDs
  • SV-24509r1_rule
Separation of tablespaces by application helps to protect the application from resource contention and unauthorized access that could result from storage space reuses or host system access controls. Application data should be stored separately from system and custom user-defined objects to facilitate administration and management of its data storage. The SYSTEM tablespace should never be used for application data storage in order to prevent resource contention and performance degradation.trueDatabase AdministratorDCPA-1
Checks:

Fix: F-26452r1_fix

Create and assign dedicated tablespaces for the storage of data by each application using the CREATE TABLESPACE command.

b
The directory assigned to the AUDIT_FILE_DEST parameter should be protected from unauthorized access.
Medium - V-3850 - SV-24871r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0234-ORACLE10
Vuln IDs
  • V-3850
Rule IDs
  • SV-24871r1_rule
The AUDIT_FILE_DEST parameter specifies the directory where the database audit trail file is stored (when AUDIT_TRAIL parameter is set to ‘OS’, ‘xml’ or ‘xml, extended’ where supported by the DBMS). Unauthorized access or loss of integrity of the audit trail could result in loss of accountability or the ability to detect suspicious activity. This directory also contains the audit trail of the SYS and SYSTEM accounts that captures privileged database events when the database is not running (when AUDIT_SYS_OPERATIONS parameter is set to TRUE).Database AdministratorECTP-1
Checks: C-26537r1_chk

From SQL*Plus: select value from v$parameter where name = 'audit_trail'; select value from v$parameter where name = 'audit_file_dest'; If audit_trail is NOT set to TRUE, OS, XML or XML, EXTENDED per MetaLink Note 30690.1, this check is Not a Finding. On UNIX Systems: ls -ld [pathname] Substitute [pathname] with the directory path listed from the above SQL command for audit_file_dest. If permissions are granted for world access, this is a Finding. If any groups that include members other than the Oracle process and software owner accounts, DBAs, auditors, or backup accounts are listed, this is a Finding. On Windows Systems (From Windows Explorer): Browse to the directory specified. Select and right-click on the directory, select Properties, select the Security tab. On Windows hosts, records are also written to the Windows application event log. The location of the application event log is listed under Properties for the log under the Windows console. The default location is C:\WINDOWS\system32\config\EventLogs\AppEvent.Evt. If permissions are granted to everyone, this is a Finding. If any accounts other than the Administrators, DBAs, System group, auditors or backup operators are listed, this is a Finding.

Fix: F-26454r1_fix

Alter host system permissions to the AUDIT_FILE_DEST directory to the Oracle process and software owner accounts, DBAs, backup accounts, SAs (if required) and auditors. Authorize and document user access requirements to the directory outside of the Oracle, DBA and SA account list in the System Security Plan.

b
The directory assigned to the USER_DUMP_DEST parameter should be protected from unauthorized access.
Medium - V-3851 - SV-24874r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0235-ORACLE10
Vuln IDs
  • V-3851
Rule IDs
  • SV-24874r1_rule
The USER_DUMP_DEST parameter is used to indicate the directory where files used for debugging applications will be stored. These files may contain sensitive data or information that could prove useful to potential attackers.Database AdministratorDCPA-1
Checks: C-29427r1_chk

From SQL*Plus: select value from v$parameter where name='user_dump_dest'; On UNIX systems: ls -ld [pathname] Substitute [pathname] with the directory path listed from the above SQL command. If permissions are granted for world access, this is a Finding. On Windows Systems (From Windows Explorer): Browse to the directory specified. Select and right-click on the directory, select Properties, select the Security tab. If permissions are granted to everyone, this is a Finding. If any account other than the Oracle process and software owner accounts, Administrators, DBAs, System group or developers authorized to write and debug applications on this database are listed, this is a Finding.

Fix: F-26456r1_fix

Alter host system permissions to the USER_DUMP_DEST directory to the Oracle process and software owner accounts, DBAs, SAs if required, and developers or other users that may specifically require access for debugging or other purposes. Authorize and document user access requirements to the directory outside of the Oracle, DBA and SA account list in the System Security Plan.

b
The directory assigned to the BACKGROUND_DUMP_DEST parameter should be protected from unauthorized access.
Medium - V-3852 - SV-24876r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0236-ORACLE10
Vuln IDs
  • V-3852
Rule IDs
  • SV-24876r1_rule
The BACKGROUND_DUMP_DEST is used to indicate the directory where files used for storing alert files as well as debugging information from the Oracle background processes. These files may contain sensitive data or information that could prove useful to potential attackers.Database AdministratorDCPA-1
Checks: C-29428r1_chk

From SQL*Plus: select value from v$parameter where name = 'background_dump_dest'; On UNIX Systems: ls -ld [pathname] Substitute [pathname] with the directory path listed from the above SQL command. If permissions are granted for world access, this is a Finding. On Windows Systems (From Windows Explorer): Browse to the directory specified. Select and right-click on the directory, select Properties, select the Security tab. If permissions are granted to everyone, this is a Finding. If any account other than the Oracle process and software owner accounts, Administrators, DBAs, System group or developers authorized to write and debug applications on this database are listed, this is a Finding.

Fix: F-26457r1_fix

Alter host system permissions to the BACKGROUND_DUMP_DEST directory to the Oracle process and software owner accounts DBAs, SAs if required, and developers or other users that may specifically require access for debugging or other purposes. Authorize and document user access requirements to the directory outside of the Oracle, DBA and SA account list in the System Security Plan.

b
The directory assigned to the CORE_DUMP_DEST parameter should be protected from unauthorized access.
Medium - V-3853 - SV-24878r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0237-ORACLE10
Vuln IDs
  • V-3853
Rule IDs
  • SV-24878r1_rule
The CORE_DUMP_DEST parameter indicates the directory for storing database core dump data. A ‘core dump’ occurs during an Oracle abend or database crash. These files may contain sensitive data or information that could prove useful to potential attackers.Database AdministratorDCPA-1
Checks: C-29429r1_chk

From SQL*Plus: select value from v$parameter where name = 'core_dump_dest'; If no value is listed, then Oracle defaults to the $ORACLE_HOME/dbs directory (UNIX) or %ORACLE_HOME%\database directory (Windows) for storing core dumps. On UNIX Systems: ls -ld [pathname] Substitute [pathname] with the directory path listed from the above SQL command. If permissions are granted for world access, this is a Finding. On Windows Systems (From Windows Explorer): Browse to the directory specified. Select and right-click on the directory, select Properties, select the Security tab. If permissions are granted to everyone, this is a Finding. If any account other than the Oracle process and software owner accounts, Administrators, DBAs, System group or developers authorized to write and debug applications on this database are listed, this is a Finding.

Fix: F-26458r1_fix

Alter host system permissions to the CORE_DUMP_DEST directory to the Oracle process and software owner accounts, DBAs, SAs (if required) and developers or other users that may specifically require access for debugging or other purposes. Authorize and document user access requirements to the directory outside of the Oracle, DBA and SA account list in the System Security Plan.

b
The directories assigned to the LOG_ARCHIVE_DEST* parameters should be protected from unauthorized access.
Medium - V-3854 - SV-24512r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0238-ORACLE10
Vuln IDs
  • V-3854
Rule IDs
  • SV-24512r1_rule
The LOG_ARCHIVE_DEST parameter is used to specify the directory to which Oracle archive logs are written. Where the DBMS availability and recovery to a specific point in time is critical, the protection of archive log files is critical. Archive log files may also contain unencrypted sensitive data. If written to an inadequately protected or invalidated directory, the archive log files may be accessed by unauthorized persons or processes.Database AdministratorDCPA-1
Checks: C-29430r1_chk

From SQL*Plus: select log_mode from v$database; select value from v$parameter where name = 'log_archive_dest'; select value from v$parameter where name = 'log_archive_duplex_dest'; select name, value from v$parameter where name LIKE 'log_archive_dest_%'; If the value returned for LOG_MODE is NOARCHIVELOG, this check is Not a Finding. If a value is not returned for LOG_ARCHIVE_DEST and no values are returned for any of the LOG_ARCHIVE_DEST_[1-10] parameters, this is a Finding. NOTE: LOG_ARCHIVE_DEST and LOG_ARCHIVE_DUPLEX_DEST are incompatible with the LOG_ARCHIVE_DEST_n parameters, and must be defined as the null string (' ') when any LOG_ARCHIVE_DEST_n parameter has a value other than a null string. On UNIX Systems: ls -ld [pathname] Substitute [pathname] with the directory paths listed from the above SQL statements for log_archive_dest and log_archive_duplex_dest. If permissions are granted for world access, this is a Finding. On Windows Systems (From Windows Explorer): Browse to the directory specified. Select and right-click on the directory, select Properties, select the Security tab. If permissions are granted to everyone, this is a Finding. If any account other than the Oracle process and software owner accounts, Administrators, DBAs, System group or developers authorized to write and debug applications on this database are listed, this is a Finding.

Fix: F-26459r1_fix

Specify a valid and protected directory for archive log files. Restrict access to the Oracle process and software owner accounts, DBAs, and backup operator accounts.

b
The Oracle _TRACE_FILES_PUBLIC parameter if present should be set to FALSE.
Medium - V-3857 - SV-24883r1_rule
RMF Control
Severity
Medium
CCI
Version
DO0243-ORACLE10
Vuln IDs
  • V-3857
Rule IDs
  • SV-24883r1_rule
The _TRACE_FILES_PUBLIC parameter is used to make trace files used for debugging database applications and events available to all database users. Use of this capability precludes the discrete assignment of privileges based on job function. Additionally, its use may provide access to external files and data to unauthorized users.Database AdministratorECAN-1
Checks:

Fix: F-26466r1_fix

From SQL*Plus (shutdown database instance): shutdown immediate From SQL*Plus (create a pfile from spfile): create pfile='[PATH]init[SID].ora' from spfile; Edit the init[SID].ora file and remove the following line: *._trace_files_public=TRUE From SQL*Plus (update the spfile using the pfile): create spfile from pfile='[PATH]init[SID].ora'; From SQL*Plus (start the database instance): startup NOTE: [PATH] depends on the platform (Windows or UNIX). Ensure the file is directed to a writable location. [SID] is equal to the oracle SID or database instance ID.

a
The XDB Protocol server should be uninstalled if not required and authorized for use.
Low - V-3865 - SV-24898r1_rule
RMF Control
Severity
Low
CCI
Version
DO0420-ORACLE10
Vuln IDs
  • V-3865
Rule IDs
  • SV-24898r1_rule
The XML DB supports storage and retrieval of XML data objects in the Oracle Database. It requires the configuration of an Oracle shared-server dispatcher that is activated / used by the Oracle listener to pass http XML requests. If this service is not required, it should be uninstalled.Database AdministratorDCFA-1
Checks: C-29454r1_chk

From SQL*Plus: select count(*) from dba_users where username = 'XDB'; select count(*) from v$parameter where name = 'dispatchers' and value like '%XDB%'; If a value of 0 is returned for either the first or the second SQL statement above, this is not a Finding. If a value of 1 (or more) is returned for the second SQL statement, review the System Security Plan to verify existence of all XML DB dispatchers is authorized. If it is not, this is a Finding.

Fix: F-22835r1_fix

If the database is authorized to support web services using XML over HTTP, then include documentation and authorization in the System Security Plan. If not authorized, uninstall XML DB per Oracle MetaLink Note 243554.1.

b
Application object owner accounts should be disabled when not performing installation or maintenance actions.
Medium - V-5683 - SV-24588r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0004-ORACLE10
Vuln IDs
  • V-5683
Rule IDs
  • SV-24588r1_rule
Object ownership provides all database object permissions to the owned object. Access to the application object owner accounts requires special protection to prevent unauthorized access and use of the object ownership privileges. In addition to the high privileges to application objects assigned to this account, it is also an account that, by definition, is not accessed interactively except for application installation and maintenance. This reduced access to the account means that unauthorized access to the account could go undetected. To help protect the account, it should be enabled only when access is required.trueDatabase AdministratorECLP-1
Checks:

Fix: F-2539r1_fix

Disable any application object owner accounts. From SQL*Plus: alter user [username] account lock; Enable application object owner accounts only for installation and maintenance. DBA are special purpose accounts and do not require disabling although they may own objects. For application objects that require routine maintenance, e.g. index objects, to maintain performance, consider allowing a special purpose account to own the index or enable the application owner account for the duration of the routine maintenance function only.

b
Required auditing parameters for database auditing should be set.
Medium - V-5685 - SV-24614r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0029-ORACLE10
Vuln IDs
  • V-5685
Rule IDs
  • SV-24614r1_rule
Oracle auditing can be set to log audit data to the database or operating system files. Logging events to the database prevents operating system users from viewing the data, while logging events to operating system files prevents malicious database users from accessing the data. The value NONE disables auditing and is, therefore, not in compliance with policy.Database AdministratorECAR-1, ECAR-2, ECAR-3
Checks:

Fix: F-22676r1_fix

Enable database auditing. Select the desired audit trail format (external file or internal database table). From SQL*Plus: alter system set audit_trail= [audit trail format] scope=spfile; Compliant selections for [audit trail format] are (per MetaLink Note 30690.1): Oracle 10.1 – 10.2 = 'true', 'os' & 'db' (true = os for backward compatibility) Oracle 10.1 = 'db_extended' Oracle 10.2 = 'db, extended', 'xml' & 'xml, extended' The above SQL*Plus command will set the parameter to take effect at next system startup.

b
Audit records should be restricted to authorized individuals.
Medium - V-5686 - SV-24621r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0032-ORACLE10
Vuln IDs
  • V-5686
Rule IDs
  • SV-24621r1_rule
Audit data is frequently targeted by malicious users as it can provide a means to detect their activity. The protection of the audit trail data is of special concern and requires restrictions to allow only the auditor and DBMS backup, recovery, and maintenance users access to it.trueDatabase AdministratorECTP-1
Checks:

Fix: F-2551r1_fix

Document and authorize accounts granted access to the AUD$ table in the System Security Plan. Revoke access permissions granted to the AUD$ table from unauthorized users.

a
Developers should not be assigned excessive privileges on production databases.
Low - V-15114 - SV-24394r1_rule
RMF Control
Severity
Low
CCI
Version
DG0089-ORACLE10
Vuln IDs
  • V-15114
Rule IDs
  • SV-24394r1_rule
Developers play a unique role and represent a specific type of threat to the security of the DBMS. Where restricted resources prevent the required separation of production and development DBMS installations, developers granted elevated privileges to create and manage new database objects must also be prevented from actions that can threaten the production operation.Database AdministratorECPC-1, ECPC-2
Checks: C-3819r1_chk

If this database is not a production database, this check is Not a Finding. Review the privileges assigned to developer accounts. Identify login name of developer DBMS accounts from the System Security Plan and/or DBA. For each developer account, display the roles assigned to the account. From SQL*Plus: select granted_role from dba_role_privs where grantee=[developer account name]; If privileges assigned to developer accounts are not restricted to development objects and configurations, or authorizations to allow developer account access to production objects and configurations does not exist in the System Security Plan, this is a Finding.

Fix: F-2589r1_fix

Revoke permissions and privileges that allow changes to the production system or production objects from developer accounts or authorize permissions and privileges for developer accounts in the System Security Plan.

b
DBMS application user roles should not be assigned unauthorized privileges.
Medium - V-15128 - SV-24704r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0105-ORACLE10
Vuln IDs
  • V-15128
Rule IDs
  • SV-24704r1_rule
Unauthorized access to the data can lead to loss of confidentiality and integrity of the data.Database AdministratorDCFA-1
Checks: C-1089r1_chk

Compare privileges assigned to database application user roles to those defined in the System Security Plan. If the assigned privileges do not match the authorized list of privileges, this is a Finding.

Fix: F-2557r1_fix

Use the grant and revoke commands to assign the authorized privileges as listed in the System Security Plan to custom database application or application user roles.

b
Unapproved inactive or expired database accounts should not be found on the database.
Medium - V-15130 - SV-24651r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0074-ORACLE10
Vuln IDs
  • V-15130
Rule IDs
  • SV-24651r1_rule
Unused or expired DBMS accounts provide a means for undetected, unauthorized access to the database.Database AdministratorIAAC-1
Checks: C-29175r1_chk

Review procedures and implementation for monitoring the DBMS for account expiration and account inactivity. Verify implemented procedures are in place to address expired/locked accounts not required for system/application operation are authorized to remain and are documented. Verify implemented procedures are in place to address accounts that are unlocked and have been inactive in excess of 30 days are authorized to remain unlocked. Verify implemented procedures are in place to address unauthorized, inactive accounts after 30 days are expired and locked. Verify implemented procedures are in place to address expired/locked accounts that are not authorized to remain are dropped/removed/deleted. A finding for this check would be based on insufficient documentation and implemented procedures for monitoring DBMS accounts.

Fix: F-26186r1_fix

Develop, document and implement procedures to monitor database accounts for inactivity and account expiration. Investigate and re-authorize or delete [if appropriate] any accounts that are expired or have been inactive for more than 30 days. Where appropriate, protect authorized expired or inactive accounts by disabling them or applying some other similar protection. NOTE: Password and account requirements have changed for DoD since this STIG requirement was published.

b
Transaction logs should be periodically reviewed for unauthorized modification of data. Users should be notified of time and date of the last change in data content.
Medium - V-15133 - SV-24617r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0031-ORACLE10
Vuln IDs
  • V-15133
Rule IDs
  • SV-24617r1_rule
Unauthorized or malicious changes to data compromise the integrity and usefulness of the data. Auditing changes to data supports accountability and non-repudiation. Auditing changes to data may be provided by the application accessing the DBMS or may depend upon the DBMS auditing functions. When DBMS auditing is used, the DBA is responsible for ensuring the auditing configuration meets the application design requirements.Database AdministratorECCD-1, ECCD-2
Checks: C-1128r1_chk

If the application does not require auditing using DBMS features, this check is Not Applicable. Review the application System Security Plan for requirements for database configuration for auditing changes to application data. If the application requires DBMS auditing for changes to data, review the database audit configuration against the application requirement. If the auditing does not comply with the requirement, this is a Finding. Review policy and procedures for reviewing access and changes to data. If policy and procedures are not in place, this is a Finding. If access and changes to data are not periodically reviewed or immediately reviewed on system security events, this is a Finding. If mechanisms are not in place to notify users of time and date of the last change in data content, this is a Finding.

Fix: F-2547r1_fix

Configure database data auditing to comply with the requirements of the application. Document auditing requirements in the System Security Plan. Develop, document and implement policy and procedures for reviewing access and changes to data periodically or immediately upon system security events. Develop, document and implement mechanisms to notify users of time and date of the last change in data content.

b
Asymmetric keys should use DoD PKI Certificates and be protected in accordance with NIST (unclassified data) or NSA (classified data) approved key management and processes.
Medium - V-15142 - SV-24818r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0166-ORACLE10
Vuln IDs
  • V-15142
Rule IDs
  • SV-24818r1_rule
Encryption is only effective if the encryption method is robust and the keys used to provide the encryption are not easily discovered. Without effective encryption, sensitive data is vulnerable to unauthorized access.Database AdministratorIAKM-1, IAKM-2, IAKM-3
Checks: C-29382r1_chk

If Asymmetric keys are present and Oracle Advanced Security is not installed and operational on the DBMS host, this is a Finding. For each asymmetric key identified as being used to encrypt sensitive data, verify the key owner is an application object owner or other non-DBA account. If the key owner listed is a DBA, this is a Finding. If any key owner is not the application object owner account or an account specific to the application as documented in the System Security Plan, this is a Finding. If any asymmetric keys whose private key is not encrypted exist in the database, this is a Finding. Review the access permissions to asymmetric keys. Verify that any permission granted is authorized in the System Security Plan for access to the key. Examine evidence that an audit record is created whenever the asymmetric key is accessed by other than authorized users. In particular, view evidence that access by a DBA or other system privileged account results in the generation of an audit record. This is required because system privileges that allow access to encryption keys may be used to access sensitive data where the privileged user does not have a job function need-to-know the data. If an audit record is not generated for unauthorized access to the asymmetric key, this is a Finding.

Fix: F-26407r1_fix

Use DoD code-signing certificates to create asymmetric keys stored in the database that are used to encrypt sensitive data stored in the database. Assign the application object owner account as the owner of asymmetric keys used by the application. Create audit events for access to the key by other than the application owner account or approved application objects. Revoke any privileges assigned to the asymmetric key to other than the application object owner account and authorized users. Protect the private key by encrypting it with the database system master key where available. Where available, store encryption keys and certificates on hardware security modules (HSM). Oracle Advanced Security is required to provide asymmetric key management features.

a
DBA roles assignments should be assigned and authorized by the IAO.
Low - V-15149 - SV-24978r1_rule
RMF Control
Severity
Low
CCI
Version
DG0153-ORACLE10
Vuln IDs
  • V-15149
Rule IDs
  • SV-24978r1_rule
The DBA role and associated privileges provide complete control over the DBMS operation and integrity. DBA role assignment without authorization could lead to the assignment of these privileges to untrusted and untrustworthy persons and complete compromise of DBMS integrity.Information Assurance OfficerDCSD-1
Checks: C-28655r1_chk

Review the documented procedures for approval and granting of DBA privileges. Review implementation evidence for the procedures. If procedures do not exist or evidence that they are followed does not exist, this is a Finding.

Fix: F-26786r1_fix

Develop, document and implement procedures to ensure all DBA role assignments are authorized and assigned by the IAO. Include methods that provide evidence of approval in the procedures.

b
DBMS login accounts require passwords to meet complexity requirements.
Medium - V-15152 - SV-24665r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0079-ORACLE10
Vuln IDs
  • V-15152
Rule IDs
  • SV-24665r1_rule
The PASSWORD_VERIFY_FUNCTION value specifies a PL/SQL function to be used for password verification when users assigned this profile log in to a database. This function can be used to validate password strength by requiring passwords to pass a strength test written in PL/SQL. The function must be locally available for execution on the database to which this profile applies. Oracle provides a default script (utlpwdmg.sql), as a template to develop your own function. The password verification function must be owned by SYS. The default setting for this profile parameter is NULL, meaning no password verification is performed.Database AdministratorIAIA-1, IAIA-2
Checks:

Fix: F-26192r1_fix

Create or use a password verify function that enforces password complexity. See a sample below that meets DoD requirements. Modify profiles to specify the password verify function created. From SQL*Plus: Rem This script was modified from the Oracle utlpwdmg.sql default script. Rem -- This script sets the default password resource parameters. -- This script needs to be run to enable the password features. -- However, the default resource parameters can be changed based on the need. -- A default password complexity function is also provided. -- This function makes the minimum complexity checks like the minimum -- length of the password, password not same as the username, etc. The user may -- enhance this function according to the need. -- This function must be created in SYS schema: -- connect sys/<password> as sysdba before running the script CREATE OR REPLACE FUNCTION verify_password_dod (username varchar2, password varchar2, old_password varchar2) RETURN boolean IS n boolean; m integer; differ integer; isdigit boolean; numdigit integer; ispunct boolean; numpunct integer; islowchar boolean; numlowchar integer; isupchar boolean; numupchar integer; digitarray varchar2(10); punctarray varchar2(25); lowchararray varchar2(26); upchararray varchar2(26); pw_change_time date; BEGIN digitarray:='0123456789'; lowchararray:='abcdefghijklmnopqrstuvwxyz'; upchararray:='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; punctarray:='@!"#$%&()``*+,-/:;<=>?_'; -- Check if the password is same as the username if nls_lower(password)=nls_lower(username) then raise_application_error(-20001, 'Password same as or similar to user'); end if; -- Check for the minimum length of the password if length(password) < 15 then raise_application_error(-20002, 'Password length less than 15'); end if; -- Check if the password is too simple. A dictionary of words may be maintained -- and a check may be made so as not to allow the words that are too simple for -- the password. if nls_lower(password) in ('welcome','database','account','user','password','oracle','computer','abcdefgh', '12345') then raise_application_error(-20002, 'Password too simple'); end if; -- Check if the password contains at least two each of the following: -- uppercase characters, lowercase characters, digits and special characters. -- 1. Check for the digits isdigit:=FALSE; numdigit:=0; m:=length(password); for i in 1..10 loop for j in 1..m loop if substr(password,j,1)=substr(digitarray,i,1) then numdigit:=numdigit + 1; end if; if numdigit > 1 then isdigit:=TRUE; goto findlowchar; end if; end loop; end loop; if isdigit=FALSE then raise_application_error(-20003, 'Password should contain at least two digits'); end if; -- 2. Check for the lowercase characters <<findlowchar>> islowchar:=FALSE; numlowchar:=0; m:=length(password); for i in 1..length(lowchararray) loop for j in 1..m loop if substr(password,j,1)=substr(lowchararray,i,1) then numlowchar:=numlowchar + 1; end if; if numlowchar > 1 then islowchar:=TRUE; goto findupchar; end if; end loop; end loop; if islowchar=FALSE then raise_application_error(-20003, 'Password should contain at least two lowercase characters'); end if; -- 3. Check for the UPPERCASE characters <<findupchar>> isupchar:=FALSE; numupchar:=0; m:=length(password); for i in 1..length(upchararray) loop for j in 1..m loop if substr(password,j,1)=substr(upchararray,i,1) then numupchar:=numupchar + 1; end if; if numupchar > 1 then isupchar:=TRUE; goto findpunct; end if; end loop; end loop; if isupchar=FALSE then raise_application_error(-20003, 'Password should contain at least two uppercase characters'); end if; -- 4. Check for the punctuation <<findpunct>> ispunct:=FALSE; numpunct:=0; m:=length(password); for i in 1..length(punctarray) loop for j in 1..m loop if substr(password,j,1)=substr(punctarray,i,1) then numpunct:=numpunct + 1; end if; if numpunct > 1 then ispunct:=TRUE; goto endsearch; end if; end loop; end loop; if ispunct=FALSE then raise_application_error(-20003, 'Password should contain at least two punctuation characters'); end if; -- Check if the password differs from the previous password -- by more than 4 characters <<endsearch>> if old_password is not null then differ:=length(old_password) - length(password); if abs(differ) < 4 then if length(password) < length(old_password) then m:=length(password); else m:=length(old_password); end if; differ:=abs(differ); for i in 1..m loop if substr(password,i,1) != substr(old_password,i,1) then differ:=differ + 1; end if; end loop; if differ < 4 then raise_application_error(-20004, 'Password should differ by more than 4 characters'); end if; end if; end if; -- Everything is fine. return TRUE RETURN(TRUE); EXCEPTION WHEN OTHERS THEN raise_application_error(-20000,'verify_password_dod: Unexpected error: '||SQLERRM,TRUE); END; / alter profile default limit password_verify_function verify_password_dod; NOTE: Password and account requirements have changed for DoD since the STIG requirement listed in the table for this check was published.

b
DBMS account passwords should be set to expire every 60 days or more frequently.
Medium - V-15153 - SV-24779r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0125-ORACLE10
Vuln IDs
  • V-15153
Rule IDs
  • SV-24779r1_rule
The PASSWORD_LIFE_TIME value specifies the length of time the same password may be used to authenticate to a database account. After the time period specified has passed for the assigned password, the user is required to change their password or else forfeit access to the database. Frequent password changes help to decrease the likelihood or duration of a password compromise that would result in unauthorized access.trueDatabase AdministratorIAIA-1, IAIA-2
Checks:

Fix: F-26381r1_fix

Assign a password lifetime of 60 days or less to the default database profile. Assign a password lifetime of 60 days or less to non-default profiles assigned to interactive database accounts. Assign as password lifetime of 365 days or less to non-default profiles assigned to non-interactive database accounts that do not support frequent password changes. Include a list of all database accounts and their profile assignments in the System Security Plan. Modify profiles to assign a password lifetime. From SQL*Plus: alter profile default limit password_life_time 60; alter profile [profile name] limit password_life_time [60 to 365]; Replace [profile name] with any existing, non-default profile name and [60 to 365] with a value between 60 and 365 (days) inclusive.

b
Credentials stored and used by the DBMS to access remote databases or applications should be authorized and restricted to authorized users.
Medium - V-15154 - SV-25081r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0190-ORACLE10
Vuln IDs
  • V-15154
Rule IDs
  • SV-25081r1_rule
Credentials defined for access to remote databases or applications may provide unauthorized access to additional databases and applications to unauthorized or malicious users.Database AdministratorDCFA-1
Checks: C-939r1_chk

Review the list of defined database links generated from the DBMS. Compare to the list in the System Security Plan with the DBA. If no database links are listed in the database and in the System Security Plan, this check is Not a Finding. If any database links are defined in the DBMS, verify the authorization for the definition in the System Security Plan. If any database links exist that are not authorized or not listed in the System Security Plan, this is a Finding.

Fix: F-21332r1_fix

Grant access to database links to authorized users or applications only. Document all database links access authorizations in the System Security Plan.

b
Application objects should be owned by accounts authorized for ownership.
Medium - V-15607 - SV-24591r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0008-ORACLE10
Vuln IDs
  • V-15607
Rule IDs
  • SV-24591r1_rule
Database object ownership implies full privileges to the owned object including the privilege to assign access to the owned objects to other subjects. Unmanaged or uncontrolled ownership of objects can lead to unauthorized object grants and alterations.trueDatabase AdministratorECLP-1
Checks:

Fix: F-2543r1_fix

Document all authorized application object owner accounts. Use only authorized application object owner accounts to install and maintain application database objects. Revoke privileges to create, drop, replace or alter application objects from unauthorized application object owners.

b
Default demonstration and sample database objects and applications should be removed.
Medium - V-15609 - SV-24603r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0014-ORACLE10
Vuln IDs
  • V-15609
Rule IDs
  • SV-24603r1_rule
Demonstration and sample database objects and applications present publicly known attack points for malicious users. These demonstration and sample objects are meant to provide simple examples of coding specific functions and are not developed to prevent vulnerabilities from being introduced to the DBMS and host system.trueDatabase AdministratorDCFA-1
Checks:

Fix: F-2544r1_fix

For the sample applications and schemas with the Oracle database installation, use the provided SQL scripts (if present) to remove the application objects and drop the demo users and schemas: From SQL*Plus: -- Human Resources application: @?/demo/schema/human_resources.hr_drop.sql -- Order Entry application: @?/demo/schema/order_entry/oe_drop.sql and oc_drop.sql -- Product Media application: @?/demo/schema/product_media/pm_drop.sql -- Information Exchange application: @?/demo/schema/information_exchange/ix_drop.sql -- Sales History application: @?/demo/schema/sales_history/sh_drop.sql For other demo applications, deinstall using the SQL command: drop user [demo username] cascade;

b
Each database user, application or process should have an individually assigned account.
Medium - V-15613 - SV-24662r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0078-ORACLE10
Vuln IDs
  • V-15613
Rule IDs
  • SV-24662r1_rule
Use of accounts shared by multiple users, applications, or processes limit the accountability for actions taken in or on the data or database. Individual accounts provide an opportunity to limit database authorizations to those required for the job function assigned to each individual account.Database AdministratorIAIA-1, IAIA-2
Checks: C-1071r1_chk

Review DBMS account names against the list of authorized DBMS accounts in the System Security Plan. If any accounts indicate use by mulitiple persons that are not mapped to a specific person, this is a Finding. If any applications or processes share an account that could be assigned an individual account or are not specified as requiring a shared account, this is a Finding. Note: Privileged installation accounts may be required to be accessed by DBA or other administrators for system maintenance. In these cases, each use of the account must be logged in some manner to assign accountability for any actions taken during the use of the account.

Fix: F-2542r1_fix

Create individual accounts for each user, application, or other process that requires a database connection. Document any accounts that are shared where separation is not supported by the application or for maintenance support. Design, develop and implement a method to log use of any account to which more than one person has access. Restrict interactive access to shared accounts to the fewest persons possible.

b
The DBA role should not be assigned excessive or unauthorized privileges.
Medium - V-15615 - SV-24672r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0085-ORACLE10
Vuln IDs
  • V-15615
Rule IDs
  • SV-24672r1_rule
Oracle SYSDBA privileges include privileges to administer the database outside of database controls (when the database is shut down or open in restricted mode) in addition to all privileges controlled under database operation. Assignment of SYSDBA privileges in the Oracle password file to unauthorized persons can compromise all DBMS activities.trueDatabase AdministratorInformation Assurance OfficerECLP-1
Checks:

Fix: F-2584r1_fix

If a REMOTE_LOGIN_PASSWORDFILE is in use (='EXCLUSIVE'), list database accounts assigned SYSDBA and SYSOPER database privileges and review for appropriate authorization. Document authorized SYSDBA and SYSOPER users in the System Security Plan. From SQL*Plus: select * from v$pwfile_users; To revoke SYSDBA or SYSOPER from accounts: From SQL*Plus: revoke sysdba from [username]; revoke sysoper from [username];

a
Sensitive data should be labeled.
Low - V-15616 - SV-24392r1_rule
RMF Control
Severity
Low
CCI
Version
DG0087-ORACLE10
Vuln IDs
  • V-15616
Rule IDs
  • SV-24392r1_rule
The sensitivity marking or labeling of data items promotes the correct handling and protection of the data. Without such notification, the user may unwittingly disclose sensitive data to unauthorized users.Database AdministratorECML-1
Checks:

Fix: F-26572r1_fix

Develop, document and implement label security requirements. Install and configure label security in accordance with the System Security Plan. Monitor and audit changes to the label security configuration.

b
Access to external objects should be disabled if not required and authorized.
Medium - V-15617 - SV-24693r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0098-ORACLE10
Vuln IDs
  • V-15617
Rule IDs
  • SV-24693r1_rule
The UTL_FILE package allows host file access from within the database using the permissions and privileges assigned to the Oracle database process or service. This package should be used with caution. All files accessible to using this package is equally accessible to any database user with execute permissions to the UTL_FILE package. When UTL_FILE_DIR is set to “*”, all directories accessible to the Oracle database process, typically the Oracle installation account, are accessible via the UTL_FILE package. This setting effectively turns off directory access checking, and makes any directory accessible to the UTL_FILE functions. The UTL_FILE_DIR list should specify only authorized and protected directories and should include only fully specified path names.Database AdministratorDCFA-1
Checks: C-914r1_chk

From SQL*Plus: select value from v$parameter where name='utl_file_dir'; If the returned value contains '*', this is a Finding.

Fix: F-2592r1_fix

Where its use is authorized, restrict access by a database session to external host files. From SQL*Plus: alter system set utl_file_dir=[authorized directory] scope=spfile; Replace [authorized directory] with the directory path where file access and storage is authorized. Review Oracle MetaLink Note 39037.1 if you need to define multiple authorized directories. The above SQL*Plus command will set the parameter to take effect at next system startup.

b
Replication accounts should not be granted DBA privileges.
Medium - V-15619 - SV-24406r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0100-ORACLE10
Vuln IDs
  • V-15619
Rule IDs
  • SV-24406r1_rule
Replication accounts may be used to access databases defined for the replication architecture. An exploit of a replication on one database could lead to the compromise of any database participating in the replication that uses the same account name and credentials. If the replication account is compromised and it has DBA privileges, then the database is at additional risk to unauthorized or malicious action.Database AdministratorDCFA-1
Checks: C-24308r1_chk

If a review of the System Security Plan confirms the use of replication is not required, not permitted and the database is not configured for replication, this check is Not a Finding. If any replication accounts are assigned DBA roles or roles with DBA privileges, this is a Finding.

Fix: F-20461r1_fix

Restrict privileges assigned to replication accounts to the fewest possible privileges. Remove DBA roles from replication accounts. Create and use custom replication accounts assigned least privileges for supporting replication operations.

b
DBMS system data files should be stored in dedicated disk directories.
Medium - V-15623 - SV-24418r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0112-ORACLE10
Vuln IDs
  • V-15623
Rule IDs
  • SV-24418r1_rule
DBMS system data files have different access control requirements than application data and log files. Granting access to system data files beyond those required for system operations could lead to a compromise of the DBMS integrity or disclosure of sensitive data.Database AdministratorDCPA-1
Checks: C-946r1_chk

From SQL*Plus: select file_name from dba_data_files where tablespace_name='SYSTEM'; NOTE: Data files for a given database instance may include data files (*.dbf), REDO log files (redo*.log) and CONTROL files (*.ctl). Review the files in the directory shown above. Allowable files are instance database files (*.dbf), REDO log files (redo*.log) and CONTROL files (*.ctl). If any files other than these exist in the directory, this is a Finding. A good best practice (not consistently endorsed by the Oracle community) is on database creation, using separate subdirectories for data, redo and control files [under the instance name directory] instead of using a single directory to contain all Oracle data, redo and control instance files.

Fix: F-2621r1_fix

Create a dedicated directory or dedicated subdirectories to store database instance files. Reconfigure the Oracle instance to point to the files in the new locations. Where feasible, locate database instance files on a dedicated disk partition and/or RAID device to provide additional protection.

b
DBMS data files should be dedicated to support individual applications.
Medium - V-15624 - SV-25060r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0113-ORACLE10
Vuln IDs
  • V-15624
Rule IDs
  • SV-25060r1_rule
DBMS data files may contain database objects supporting different applications. Shared resources and access to storage locations may lead to one application being vulnerable to the exploit or resource needs of the other. Dedicating data files to each application provides a means to separate by privilege assignment and resource quotas and protect one application from security issues of another.Database AdministratorDCPA-1
Checks: C-1114r1_chk

Review application database tables and their database file assignments. If application database tables from unrelated applications are stored in the same database data files, this is a Finding.

Fix: F-2571r1_fix

Relocate application database tables to distinct database data files where supported by the DBMS.

b
Database privileged role assignments should be restricted to IAO-authorized DBMS accounts.
Medium - V-15626 - SV-24722r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0116-ORACLE10
Vuln IDs
  • V-15626
Rule IDs
  • SV-24722r1_rule
Roles assigned privileges to perform DDL and/or system configuration actions in the database can lead to compromise of any data in the database as well as operation of the DBMS itself. Restrict assignment of privileged roles to authorized personnel and database accounts to help prevent unauthorized activity.trueInformation Assurance OfficerECLP-1
Checks:

Fix: F-3781r1_fix

Create custom roles for each discrete application user / administrator function required for your database and assign the minimum privileges necessary to perform the function. Assign custom roles to accounts. Revoke assignment of predefined roles from accounts where not documented in the System Security Plan and authorized by the IAO.

b
Administrative privileges should be assigned to database accounts via database roles.
Medium - V-15627 - SV-24421r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0117-ORACLE10
Vuln IDs
  • V-15627
Rule IDs
  • SV-24421r1_rule
Privileges granted outside the role of the administrative user job function are more likely to go unmanaged or without oversight for authorization. Maintenance of privileges using roles defined for discrete job functions offers improved oversight of administrative user privilege assignments and helps to protect against unauthorized privilege assignment.Information Assurance OfficerECPA-1
Checks:

Fix: F-3785r1_fix

Revoke assigned administrative privileges from database accounts and assign to accounts via roles. Document roles and assignments in the System Security Plan.

b
DBMS application users should not be granted administrative privileges to the DBMS.
Medium - V-15628 - SV-24744r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0119-ORACLE10
Vuln IDs
  • V-15628
Rule IDs
  • SV-24744r1_rule
Excessive privileges can lead to unauthorized actions on data and database objects. Assigning only the privileges required to perform the job function authorized for the user helps protect against exploits against application vulnerabilities such as SQL injection attacks. The recommended method is to grant access only to stored procedures that perform only static actions on the data authorized for the user. Where this is not feasible, consider using data views or other methods to restrict users to only the data suitable for their job function.Database AdministratorECLP-1
Checks:

Fix: F-3787r1_fix

Revoke ALTER, REFERENCES, and INDEX privileges from application user roles. From SQL*Plus: revoke [privilege] from [application user role]; Replace [privilege] with the identified ALTER, REFERENCES or INDEX privilege and [application user role] with the identified application role.

b
Application users privileges should be restricted to assignment using application user roles.
Medium - V-15629 - SV-24753r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0121-ORACLE10
Vuln IDs
  • V-15629
Rule IDs
  • SV-24753r1_rule
Granting permissions to accounts is error prone and repetitive. Using roles allows for group management of privileges assigned by function and reduces the likelihood of wrongfully assigned privileges. Assign permissions to roles and then grant the roles to accounts.NOTE: This check may report false positives where other ORACLE products have been installed. Accounts installed with other Oracle products are exempt from this requirement.trueDatabase AdministratorECLP-1
Checks:

Fix: F-3791r1_fix

Revoke privileges assigned directly to database accounts and assign them to roles based on job functions. Assign users who are assigned responsibility for the job function to the defined role. From SQL*Plus: revoke [privilege] on [object name] from [user name]; grant [privilege] on [object name] to [role name];

b
Access to sensitive data should be restricted to authorized users identified by the Information Owner.
Medium - V-15630 - SV-24762r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0122-ORACLE10
Vuln IDs
  • V-15630
Rule IDs
  • SV-24762r1_rule
The Oracle parameter file contains configuration settings that are applied to the database at database and instance startup. Unauthorized changes to these parameters could lead to a compromise of the database security posture. Oracle data and redo log files contain the data and transaction information that support the database use. Unauthorized access to these files bypasses access controls defined and enforced by the DBMS itself and can lead to a loss of confidentiality and integrity.Database AdministratorECAN-1
Checks: C-1003r1_chk

Review file permissions defined for critical files. Review the file permissions on the Binary initialization parameter file (the default name is spfile[SID].ora). Binary initialization parameter files are by default located in the $ORACLE_HOME/dbs directory (UNIX) or %ORACLE_HOME%\database directory (Windows). From SQL*Plus: select value from v$parameter where name = 'spfile'; select member from v$logfile; select name from v$datafile; select name from v$controlfile; Check directory and file permissions for the files returned by the SQL commands above, for the files located in the $ORACLE_HOME/network/admin directory (UNIX) or %ORACLE_HOME%\network\admin directory (Windows) and the directory specified by the TNS_ADMIN environment variable, if defined. On UNIX systems: ls –ld [pathname] If permissions are granted for world access, this is a Finding. If any groups that include members other than the Oracle process and software owner accounts, DBAs, auditors, or backup accounts are listed, this is a Finding. On Windows Systems (From Windows Explorer): Browse to the directory specified. Select and right-click on the directory, select Properties, select the Security tab. If permissions are granted to everyone, this is a Finding. If any accounts other than the Oracle process and software owner accounts, Administrators, DBAs, System groups, auditors, or backup accounts are listed, this is a Finding.

Fix: F-3793r1_fix

Set UNIX permissions on critical files to 640 or more restrictive. Check group membership of the group assigned access permissions to the database software to verify all members are authorized to have the assigned access. Set Windows permissions to Full Control assigned to the Administrators, the Oracle service account and DBAs. Remove any unauthorized account access.

b
Access to DBMS system tables and other configuration or metadata should be restricted to DBAs.
Medium - V-15631 - SV-24770r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0123-ORACLE10
Vuln IDs
  • V-15631
Rule IDs
  • SV-24770r1_rule
System tables and DBA views contain information such as user, system and data that could lead to unauthorized access. Revoke any privileges granted to non-DBA accounts that provide direct access to objects owned by SYS or access to DBA views (DBA_%).trueDatabase AdministratorECAN-1
Checks:

Fix: F-26379r1_fix

Revoke unauthorized access to system tables and data. From SQL*Plus: revoke [object privilege] on [system object name] from [account name or role];

b
Use of DBA accounts should be restricted to administrative activities.
Medium - V-15632 - SV-24774r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0124-ORACLE10
Vuln IDs
  • V-15632
Rule IDs
  • SV-24774r1_rule
Use of privileged accounts for non-administrative purposes puts data at risk of unintended or unauthorized loss, modification or exposure. In particular, DBA accounts if used for non-administration application development or application maintenance can lead to miss-assignment of privileges where privileges are inherited by object owners. It may also lead to loss or compromise of application data where the elevated privileges bypass controls designed in and provided by applications.Information Assurance OfficerECLP-1
Checks: C-1189r1_chk

Review objects owned by custom DBA user accounts. If any objects owned by DBA accounts are accessed by non-DBA users either directly or indirectly by other applications, this is a Finding. Review documentation or instructions provided to DBAs to communicate proper and improper use of DBA accounts. If such documentation does not exist or if DBAs do not indicate an understanding of this requirement, this is a Finding.

Fix: F-2620r1_fix

Develop, document and implement policy and procedures for outlining the proper and improper use of DBA accounts. The documentation should clearly state that DBA accounts are used to administer and maintain the database only. DBA accounts are not to be used to create or alter application objects. Application maintenance should always be performed by the application object owner or application administrator accounts. Request acknowledgement of receipt of these restrictions by all users granted DBA responsibilities.

b
Password reuse should be prevented where supported by the DBMS.
Medium - V-15633 - SV-24786r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0126-ORACLE10
Vuln IDs
  • V-15633
Rule IDs
  • SV-24786r1_rule
Password reuse restrictions protect against bypass of password expiration requirements and help protect accounts from password guessing attempts. The DoDI 8500.2 specifies preventing password reuse to the extent system capabilities permit. The PASSWORD_REUSE_MAX value specifies the number of password changes before a password can be reused. The PASSWORD_REUSE_TIME value specifies the length of time before a password can be reused. Database AdministratorIAIA-1, IAIA-2
Checks:

Fix: F-26383r1_fix

Configure the DBMS to prevent password reuse by modifying Oracle profiles: From SQL*Plus: alter profile default limit password_reuse_max 10 password_reuse_time UNLIMITED; alter profile [profile name] limit password_reuse_max default password_reuse_time default; Replace [profile name] with any existing, non-default profile names. Where Host Authentication is used, configure the OS to prevent password reuse. Consider configuring the DBMS to use alternate authentication methods other than password authentication where supported by the DBMS.

b
DBMS account passwords should not be set to easily guessed words or values.
Medium - V-15634 - SV-24791r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0127-ORACLE10
Vuln IDs
  • V-15634
Rule IDs
  • SV-24791r1_rule
DBMS account passwords set to common dictionary words or values render accounts vulnerable to password guessing attacks and unauthorized access.Database AdministratorIAIA-1, IAIA-2
Checks: C-29359r1_chk

If no DBMS accounts authenticate using passwords (rare), this check is Not a Finding. Confirm that database profiles specify a password verify function. From SQL*Plus: select distinct limit from dba_profiles where resource_name= 'PASSWORD_VERIFY_FUNCTION' order by limit; Review the code for the password verify function or have the DBA demonstrate a password change to ensure that the function does not accept passwords that are the same as the username, the name of the database or instance name. If reviewing code, logic similar to the following should be discovered: -- Check if the password is too simple. A dictionary of words may be -- maintained and a check may be made so as not to allow the words -- that are too simple for the password. if nls_lower(password) in ('welcome','database','account','user','password','oracle','computer','abcdefgh', '12345') then raise_application_error(-20002, 'Password too simple'); end if; If any password_verify_function routines do not check for simple passwords, this is a Finding. Check also to ensure all password-authenticated accounts specify a password_verify_function. From SQL*Plus: select distinct profile from dba_profiles where resource_name='PASSWORD_VERIFY_FUNCTION' and (limit is NULL or limit = NULL); If any profiles are returned that are used by password-authenticated accounts, this is a Finding. To view the names of password-authenticated accounts: From SQL*Plus: select name from user$ where password is not NULL;

Fix: F-26385r1_fix

Define and apply a Password Verify Function for all profiles where passwords are used to authenticate accounts. See Fix information for DG0079 to create a Password Verify Function that meets STIG requirements.

c
DBMS default accounts should be assigned custom passwords.
High - V-15635 - SV-24795r1_rule
RMF Control
Severity
High
CCI
Version
DG0128-ORACLE10
Vuln IDs
  • V-15635
Rule IDs
  • SV-24795r1_rule
Oracle databases have several well-known default username/password combinations. Default passwords may provide unauthorized access to the server. Default accounts should be locked and expired when they are not required for daily operations. This finding is a Category I severity because the fully privileged Database Administrator accounts SYS and SYSTEM have well known default passwords and these accounts provide full access to the database.If all of the accounts listed show an account status of LOCKED & EXPIRED or LOCKED this is a Finding, but downgrade the severity Category Code to II.Database AdministratorIAIA-1, IAIA-2
Checks:

Fix: F-26387r1_fix

Change passwords from the default. Ensure passwords meet complexity standards outlined in STIG Requirement DG0079. From SQL*Plus: alter user [username] identified by [password]; Lock and expire any accounts not required for interactive access. From SQL*Plus: alter user [username] account lock; alter user [username] password expire; NOTE: Follow Oracle documentation for changing any default passwords. Some accounts require coordinated actions in order to maintain operational status.

b
DBMS passwords should not be stored in compiled, encoded or encrypted batch jobs or compiled, encoded or encrypted application source code.
Medium - V-15637 - SV-24969r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0130-ORACLE10
Vuln IDs
  • V-15637
Rule IDs
  • SV-24969r1_rule
The storage of passwords in application source or batch job code that is compiled, encoded or encrypted prevents compliance with password expiration and other management requirements as well as provides another means for potential discovery.Database AdministratorInformation Assurance OfficerIAIA-1, IAIA-2
Checks: C-29502r1_chk

Ask the DBA to review application source code that is required by Check DG0091 to be encoded or encrypted for database accounts used by applications or batch jobs to access the database. Ask the DBA to review source batch job code prior to compiling, encoding or encrypting for database accounts used by applications or the batch jobs themselves to access the database. Ask the DBA and/or IAO to determine if the compiled, encoded or encrypted application source code or batch jobs contain passwords used for authentication to the database. If none of the identified compiled, encoded or encrypted application source code or batch job code contain passwords used for authentication, this check is Not a Finding. If any of the identified compiled, encoded or encrypted application source code or batch job code do contain passwords used for authentication to the database, this is a Finding. NOTE: This check only applies to application source code or batch job code that is compiled, encoded or encrypted in a production environment. Application source code or batch job code that is not compiled, encoded or encrypted would fall under Check DG0067 for determination of compliance.

Fix: F-2637r1_fix

Design DBMS application code and batch job code that is compiled, encoded or encrypted to NOT contain passwords. Consider alternatives to using password authentication for compiled, encoded or encrypted batch jobs and DBMS application code.

b
Unlimited account lock times should be specified for locked accounts.
Medium - V-15639 - SV-24424r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0133-ORACLE10
Vuln IDs
  • V-15639
Rule IDs
  • SV-24424r1_rule
When no limit is imposed on failed logon attempts and accounts are not disabled after a set number of failed access attempts, then the DBMS account is vulnerable to sustained attack. When access attempts continue unrestricted, the likelihood of success is increased. A successful attempt results in unauthorized access to the database.Database AdministratorECLO-1, ECLO-2
Checks:

Fix: F-26389r1_fix

Set the password_lock_time on all defined profiles to unlimited. This will require the DBA manually to re-enable every locked account after the failed login limit has been reached. From SQL*Plus: alter profile default limit password_lock_time unlimited; alter profile [profile name] limit password_lock_time default; Replace [profile name] with an existing, non-default profile name.

b
Users should be alerted upon login of previous successful connections or unsuccessful attempts to access their account.
Medium - V-15641 - SV-24427r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0135-ORACLE10
Vuln IDs
  • V-15641
Rule IDs
  • SV-24427r1_rule
Unauthorized access to DBMS accounts may go undetected if account access is not monitored. Authorized users may serve as a reliable party to report unauthorized use of to their account.Database AdministratorECLO-2
Checks: C-29499r1_chk

If the database does not store or process classified data, or user accounts are prohibited from accessing the database interactively, this check is Not a Finding. NOTE: Per the STIG, The definition of an Interactive Database User can be considered an end-user who accesses the database interactively using tools like SQL*Plus, TOAD, etc. and not through a mid-tier application. Your DAA has the option to consider administration accounts (SYSDBA, SYSOPER, SCHEMA accounts and accounts assigned DBA privileges) as Interactive Database User accounts for the purposes of this check. The definition of an Interactive Database User should be documented in the System Security Plan. Have the DBA perform an interactive logon test (via SQL*Plus) using a non-privileged account (and a privileged account if privileged accounts meet this requirement) to verify display of user access and account usage. If the last successful and number of unsuccessful attempts since the last successful attempt are not reported, this is a Finding.

Fix: F-26570r1_fix

Develop, document and implement an automated method to display at interactive logon the time and date of the last successful login and the number of failed login attempts since the last successful login for users that access the database interactively. This may require a custom-developed logon trigger or procedure to accomplish. NOTE: This may cause interaction/functionality problems with COTS applications not designed for this kind of interaction.

b
Access grants to sensitive data should be restricted to authorized user roles.
Medium - V-15642 - SV-24797r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0138-ORACLE10
Vuln IDs
  • V-15642
Rule IDs
  • SV-24797r1_rule
Unauthorized access to sensitive data may compromise the confidentiality of personnel privacy, threaten national security or compromise a variety of other sensitive operations. Access controls are best managed by defining requirements based on distinct job functions and assigning access based on the job function assigned to the individual user.Database AdministratorECAN-1
Checks: C-29368r1_chk

If no data is identified as being sensitive or classified by the Information Owner, in the System Security Plan or in the AIS Functional Architecture documentation, this check is Not a Finding. if no identified sensitive or classified data requires encryption by the Information Owner in the System Security Plan and/or AIS Functional Architecture documentation, this check is Not a Finding. Review data access requirements for sensitive data as identified and assigned by the Information Owner in the System Security Plan. Review the access controls for sensitive data configured in the database. If the configured access controls do not match those defined in the System Security Plan, this is a Finding.

Fix: F-26392r1_fix

Define, document and implement all sensitive data access controls based on job function in the System Security Plan.

b
Attempts to bypass access controls should be audited.
Medium - V-15644 - SV-24800r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0141-ORACLE10
Vuln IDs
  • V-15644
Rule IDs
  • SV-24800r1_rule
Configuring proper auditing is critical to recording any malicious events or detecting when attacks on the database occur. Auditing can be turned on for any SQL statement or any use of a system privilege. Auditing can be enabled for all users (system wide) or for specific users. You may indicate whether one audit record for each access to an object or one audit record for the entire session is generated. You can enable auditing for commands that result in success, commands that result in failure, or both. Not all audit options can be audited by session. Audit options set using the BY SESSION clause for those actions that will not produce a session audit record will default to BY ACCESS.Database AdministratorECAR-2, ECAR-3
Checks:

Fix: F-22790r1_fix

There are three (3) types of auditable events: 1) Use of system privileges, 2) Use of object privileges, and 3) Issuance of statements. Activating some auditing options sometimes activates others. For example, the use of a system privilege requires the issuance of a system command. Auditing for use of the privilege also audits for the statement. Configure auditing for Oracle as follows: From SQL*Plus: audit all by access; audit all privileges by access; audit alter java class by access; audit alter java resource by access; audit alter java source by access; audit alter sequence by access; audit alter table by access; audit comment table by access; audit create java class by access; audit create java resource by access; audit create java source by access; audit debug procedure by access; audit drop java class by access; audit drop java resource by access; audit drop java source by access; audit exempt access policy by access; audit exempt identity policy by access; audit grant directory by access; audit grant procedure by access; audit grant sequence by access; audit grant table by access; audit grant type by access; audit sysdba by access; audit sysoper by access; The following SQL statements will disable audits set by the commands above that are not required: noaudit execute library; audit rename on default by access; If application objects have already been created, then the audit rename on object statement should be issued for all application objects. From SQL*Plus: audit rename on [application object name] by access;

b
Changes to configuration options are not audited.
Medium - V-15645 - SV-24804r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0142-ORACLE10
Vuln IDs
  • V-15645
Rule IDs
  • SV-24804r1_rule
The AUDIT_SYS_OPERATIONS parameter is used to enable auditing of actions taken by the user SYS. The SYS user account is a shared account by definition and holds all privileges in the Oracle database. It is the account accessed by users connecting to the database with SYSDBA or SYSOPER privileges.Database AdministratorECAR-3
Checks:

Fix: F-26395r1_fix

From SQL*Plus: alter system set audit_sys_operations = TRUE scope = spfile; The above SQL*Plus command will set the parameter to take effect at next system startup.

b
Audit records should contain required information.
Medium - V-15646 - SV-24971r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0145-ORACLE10
Vuln IDs
  • V-15646
Rule IDs
  • SV-24971r1_rule
Complete forensically valuable data may be unavailable or accountability may be jeopardized when audit records do not contain sufficient information.Database AdministratorECAR-1, ECAR-2, ECAR-3
Checks: C-1716r1_chk

Review samples of the DBMS audit logs. Compare to the required elements listed below: - User ID. - Successful and unsuccessful attempts to access security files - Date and time of the event. - Type of event. If the elements listed above are not included in the audit logs at at minimum, this is a Finding.

Fix: F-18329r1_fix

Configure audit settings to include the following list of elements in the audit logs at a minimum: - User ID. - Successful and unsuccessful attempts to access security files - Date and time of the event. - Type of event.

b
Audit records should include the reason for blacklisting or disabling DBMS connections or accounts.
Medium - V-15647 - SV-24974r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0146-ORACLE10
Vuln IDs
  • V-15647
Rule IDs
  • SV-24974r1_rule
Records of any disabling or locking of account actions taken by the DBMS can contain information valuable to decisions to employ additional responsive actions.Database AdministratorECAR-2, ECAR-3
Checks: C-1789r1_chk

Review audit settings for disabling or locking account events based on event failures. If the settings are not configured to include the cause of the lock or disabling, this is a Finding.

Fix: F-3419r1_fix

Determine and implement audit settings that will collect and store the cause of any DBMS account or connection lock or disabling actions taken by the DBMS.

b
DBMS symmetric keys should be protected in accordance with NSA or NIST-approved key management technology or processes.
Medium - V-15654 - SV-24816r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0165-ORACLE10
Vuln IDs
  • V-15654
Rule IDs
  • SV-24816r1_rule
Symmetric keys used for encryption protect data from unauthorized access. However, if not protected in accordance with acceptable standards, the keys themselves may be compromised and used for unauthorized data access.Database AdministratorIAKM-1, IAKM-2, IAKM-3
Checks: C-29380r1_chk

If Symmetric keys are present and Oracle Advanced Security is not installed and operational on the DBMS host, this is a Finding. If the symmetric key management procedures and configuration settings for the DBMS are not specified in the System Security Plan, this is a Finding. If the procedures are not followed with evidence for audit, this is a Finding. NOTE: This check does not include a review of the key management procedures for validity. Specific key management requirements may be covered under separate checks.

Fix: F-26405r1_fix

Symmetric and other encryption keys require the following: - protection from unauthorized access in transit and in storage - utilization of accepted algorithms - generation in accordance with required standards for the key's use - expiration date - continuity - key backup and recovery - key change - archival key storage (as necessary) Details for key management requirements are provided by FIPS 140-2 key management standards available from NIST. Oracle Advanced Security is required to provide symmetric key management features.

b
Changes to DBMS security labels should be audited.
Medium - V-15657 - SV-24441r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0172-ORACLE10
Vuln IDs
  • V-15657
Rule IDs
  • SV-24441r1_rule
Some DBMS systems provide the feature to assign security labels to data elements. The confidentiality and integrity of the data depends upon the security label assignment where this feature is in use. Changes to security label assignment may indicate suspicious activity.Database AdministratorECLC-1
Checks: C-29501r1_chk

If no data is identified as being sensitive or classified by the Information Owner, in the System Security Plan or in the AIS Functional Architecture documentation, this check is Not a Finding. If no identified sensitive or classified data requires encryption by the Information Owner in the System Security Plan and/or AIS Functional Architecture documentation, this check is Not a Finding. From SQL*Plus: select * from dba_sa_audit_options; If no records are returned or if output from the SQL statement above does not show classification labels being audited as required in the System Security Plan, this is a Finding.

Fix: F-26411r1_fix

Define the policy for auditing changes to security labels defined for the data. Document the audit requirements in the System Security Plan and configure database auditing in accordance with the policy.

b
Remote database or other external access should use fully-qualified names.
Medium - V-15660 - SV-24837r1_rule
RMF Control
Severity
Medium
CCI
Version
DG0192-ORACLE10
Vuln IDs
  • V-15660
Rule IDs
  • SV-24837r1_rule
The Oracle GLOBAL_NAMES parameter is used to set the requirement for database link names to be the same name as the remote database whose connection they define. By using the same name for both, ambiguity is avoided and unauthorized or unintended connections to remote databases are less likely.Database AdministratorDCFA-1
Checks:

Fix: F-26423r1_fix

From SQL*Plus: alter system set global_names = TRUE scope = spfile; NOTE: This parameter, if changed, will affect all currently defined Oracle database links. The above SQL*Plus command will set the parameter to take effect at next system startup.