[论文关键词]oracle 数据库 数据库安全
[论文摘要]数据库安全性问题一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫。围绕数据库的安全性问题提出一些安全性策略,希望对数据库管理员有所帮助。
数据库安全性问题应包括两个部分:一是数据库数据的安全,它应能确保当数据库系统停机时,当数据库数据存储媒体被破坏时以及当数据库用户误操作时,数据库数据信息不至于丢失。二是数据库系统不被非法用户侵入,它应尽可能地堵住潜在的各种漏洞,防止非法用户利用它们侵入数据库系统。
一、数据库安全的主要内容
(一)用户组和安全性
在操作系统下建立用户组是保证数据库安全性的一种有效方法。oracle程序为了安全性目的一般分为两类:一类是所有的用户都可执行,另一类只有dba可执行。在unix环境下组设置的配置文件是/etc/group,关于这个文件如何配置,可以参阅unix的有关手册,以下是保证oracle数据库安全性的两种方法:
1.在安装oracle server前,创建数据库管理员组(dba)而且分配root和oracle软件拥有者的用户id给这个组。dba能执行的程序只有710权限。在安装过程中sql*dba系统权限命令被自动分配给dba组。
2.允许一部分unix用户有限制地访问oracle服务器系统,增加一个由授权用户组成的oracle组,确保给oracle服务器实用例程oracle组id,公用的可执行程序,比如sql*plus、sql*forms等,应该可被这组执行,然后这个实用例程的权限为710,它将允许同组的用户执行,而其他用户不能。wwW.133229.COm
(二)数据库文件的安全性
oracle软件的拥有者应该设置这些数据库文件($oracle_home/dbs/*.
dbf)的使用权限为0600,即文件的拥有者可读可写,同组的和其他组的用户没有写的权限。
oracle软件的拥有者应该拥有包含数据库文件的目录,为了增加安全性,建议收回同组和其他组用户对这些文件的可读权限。
(三)网络安全性
当处理网络安全性时,以下是额外要考虑的几个问题:一是在网络上使用密码,在网上的远端用户可以通过加密或不加密方式键入密码,当使用不加密方式键入密码时,密码很有可能被非法用户截获,破坏了系统的安全性。二是网络上的dba权限控制,可以通过下列两种方式对网络上的dba权限进行控制:一是设置成拒绝远程dba访问;二是通过orapwd给dba设置特殊的密码。
二、制定完整的数据库监控方案,维护数据库安全
一般来说,一个oracle数据库管理员应该做的oracle数据库系统监控方案是这样的。一是每天对oracle数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。二是每周对数据库对象的空间扩展情况、数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。三是每月对表和索引等进行analyze,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。对oracle数据库状态进行一次全面检查。
制定监控方案的具体步骤如下:
在本地建立一个数据库sid,然后使用net configuration assistant
工具配置参数,实现与远程数据库的连接。
(一)计算oracle数据库的会话连接数其算法描述如下
count();while not eof(v$sesslon)if(username="compiere")/*use
rname(用户名)为compiere*/{if(machine="yinglong")/*machine(机器名)为yinglong*/
{if(schemaname="compiere")/*schem-aname(模式名)为compiere*/
count++;/*统计连接数*/ endif}endif}endif}
访问系统的用户数量和数据库的会话连接情况明确为监控对象。
(二)计算oracle数据库的会话死连接数