UCF STIG Viewer Logo
Changes are coming to https://stigviewer.com. Take our survey to help us understand your usage and how we can better serve you in the future.
Take Survey

Unused database components, DBMS software, and database objects must be removed.


Overview

Finding ID Version Rule ID IA Controls Severity
V-61679 O121-C2-011600 SV-76169r1_rule Medium
Description
Information systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). It is detrimental for applications to provide, or install by default, functionality exceeding requirements or mission objectives. Examples include, but are not limited to, installing advertising software, demonstrations, or browser plug-ins not related to requirements or providing a wide array of functionality not required for the mission. Applications must adhere to the principles of least functionality by providing only essential capabilities. 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. Unused and unnecessary DBMS components increase the attack vector for the DBMS by introducing additional targets for attack. By minimizing the services and applications installed on the system, the number of potential vulnerabilities is reduced.
STIG Date
Oracle Database 12c Security Technical Implementation Guide 2015-12-21

Details

Check Text ( C-62555r1_chk )
Review the list of components and features installed with the database.

If unused components are installed and are not documented and authorized, this is a finding.

SQL*PLUS can also be used to check to see what is installed in the database:

sqlplus connect as sysdba
set linesize 121
col parameter format a35
col value format a35
select * from v$option;

This returns database components and their status. TRUE means that the component is installed. If the component is not installed, it will be set to FALSE or will not be returned by the query.

Starting with releases 11.1.0.7.x and above, all products are installed by default and the option to customize the product/component selection is no longer possible with the exception of those listed here:
Oracle JVM, Oracle Text, Oracle Multimedia, Oracle OLAP, Oracle Spatial, Oracle Label Security, Oracle Application Express, Oracle Database Vault
Fix Text (F-67593r1_fix)
If any components are required for operation of applications that will be accessing the DBMS, include them in the system documentation.

Cannot remove components, either via Database Configuration Assistant (DBCA) or manually once the database has been created, either from a container or a non-container database.

Can, however, use DBCA to create a non-container database and remove components during the creation process, before the database is created.

When using DBCA to create a custom non-container database, select

creation mode = advanced/Database Template = Custom / Database Options..Database Component.
Components that can be selected or de-selected are:
Oracle JVM, Oracle Text, Oracle Multimedia, Oracle OLAP, Oracle Spatial, Oracle Label Security, Oracle Application Express, Oracle Database Vault

For a container database (CDB), the CDB$ROOT must have all possible database components available. This is because, when a pluggable database (PDB) is plugged into the CDB, the CDB must have the same components installed as the PDB. Since we do not know what components the PDBS may have, the CDB must be able to support all possible PDB configurations.

Components installed in the CDB$ROOT do not need to be licensed. Components are only considered to be used if they are installed in the PDB.

To configure a PDB to only use specific components, then they would need to do the following:

1) Create a non-CDB 12.1 database and configure that database with the components desired.

2) Plug the non-CDB database into a CDB database, creating a new PDB. If wanted, can then create additional clones from the new PDB.