STIGQter STIGQter: STIG Summary: Oracle Database 12c Security Technical Implementation Guide Version: 1 Release: 16 Benchmark Date: 24 Jan 2020: The DBMS must support organizational requirements to enforce the number of characters that get changed when passwords are changed.

DISA Rule

SV-76221r2_rule

Vulnerability Number

V-61731

Group Title

SRG-APP-000170-DB-000073

Rule Version

O121-C2-014500

Severity

CAT II

CCI(s)

Weight

10

Fix Recommendation

If any user accounts are managed by Oracle: Develop, test, and implement a password verification function that enforces DoD requirements.

Oracle supplies a sample function called ORA12C_STRONG_VERIFY_FUNCTION. This can be used as the starting point for a customized function. The script file is found in the following location on the server depending on OS:
Windows:
%ORACLE_HOME%\RDBMS\ADMIN\catpvf.sql
UNIX/Linux:
$ORACLE_HOME/rdbms/admin/catpvf.sql

Check Contents

If all user accounts are managed and authenticated by the OS or an enterprise-level authentication/access mechanism, and not by Oracle, this is not a finding.

For each profile that can be applied to accounts where authentication is under Oracle's control, determine the password verification function, if any, that is in use:

SELECT * FROM SYS.DBA_PROFILES
WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION'
[AND PROFILE NOT IN (<list of non-applicable profiles>)] ORDER BY PROFILE;

Bearing in mind that a profile can inherit from another profile, and the root profile is called DEFAULT, determine the name of the password verification function effective for each profile.

If, for any profile, the function name is null, this is a finding.

For each password verification function, examine its source code.

If it does not enforce the organization-defined minimum number of characters by which the password must differ from the previous password (eight of the characters unless otherwise specified), this is a finding.

Vulnerability Number

V-61731

Documentable

False

Rule Version

O121-C2-014500

Severity Override Guidance

If all user accounts are managed and authenticated by the OS or an enterprise-level authentication/access mechanism, and not by Oracle, this is not a finding.

For each profile that can be applied to accounts where authentication is under Oracle's control, determine the password verification function, if any, that is in use:

SELECT * FROM SYS.DBA_PROFILES
WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION'
[AND PROFILE NOT IN (<list of non-applicable profiles>)] ORDER BY PROFILE;

Bearing in mind that a profile can inherit from another profile, and the root profile is called DEFAULT, determine the name of the password verification function effective for each profile.

If, for any profile, the function name is null, this is a finding.

For each password verification function, examine its source code.

If it does not enforce the organization-defined minimum number of characters by which the password must differ from the previous password (eight of the characters unless otherwise specified), this is a finding.

Check Content Reference

M

Target Key

2679

Comments