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数据库系统时,应该考虑到这些新特性,并在配置时加以体现。