介绍
允许或禁止Oracle DB中的用户行为,包括其中的对象
通过以下实现:
登录身份验证(Authentication),连接到数据库
访问控制,访问模式对象和数据(access control)
审计,记录用户行为(audit)
基础身份验证
数据库管理员(以SYSDBA/SYSOPER)身份在DB之外被身份验证
操作系统身份验证
密码文件身份验证
举例来说 sqlplus “/ as sysdba” 登录,OS用户在Unix上为DBA组用户,在Windows上是ORADBA组用户
普通数据库用户只能在数据库启动(alter database open)后身份验证并等登录
也可以采用OS 身份验证
数据库身份认证
例如: create user maclean identified by oracle;
可以通过数据字典视图来查看用户信息
DBA_USERS describes all users of the database.
ALL_USERS Lists users visible to the current user, but does not describe them
USER_TS_QUOTAS Describes tablespace quotas for users
V$SESSION Lists session information for each current session, includes user name
PROXY_USERS Describes users who can assume the identity of other users
数据库中由SYS用户或其他管理员用户所作的操作均可以被审计且记录到由root用户拥有的系统级日志中。这样就可以避免有人使用Oracle的 OS账户修改普通审计日志删除相关操作信息。启用(AUDIT_TRAIL=OS)在Oracle审计目录中记录日志或启用 (AUDIT_TRAIL=DB)在数据库中记录审计信息都是不妥当的,显然DBA总是可以修改它们。通过UNIX系统级的日志组件来进行审计对防止黑客 侵入和“内鬼“捣乱都很有效。
结合UNIX中的SYSLOG组件记录审计信息是Oracle 10g的一个新特性。该组件包括一个守护进程(daemon)名叫syslogd(你可以通过man syslogd查询其相关手册),该进程用以接受由应用程序调用syslog的C函数库所发送的日志信息。Syslogd服务(service)的配置文 件一般是/etc/syslog.conf,日志信息一般被记录在/var/log或/var/adm视乎不同的UNIX发行版本。日志文件名由相关组件 名,重要性和级别组成。在/etc/syslog.conf每条记录为特定的组件与重要性指定文件名。在该配置文件中加入记录:user.notice /var/log/oracle_dbms,并使syslogd进程重启,接下来修改Oracle 参数 AUDIT_SYSLOG_LEVEL=user.notice,则相关的审计记录将出现在文件/var/log/oracle_dbms中。
在UNIX系统上,以SYSDBA或SYSOPER权限进行的CONNECT,STARTUP与SHUTDOWN操作均会被无条件地记录 到$ORACLE_HOME/rdbms/audit或AUDIT_FILE_DEST指定的目录中,并使用扩展名为.aud。 Oracle 9i以后版本中通过设置AUDIT_SYS_OPERATIONS=TURE可以记录不限于CONNECT,STARTUP,SHUTDOWN的以 SYSDBA或SYSOPER进行的操作。
深入浅出Oracle数据库安全知识 PPT版下载
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/7月/20日/深入浅出Oracle数据库安全知识 PPT/