oracle 11g数据库安全加固注意事项

数据库安全配置中,需要做相关的安全加固工作。以确认数据库的安全,但是,有些时候,操作不当或者数据库业务账号修改密码后,而程序的连接数据库的配置封装在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种状态不难看出,其实独立的状态只有OPEN、EXPIRED、LOCKED、EXPIRED(GRACE)、LOCKED(TIMED) 5种形式。其他4种不过是前面几种形式的组合而已。

或者也可以这样理解:

以上的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: 这个是大家最常见的,就是表示这个是可用的,没有任何限制的帐户
LOCKED: 表示这个帐户被DBA锁定. 一般通过alter user username account lock(unlock);
EXPIRED: 表示该帐户被设置为口令到期,要求用户在下次logon的时候修改口令(系统会在该account被设置为expire后的第一次登陆是提示你修改密码)
EXPIRED(GRACE): 当设置了grace以后(第一次成功登录后到口令到期后有多少天时间可改变口令,在这段时间内,帐户被提醒修改口令并可以正常登陆,account_status显示为EXPIRED(GRACE).
LOCKED(TIMED): 这种状态表示失败的login次数超过了FAILED_LOGIN_ATTEMPTS,被系统自动锁定,需要注意的是,在Oracle 10g中,默认的DEFAULT值是10次.

EXPIRED & LOCKED: 表示此账户被设置为口令到期且被锁定。
EXPIRED(GRACE) & LOCKED(TIMED): 当account_stutus为EXPIRED(GRACE)的时候,用户又尝试失败的login次数超过了FAILED_LOGIN_ATTEMPTS,被系统自动锁定
EXPIRED & LOCKED(TIMED): 当设置了account expire后,用户又失败的login次数超过了FAILED_LOGIN_ATTEMPTS,被系统自动锁定
EXPIRED(GRACE) & LOCKED: 用户account_status为EXPIRED(GRACE)后,又被DBA 手工锁定帐户后的状态

下面通过实例操作来说明:

本人对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,被系统自动锁定.

如果这两个用户为生产现网的业务账户的话,管理员不能及时发现问题或报警的话,将会造成业务中断等严重的后果。

(0)

相关推荐

  • Oracle12c的数据库向11g导进的方法

    从oracle 12c 备份(expdp)出来的包,还原到11g里,想想都知道会有兼容性问题. 果不其然,报错了: ORA-39142: 版本号 4.1 (在转储文件 "叉叉叉.expdp" 中) 不 兼容 之类 后来才知道,在12C中备份出来时,应指定版本信息,例如我要导进11g的库(具体版本为11.1.0.6.0,打开sqlplus就能看到),则version=11.1.0.6.0 语句: 在12C备份 <code class="hljs livecodeserve

  • DBA 在Linux下安装Oracle Database11g数据库图文教程

    Oracle11g是比较通用的版本,尝试安装Oracle 12c可惜失败了,没有办法 以下是整理的资料 1. 系在安装文件连接 http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip?AuthParam=1407205871_4259949f8bacf912168631692563a693  http://download.oracle.com/otn/linux/oracle11g/

  • Oracle11g数据库win8.1系统安装配置图文教程

    1. Oracle11g安装 http://pan.baidu.com/s/1gfa3e63:这里是我在Oracle官网下载好了Windows系统64位的安装包,有2个zip文件.不想去官网找下载地址的童鞋可以直接用这个百度云盘的下载链接. 1.去www.oracle.com下载最新的oracle11g安装包的压缩文件,有2个压缩文件,都需要下载,下载完成以后需要解压缩在同一个目录下. 在开始oracle数据安装之前建议:1.关闭本机的病毒防火墙.2.断开互联网. 这样可以避免解压缩丢失文件和安

  • oracle 11g数据库安全加固注意事项

    数据库安全配置中,需要做相关的安全加固工作.以确认数据库的安全,但是,有些时候,操作不当或者数据库业务账号修改密码后,而程序的连接数据库的配置封装在jar里,如果jar内的连接数据库的配置信息没有做相应的修改的话.就会对数据库的此业务账号造成严重的后果. 因此,真正了解Oracle安全数据库用户的状态,就显得尤为重要了.下面我们就看一下oracle数据库中的多种用户状态. ORACLE数据库用户有多种状态,可查看视图USER_ASTATUS_MAP. SQL> col status for a3

  • oracle 11g的安装注意事项总结

    oracle 11g 安装注意事项 1.首先时这个配置安全更新页面,不需要填写电子邮件,下面安全更新也取消候选,否则一旦出现软件更新,会拖慢我们的使用进度 2.在安装选项这里,就选择第一个"创建和配置数据库",就是安装完整的oracle数据库软件 第二个"仅安装数据库软件",意思就是只安装实例,并不安装数据库.类似于我们只招收了干活的工人,但是没有建造工厂,一般我们在公司里入职的时候,公司已经有数据库服务器了(也就是已经有这个工厂了),我们就不需要在电脑上安装数据库

  • Oracle 11g实现安全加固的完整步骤

    前言 数据库安全配置中,需要做相关的安全加固工作.以确认数据库的安全,但是,有些时候,操作不当或者数据库业务账号修改密码后,而程序的连接数据库的配置封装在jar里,如果jar内的连接数据库的配置信息没有做相应的修改的话.就会对数据库的此业务账号造成严重的后果. 本文将详细介绍关于Oracle 11g安全加固的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1.安全加固的检查方向 1.1.sysdba用户远程登录限制(查看Oracle登录认证方式) 检查: show pa

  • Oracle 11g+windows 环境下Ecology7系统安装过程

    目录 环境: 安装步聚: 其他注意事项: 环境: Windows 8.1 64位Oracle 11g 11.2.0.1.0 64位E-cology 7.1.0.331 安装步聚: 以管理员模式运行Oracle setup.exe文件 根据提示安装Oracle,创建数据库,注意修改连接数(默认为150) 创建用户: 使用SQLPLUS:1)cmd窗口中输入: sqlplus system/密码@数据库名2)测试连接 select name from v$database;创建用户: SQL>CON

  • Oracle 11g如何清理数据库的历史日志详解

    本文主要给大家介绍了关于Oracle 11g清理数据库历史日志的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍 1. 创建存放数据库待删除日志文件路径 用于存放准备删除,这里假设放在/home/Oracle/delete路径下 $ cd /home/oracle/delete $ mkdir -p audit_file_dest background_dump_dest user_dump_dest core_dump_dest listenr_log_dest 2. 查

  • 分享Oracle 11G Client 客户端安装步骤(图文详解)

    Oracle 11G Client 客户端安装步骤,具体如下: 下载地址:http://www.jb51.net/database/167737.html 先将下载下来的ZIP文件解压,并运行setup.exe文件. 执行到第四步之后,出现错误,直接点全部忽略就可以了. 把上面的步骤执行完了,那么就该等待Oracle的安装了. 现在这个就搞定了 1.安装Oracle 11G Client后可以在开始菜单中找到 选择NETCA->本地网络服务名配置 选择添加本地网服务名配置 这里的服务名:指的是也

  • Oracle 11g简体中文版安装图文教程

    本文实例为大家分享了Oracle 11g简体中文版安装教程,供大家参考,具体内容如下 1.下载Oracle 11g 地址 http://download.oracle.com/otn/nt/oracle11g/win32_11gR1_database_1013.zip 基本安装 解压缩后就可以安装了.执行SETUP.EXE ,在DOS下运行片刻进入ORACLE 11G Oracle Configuration Manager 允许您将配置信息与 Metalink 帐户相关联.您可在该窗口上选择启

  • oracle 11g的警告日志和监听日志的删除方法

    oracle 11g的监听日志和警告日志都是在/u01/oracle/diag/tnslsnr/oracle/listener目录和/u01/oracle/diag/rdbms/db1/db1目录下都有以下分别简称listener目录和db1目录.这两目录下都有如下目录:alert cdump hm incident incpkg ir lck metadata stage sweep trace 其中警告日志在alert目录下,监听日志在trace目录下.listener目录下产生的日志文件比

  • Win7彻底卸载Oracle 11g图文步骤(靠谱)

    网上资料结合自己的操作整理出的一套靠谱的彻底卸载Oracle 11g的步骤!(Win7),具体内容详情如下所示: 1:停掉所有Oracle相关的服务 1.1打开服务方式如下: 1.1.1:右击"计算机"–>管理–>服务和应用程序–>服务 1.1.2:开始–>输入"服务"后点击搜索–>点击服务 1.2 关闭服务(以Oracle打头的,比如OracleDBConsoleorcl). 2:卸载oracle 11g客户端 开始–>所有程序

  • 浅谈Oracle 11g 发行版2 新安装后关于登录的一些基本操作

    Oracle 11g是在推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年.Oracle 11g提供了高性能.伸展性.可用性和安全性,并能更方便地在低成本服务器和存储设备组成的网格上运行 ,相对过往版本而言,Oracle 11g具有了与众不同的特性 首先要注意,安装时候可以选择桌面类或者服务器类.桌面类就比较简单,不用什么配置,在安装时候提示你输入的密码,是SYS用户的密码:而服务器类,可以配

随机推荐