OceanBase
TMA-OCEANBASE-5.2.1
Public Role Privileges
Description
The unnecessary privileges should be revoked from default public role to minimize security risks and adhere to the principle of least privilege. Oracle-mode tenant. Passes when PUBLIC holds no system, role or object privileges; any grant that is returned must be justified by organisational need. Runs obclient against an Oracle-mode tenant using the connection options in OB_ORA_CONN (default "-h127.0.0.1 -P2881 -uSYS@oracle"); supply the password via OB_ORA_CONN (-p...) or ~/.my.cnf.
How it is checked
Audit method: SQL query
out=$(obclient ${OB_ORA_CONN:--h127.0.0.1 -P2881 -uSYS@oracle} -N -B -e "SELECT (SELECT COUNT(*) FROM DBA_SYS_PRIVS WHERE GRANTEE = 'PUBLIC') + (SELECT COUNT(*) FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'PUBLIC') + (SELECT COUNT(*) FROM USER_TAB_PRIVS WHERE GRANTEE = 'PUBLIC') FROM DUAL" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
0
How it is fixed
Fix method: Guidance or infrastructure patch
REVOKE <role> FROM PUBLIC; REVOKE <system_privilege> FROM PUBLIC; REVOKE <privilege> ON <object> FROM PUBLIC; for every unnecessary grant.
Properties
- Operating systems
- Any
- Tags
- oceanbaseprivilegesoracle-mode
- Reference
- CIS OceanBase Enterprise Edition V4 Benchmark v1.0.0 - 5.2.1 Public Role Privileges
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target oceanbase