一、 密码策略
(1)加固目的
在Oracle数据库,我们可以通过修改用户概要文件来设置密码的安全策略,可以自定义密码的复杂度,在概要文件汇总有一下参数是和密码安全有关系的;
FAILED_LOGIN_ATTEMPTS:最大错误登录次数
PASSWORD_GRACE_TIME:口令失效后锁定时间
PASSWORD_LIFE_TIME:口令有效时间
PASSWORD_LOCK_TIME:登录超过有效次数锁定时间
PASSWORD_REUSE_MAX:当前口令被重用之前密码改变的次数
PASSWORD_REUSE_TIME:口令重用的最小间隔时间,单位是天
PASSWORD_VERIFY_FUNCTION:口令复杂度审计函数
(2)当前数据库密码安全策略的查看及推荐参数
新建查询,在查询界面输入如下命令:
SELECT USERNAME,PROFILE FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN',SELECT * FROM DBA_PROFILES WHERE RESOURCE_TYPE='PASSWORD';
核查使用中的PROFILE的
- l PASSWORD_LIFE_TIME
- l PASSWORD_REUSE_TIME
- l PASSWORD_REUSE_MAX
- l PASSWORD_VERIFY_FUNCTION
- l PASSWORD_GRACE_TIME。
推荐值
? PASSWORD_LIFE_TIME=90
? PASSWORD_REUSE_TIME=90
? PASSWORD_REUSE_MAX=5
? PASSWORD_VERIFY_FUNCTION=VERIFY_FUNCTION
? PASSWORD_GRACE_TIME=7。
二、 登录失败处理功能
新建查询,在查询界面输入如下命令:
SELECT USERNAME,PROFILE FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN', SELECT * FROM DBA_PROFILES WHERE RESOURCE_TYPE='PASSWORD';
核查所有使用中的PROFILE的
- l FAILED_LOGIN_ATTEMPTS
- l PASSWORD_LOCK_TIME。
三、 登录超时自动退出功能
新建查询,在查询界面输入如下命令:
SELECT USERNAME,PROFILE FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN', SELECT * FROM DBA_PROFILES WHERE RESOURCE_TYPE='KERNEL';
核查所有使用中的PROFILE的
- l IDLE_TIME
- l CONNECT_TIME。
推荐值
? FAILED_LOGIN_ATTEMPTS=5
? PASSWORD_LOCK_TIME=1。
? IDLE_TIME=10
? CONNECT_TIME=1。
四、 数据库操作审计
(1) 加固目的
Oracle数据库具有对其内部所有发生的活动的审计能力,审计日志一般放在sys.aud$表中,也可以写入操作系统的审计跟踪文件中。可审计的活动有三种类型:登录尝试、数据库活动和对象存取,缺省情况下,数据库不启动审计,要求管理员配置数据库后才能启动审计。
(2) 加固方法
使用文本方式,打开数据库配置文件init.ora;更改以下参数配置
AUDIT_TRAIL=True。
Alter system set audit_trail=’OS’ scope=spfile。
Alter system set audit_sys_operations=true scope=spfile。
默认为false,当设置未true时,所有sys用户的操作都会被记录。
五、 总结
对于一个数据库管理员来说,安全性就意味着必须保证那些具有特定数据访问权限的用户能够登录到Oracle,并且能够访问数据以及对数据库对象实施各种权限范围内的操作;同时,他还要防止所有的非授权用户的非法操作。
安全身份验证用来确认登录到Oracle数据的用户的登录账号和密码的正确性,由此来验证该用户是否具有链接Oracle数据的权限。任何用户在使用数据库之前,必须经过系统的安全身份验证才能登录到数据中。