提高Oracle数据库应用系统安全的举例与分析.doc

提高Oracle数据库应用系统安全的举例与分析.doc

ID:50596529

大小:20.00 KB

页数:6页

时间:2020-03-07

提高Oracle数据库应用系统安全的举例与分析.doc_第1页
提高Oracle数据库应用系统安全的举例与分析.doc_第2页
提高Oracle数据库应用系统安全的举例与分析.doc_第3页
提高Oracle数据库应用系统安全的举例与分析.doc_第4页
提高Oracle数据库应用系统安全的举例与分析.doc_第5页
资源描述:

《提高Oracle数据库应用系统安全的举例与分析.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、提高Oracle数据库应用系统安全的举例与分析赵晋王维民(合肥市电信局计算中心)摘要 本文介绍了作者为了提高Oracle数据库安全所进行的一些有益尝试。关键词Oracle数据库安全1.Oracle数据库安全的几个基本概念1.1帐户安全(AccountSecurity)要在数据库中访问数据,就必须访问该数据库的一个帐户。每个帐户必须指定一个口令。口令是在帐户建立的时候设置的,可由DBA或用户进行修改。1.2系统级权限(System-levelPrivilege)系统级权限可以建立从系统级权限全集到扩展的

2、基本系统级的各类角色。比如,Connect,Resource和DBA就是分别提供给用户,开发者及DBA的标准角色。1.3对象安全性(ObjectSecurity)用户可以通过grant命令将自己创建的一些权限授予其他用户使用,也可以给其他用户授予对对象授权的权限。例如,可以授予一个用户拥有对本用户表授予select权限的权限。1.4审计(Auditing)Oracle具有审计发生在其内部的所有操作——包括注册企图,对象访问和数据库操作——的能力。审计的结果存储在数据库的审计表中。2.应用实例与分析在一些较大规

3、模的Client/Server系统中,Client端的应用程序一般是通过主程序中的语句实现与数据库的连接。这种情况下,任何人打开源程序便能清楚了解数据库的连接口令,这就可能导致安全性问题。经常改变数据库密码是一个办法,而若要改变数据库用户的密码,就需重新编写相关程序,并对Client端的有关程序进行更新,对于Client端多而分散的系统6/6,实际运作很不方便。能不能让这些工作简单易行一些呢?我们在工作中进行了一些尝试。我单位数据库环境为Oracle7.3,开发工具是Develope2000。收费系统是我单位的核心系统

4、之一,占有极其重要的地位,其Client端分散在市区的数个营业点,通过城域网与主机(小型机)相连。收费系统在数据库中的用户名为SFYY(收费应用)。试验的步骤是这样的:2.1在收费小型机Oracle系统的system用户(DBA)下,创建新用户test;createusertestidentifiedbycartondefaulttablespacedataspace1quota100K2.2对test用户授以权限;grantcreatesessiontotest;grantresourcetotest

5、;2.3在test用户下建立一个存储函数mmtranslate,它其实是一个加密程序。下面是一个简单的例子。functionmmtranslate(mvarchar2)returnvarchar2asinumber(2);kkvarchar2(10);beginkk:=′′;i:=1;6/6loopifi<=length(m)thenifinstr(′1234567890′,substr(m,i,1),1,1)>0thenkk:=kk

6、

7、chr(100+to_number(substr(m,i,

8、1)));elsifinstr('wxyz',substr(m,i,1),1,1)>0thenkk:=kk

9、

10、chr(-8+ascii(substr(m,i,1)));elsekk:=kk

11、

12、chr(4+ascii(substr(m,i,1)));endif;elseexit;endif;i:=i+1;endloop;returnkk;exceptionwhenothersthenreturn′-1′;end;2.4在test用户下建表mmtest并插入记录。createtablemmt

13、est(usnamevarchar2(6),------用户名称mimavarchar2(6)------加密前的密码6/6);insertintommtestvalues('sfyy','eds2');commit;2.5执行以下语句SQL>selectmmtranslate('eds2')fromdual;MMTRANSLATE('EDS2')----------------------------------------ihwf利用DBA权限更改sfyy的密码为上面语句的执行结果:alteru

14、sersffyidentifiedbyihwf;;2.6修改应用程序,对于开发环境是Develope2000的程序来说,主要是修改主程序的on-logon触发器:declaremmvarchar2(6);beginlogon('test','carton');selectmimaintommfrommm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。