在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
数据库安全配置中,需要做相关的安全加固工作。以确认数据库的安全,但是,有些时候,操作不当或者数据库业务账号修改密码后,而程序的连接数据库的配置封装在jar里,如果jar内的连接数据库的配置信息没有做相应的修改的话。就会对数据库的此业务账号造成严重的后果。 因此,真正了解Oracle安全数据库用户的状态,就显得尤为重要了。下面我们就看一下oracle数据库中的多种用户状态。 ORACLE数据库用户有多种状态,可查看视图USER_ASTATUS_MAP。 SQL> col status for a30 SQL> select * from user_astatus_map; STATUS# STATUS ---------- ------------------------------ 0 OPEN 1 EXPIRED 2 EXPIRED(GRACE) 4 LOCKED(TIMED) 8 LOCKED 5 EXPIRED & LOCKED(TIMED) 6 EXPIRED(GRACE) & LOCKED(TIMED) 9 EXPIRED & LOCKED 10 EXPIRED(GRACE) & LOCKED 9 rows selected. 通过上面的查询我们可以看到在Oracle中account总共有9种不同的状态,对应dba_users视图中的account_status字段。 下面我分别就每种状态的含义和出现的情况做个简单的说明,以便于今后的系统管理和维护。 或者也可以这样理解: 以上的9种状态可以分为两大类: 1、基本状态(前五种为基本状态:0 OPEN、1 EXPIRED、2 EXPIRED(GRACE)、4 LOCKED(TIMED)、8 LOCKED); 2、组合状态(后四种为组合状态:5 EXPIRED & LOCKED(TIMED)、6 EXPIRED(GRACE) & LOCKED(TIMED)、9 EXPIRED & LOCKED、10 EXPIRED(GRACE) & LOCKED); 后四种的组合状态可通过状态号STATUS#获得其状态的两个组合。掌握前五种即可。 具体详细解释请参考如下: OPEN: 这个是大家最常见的,就是表示这个是可用的,没有任何限制的帐户 EXPIRED & LOCKED: 表示此账户被设置为口令到期且被锁定。 下面通过实例操作来说明: 本人对oracle数据库的profile文件进行如下安全设置:(其中的FAILED_LOGIN_ATTEMPTS 6是对用户尝试失败的登录最大次数的限制,这里只允许最多尝试失败6次) SQL>ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 6 PASSWORD_LIFE_TIME 60 PASSWORD_REUSE_TIME 60 PASSWORD_REUSE_MAX 5 PASSWORD_VERIFY_FUNCTION verify_function_11g PASSWORD_LOCK_TIME 1/24 PASSWORD_GRACE_TIME 90; 通过以下语句查询当前用户的状态: SQL> select username,account_status from dba_users; USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- DBA_USER OPEN DBSNMP OPEN SYSMAN OPEN SCOTT OPEN FLOWS_FILES EXPIRED & LOCKED MDSYS EXPIRED & LOCKED WMSYS EXPIRED & LOCKED ORDDATA EXPIRED & LOCKED CTXSYS EXPIRED & LOCKED ANONYMOUS EXPIRED & LOCKED 接下来使用账号dba_user和scott,以错误的密码尝试连接数库6次以上后,再查看数据库用户状态: SQL> select username,account_status from dba_users; USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- DBA_USER EXPIRED(GRACE) & LOCKED(TIMED) DBSNMP OPEN SYSMAN OPEN SCOTT EXPIRED(GRACE) & LOCKED(TIMED) FLOWS_FILES EXPIRED & LOCKED MDSYS EXPIRED & LOCKED WMSYS EXPIRED & LOCKED ORDDATA EXPIRED & LOCKED CTXSYS EXPIRED & LOCKED ANONYMOUS EXPIRED & LOCKED 事实证明,当用户DBA_USER和SCOTT为EXPIRED(GRACE)的时候,用户又尝试失败的login次数超过了FAILED_LOGIN_ATTEMPTS,被系统自动锁定. 如果这两个用户为生产现网的业务账户的话,管理员不能及时发现问题或报警的话,将会造成业务中断等严重的后果。 |
请发表评论