一、环境介绍:
linux 6.6
Oracle Database 12c HA环境
二、场景描述:
运维人员使用pdb中的业务用户appuser1通过客户端工具sqlpus,SQLDevloper工具,输入密码不论大小均可用正常登录,密码大小不敏感。
[oracle@db12c ~]$ sqlplus hr/Oracle#123@db12c.example.com:1525/pdbhr.example.com
SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 27 14:21:21 2020
Copyright (c) 1982, 2016, Oracle. All rights reserved.
st Successful login time: Tue Feb 12 2019 22:24:38 +08:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> show user
USER is "HR"
SQL>
[oracle@db12c ~]$ sqlplus hr/oracle#123@db12c.example.com:1525/pdbhr.example.com
SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 27 14:21:21 2020
Copyright (c) 1982, 2016, Oracle. All rights reserved.
st Successful login time: Tue Feb 12 2019 22:24:38 +08:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> show user
USER is "HR"
pdb中的巡检用户hrcheck必须使用正确密码才能登录,大小写是敏感的。
通过验证只有1个业务大小不敏感,其他用户大小敏感,检查大小敏感相关参数
[oracle@db12c ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 27 14:25:52 2020
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> show parameter sec
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_securefile string PREFERRED
optimizer_secure_view_merging boolean TRUE
sec_case_sensitive_logon boolean TRUE
sec_max_failed_login_attempts integer 3
sec_protocol_error_further_action string (DROP,3)
sec_protocol_error_trace_action string TRACE
sec_return_server_release_banner boolean FALSE
sql92_security boolean TRUE
SQL>
在Oracle的11g之前的版本中密码是不区分大小写的(使用双引号强制除外)。在Oracle的11g版本中对此有所增强。从此密码有了大小写的区分,这个大小写敏感特性是通过SEC_CASE_SENSITIVE_LOGON参数来控制的。SEC_CASE_SENSITIVE_LOGON参数启用或禁用数据库中的密码大小写敏感性。它默认为真实值。
TRUE -数据库登录密码区分大小写
FLASE-数据库登录密码不区分大小写
SQL>select username,password_versions from cdb_users where account_status=’OPEN’
And profile=’APP_PROFILE’;
USERNAME PASSWORD_VERSIONS
------------------------ ------------------------
appuser1 10G
hrcheck 10G 11G 12C
appuser1用户的password_versions为10G是导致密码大小写不敏感的原因,按照profile的要求重置密码后,密码大小写敏感。该系统的数据库是由Oracle10g通过数据泵方式迁移至12c的,appuser1用户使用了老版本的password_version。
四、总结
建议生产环境数据库用户坚持权限最小,按需使用。用户必须配置相应的profile,密码复杂度符合要求,不要使用弱口令,定期修改密码。