Oracle 11的密码安全性提升(oracle11密码格式)

Oracle 11的密码安全性提升

在当前信息时代,随着网络安全攻击的不断增加,系统的密码安全性已成为系统安全的重要因素之一。为此,Oracle数据库在其11g版本中提升了密码安全性,增加了诸如复杂度、过期时间、历史密码等特性,以加强数据库的安全性。

1. 密码复杂度

Oracle 11g新增了密码复杂度校验机制,要求密码长度不少于8位,同时必须包含大小写字母、数字以及特殊字符。这种机制可以有效防止简单密码和弱口令的出现,从而增强了数据库的安全性。

以下是Oracle 11g中的密码复杂度检查规则:

SQL> ALTER PROFILE DEFAULT LIMIT password_verify_function MY_CUSTOM_PASSWORD_CHECK;

SQL> CREATE OR REPLACE FUNCTION MY_CUSTOM_PASSWORD_CHECK

RETURN BOOLEAN AS

BEGIN

IF LENGTH(sys_context(‘userenv’,’password’))

RETURN FALSE;

END IF;

IF NOT (REGEXP_LIKE(sys_context(‘userenv’, ‘password’), ‘[[:alnum:]]’) AND

REGEXP_LIKE(sys_context(‘userenv’, ‘password’), ‘[[:alpha:]]’) AND

REGEXP_LIKE(sys_context(‘userenv’,’password’), ‘[[:digit:]]’) AND

REGEXP_LIKE(sys_context(‘userenv’,’password’), ‘[^[:alnum:][:digit:]]’)

THEN RETURN FALSE;

END IF;

RETURN TRUE;

END;

/

该机制可以通过修改默认的密码策略(DEFAULT)、修改默认的Profile或者创建自定义Profile来启用。以下是修改默认Profile的示例代码:

SQL> ALTER PROFILE DEFAULT LIMIT password_verify_function MY_CUSTOM_PASSWORD_CHECK;

2. 密码过期时间

在Oracle 11g中,可以设置密码的过期时间,当用户密码过期时,必须强制用户修改密码才能继续使用数据库系统。

SQL> ALTER PROFILE DEFAULT LIMIT password_life_time 90;

以上代码将系统设置为每个账户密码有效期为90天,可以将这个值根据实际业务情况进行调整。

在密码过期时间到期时,用户将被要求修改密码。如果用户超过规定时间未修改密码,则账户将被锁定。这些机制可以有效保护数据库中的敏感信息,增强了系统的安全性。

3. 历史密码

在Oracle 11g中,可以归档以前使用过的密码,并将它们添加到密码历史记录中。当用户尝试创建新密码时,Oracle会检查该密码是否曾经被使用过,如果是,则不允许用户创建该密码。

以上是Oracle 11g中密码历史记录的实现代码:

SQL> ALTER PROFILE DEFAULT LIMIT password_reuse_time 365;

密码历史记录可以有效防止用户使用过期的密码和低质量的密码,从而保护数据库中的关键信息。

综上所述,在Oracle 11g中,密码安全性得到了大幅度的提升。通过密码复杂度、过期时间和历史密码等特性的引入,可以更好地保护数据库中存储的关键信息,并提供更加安全的服务。因此,在建立Oracle数据库系统时,应该考虑到这些新特性,并在配置时加以体现。


数据运维技术 » Oracle 11的密码安全性提升(oracle11密码格式)