Oracle 学习笔记3 —— 使用Profile管理用户密码

profile用户资源配置文件是用户密码限制,资源限制的集合。profile文件作为Oracle安全策略的重要组成部分,可以用于对数据库用户进行基本的资源限制,也可以对用户的密码进行管理。需要注意的是:

建立profile文件时,如果只设置了部分密码和资源参数,其他参数自动使用默认值,而非default 文件中的值。

建立用户时,如果不指定profile选项,Oracle会自动将default文件分配给用户。

一个用户只能分配一个profile文件。如果要同时管理用户的资源和密码,在建立profile时应该同时指定密码和资源选项。

使用profile管理用户时,密码选项总是激活的,但是用于资源选项需要激活。

这一篇只讨论用户密码安全的管理。


1、安全策略一 —— 账户自动锁定

Oracle中,用户连续三次密码输入错误,账户就会被锁定(解锁的方法见上一篇)。通过这种方式,可以防止密码被暴力破解。设置自动锁定的参数有两个:

FAILED_LOGIN_ATTEMPTS  登录失败次数。顾名思义,也就是用户登录时,允许失败的次数。一旦用户输入密码错误次数达到这个值,账户就会被锁定。

PASSWORD_LOGIN_TIME   指定账户被锁定的天数。

create profile profile_login limit
    failed_login_attempts 3
    password_login_time 10;
alter user USER_NAME profile profile_login_limit;

设置最大错误次数为3天,锁定时间为10天。

2、安全策略二 —— 密码有效期

定期修改密码也是密码安全常用的方法之一。

PASSWORD_LIFE_TIME 该参数用于设置用户密码的有效天数,单位为天。超过一定天数,Oracle会强制用户修改密码。

PASSWORD_GRACE_TIME  密码失效的宽限时间。如果超过了PASSWORD_LIFE_TIME 的时间,可以继续使用PASSWORD_GRACE_TIME  天。不觉想起每天早上和闹钟的战斗!

create profile profile_pass_life limit
    password_life_time 30
    password_grace_time 3;

设置密码有效期为30天,宽限时间为3天。

3、安全策略三 —— 历史密码

上有政策,下有对策。设置密码有效期后,有些童鞋还是可以钻空子。设置新旧密码相同,不过Oracle早就有办法了。

PASSWORD_REUSE_TIME  指定密码可以重用的天数。

PASSWORD_REUSE_MAX 设置密码重用之前,必须改变的次数。

create profile profile_pass_history limit
    password_life_time 30
    password_grace_time 3
    password_reuse_time 90
    password_reuse_max  2;
用户密码到期后,则不能再使用旧密码。
4、安全策略四 —— 设置密码复杂度

123456这样的密码可以一边凉快了。

Oracle 11G中,已经在$ORACLE_HOME/RDBMS/ADMIN目录下创建了密码验证文件 utlpwdmg.sql,末尾为:

ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 60
PASSWORD_GRACE_TIME 10
PASSWORD_REUSE_TIME 1800
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 1/1440
PASSWORD_VERIFY_FUNCTION verify_function;

直接拿来用就可以了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值