TMAegis
More rules for oracle-db

TMA-ORACLE-DB-4.4

Ensure Old Password Versions Are Not Used

HighLevel 1Automatedoracle-db

Description

No password versions (hashes) prior to 12c should be allowed for user authentication. Run on the database host as the Oracle software owner with ORACLE_HOME, ORACLE_SID and PATH set; connects to the CDB root with 'sqlplus -S / as sysdba' (OS authentication) so CDB_/GV$ views cover all open PDBs.

How it is checked

Audit method: SQL query

sql_query
out=$(sqlplus -S -L / as sysdba 2>/dev/null <<'EOF'
whenever sqlerror exit failure
set heading off feedback off pagesize 0 verify off echo off trimspool on define off
select count(*) from cdb_users c
where not regexp_like(c.password_versions, '^\s*12C\s*$')
and c.username not in ('SYS');
exit
EOF
) || exit 1
printf '%s\n' "$out"
Expected output
0

How it is fixed

Fix method: Guidance or infrastructure patch

Follow the process "Finding and Resetting User Passwords That Use the 10G Password Version" as outlined in the Oracle Database Upgrade Guide to reset affected user passwords and enforce 12c password versioning. ; Identify users with old password versions. ; Ensure that SQLNET.ALLOWED_LOGON_VERSION_SERVER is set to 12a. ; Reset their passwords using the ALTER USER command.

Properties

Operating systems
Any
Tags
oracle-dbdatabaseoracleauthentication
Reference
CIS Oracle Database 23ai Benchmark v1.1.0 - 4.4 Ensure Old Password Versions Are Not Used

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target oracle-db