12c密码加固

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12c密码加固相关的知识,希望对你有一定的参考价值。

关于Oracle12c 密码加固金融行业都是有要求的,这里做一个测试记录。
1、创建一个用户
[email protected]> create user roidba identified by roidba;
create user roidba identified by roidba
*
ERROR at line 1:
ORA-28003: password verification for the specified password failed
ORA-20001: Password same as or similar to user  --出现报错,提示密码验证失败。

2、查看profile
[email protected]> select * from dba_profiles;

PROFILE            RESOURCE_NAME                  RESOURCE_TYPE    LIMIT           COMMON
------------------ ------------------------------ ---------------- --------------- ------
DEFAULT            COMPOSITE_LIMIT                KERNEL           UNLIMITED       NO
DEFAULT            SESSIONS_PER_USER              KERNEL           UNLIMITED       NO
DEFAULT            CPU_PER_SESSION                KERNEL           UNLIMITED       NO
DEFAULT            CPU_PER_CALL                   KERNEL           UNLIMITED       NO
DEFAULT            LOGICAL_READS_PER_SESSION      KERNEL           UNLIMITED       NO
DEFAULT            LOGICAL_READS_PER_CALL         KERNEL           UNLIMITED       NO
DEFAULT            IDLE_TIME                      KERNEL           UNLIMITED       NO
DEFAULT            CONNECT_TIME                   KERNEL           UNLIMITED       NO
DEFAULT            PRIVATE_SGA                    KERNEL           UNLIMITED       NO
DEFAULT            FAILED_LOGIN_ATTEMPTS          PASSWORD         10              NO
DEFAULT            PASSWORD_LIFE_TIME             PASSWORD         180             NO
DEFAULT            PASSWORD_REUSE_TIME            PASSWORD         UNLIMITED       NO
DEFAULT            PASSWORD_REUSE_MAX             PASSWORD         UNLIMITED       NO
DEFAULT            PASSWORD_VERIFY_FUNCTION       PASSWORD         VERIFY_FUNCTION NO
DEFAULT            PASSWORD_LOCK_TIME             PASSWORD         1               NO
DEFAULT            PASSWORD_GRACE_TIME            PASSWORD         7               NO
ORA_STIG_PROFILE   COMPOSITE_LIMIT                KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   SESSIONS_PER_USER              KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   CPU_PER_SESSION                KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   CPU_PER_CALL                   KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   LOGICAL_READS_PER_SESSION      KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   LOGICAL_READS_PER_CALL         KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   IDLE_TIME                      KERNEL           15              NO
ORA_STIG_PROFILE   CONNECT_TIME                   KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   PRIVATE_SGA                    KERNEL           DEFAULT         NO
ORA_STIG_PROFILE   FAILED_LOGIN_ATTEMPTS          PASSWORD         3               NO
ORA_STIG_PROFILE   PASSWORD_LIFE_TIME             PASSWORD         60              NO
ORA_STIG_PROFILE   PASSWORD_REUSE_TIME            PASSWORD         365             NO
ORA_STIG_PROFILE   PASSWORD_REUSE_MAX             PASSWORD         10              NO
ORA_STIG_PROFILE   PASSWORD_VERIFY_FUNCTION       PASSWORD         ORA12C_STRONG_V NOERIFY_FUNCTION     --使用了12c密码验证策略

ORA_STIG_PROFILE   PASSWORD_LOCK_TIME             PASSWORD         UNLIMITED       NO
ORA_STIG_PROFILE   PASSWORD_GRACE_TIME            PASSWORD         5               NO

32 rows selected.

[email protected]> 

3、密码验证策略要求

ora12c_strong_verify_function Function Password Requirements
The ora12c_strong_verify_function function fulfills the Department of Defense Database Security Technical Implementation Guide requirements.

This function checks for the following requirements when users create or modify passwords:

The password must contain at least 2 upper case characters, 2 lower case characters, 2 numeric characters, and 2 special characters. These special characters are as follows:
--要求至少2个大写,两个小写,2个数字,2个特殊字符
‘ ~ ! @ # $ % ^ & * ( ) _ - + = { } [ ] \ / < > , . ; ? ‘ : | (space) 
The password must differ from the previous password by at least 4 characters.

The following internal checks are also applied:

The password contains no fewer than nine characters and does not exceed 30 characters.
The password does not contain the double-quotation character ("). It can be surrounded by double-quotation marks, however.

4、根据要求重新创建一个用户

[email protected]> create user roidba identified by "[email protected]";

User created.
[email protected]> grant connect to roidba;

Grant succeeded.

[email protected]> conn roidba/"[email protected]"
Connected.
[email protected]>

5、取消密码复杂度验证

[email protected]> ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;

Profile altered.

[email protected]> alter user roidba identified by roidba;

User altered.

[email protected]> 

6、设置密码复杂度验证操作过程

Enabling Password Complexity Verification
The utlpwdmg.sql script can be customized to enable password complexity verification.

Log in to SQL*Plus with administrative privileges.
For example:

CONNECT SYSTEM
Enter password: password
Run the utlpwdmg.sql script (or your modified version of this script) to create the password complexity functions in the SYS schema.
@$ORACLE_HOME/rdbms/admin/utlpwdmg.sql
Grant any users who must use this function the EXECUTE privilege on it.
For example:

GRANT pmsith EXECUTE ON ora12c_strong_verify_function;
In the default profile or the user profile, set the PASSWORD_VERIFY_FUNCTION setting to either the sample password complexity function in the utlpwdmg.sql script, or to your customized function. Use one of the following methods:
Log in to SQL*Plus with administrator privileges and use the CREATE PROFILE or ALTER PROFILE statement to enable the function. Ensure that you have the EXECUTE privilege on the function.

For example, to update the default profile to use the ora12c_strong_verify_function function:

ALTER PROFILE default LIMIT 
 PASSWORD_VERIFY_FUNCTION ora12c_strong_verify_function;

以上是关于12c密码加固的主要内容,如果未能解决你的问题,请参考以下文章

安全加固

centos及apache 安全加固

redis设置密码以及加固建议

SSH安全加固后不密码登录异常

linux加固安全之密码复杂度

Windows下安装Oracle12C