加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

你的Oracle数据库很靠谱吗

发布时间:2021-06-27 12:02:08 所属栏目:大数据 来源:互联网
导读:企业数据库的安全管理不仅概念复杂、涉及面广、难于验证,而且新的安全漏洞层出不穷。对于DBA来说,自动化的检测评价工具是一个好帮手。 对于企业数据库而言,安
副标题[/!--empirenews.page--]

    企业数据库的安全管理不仅概念复杂、涉及面广、难于验证,而且新的安全漏洞层出不穷。对于DBA来说,自动化的检测评价工具是一个好帮手。

 

    对于企业数据库而言,安全性与系统性能同样重要。提高Oracle数据库安全性就要做好安全管理工作并及时安装安全补丁CPU。而所谓安全管理的内容,就是基础的用户、角色、口令、权限、文件和网络的管理。安全管理工作的困难不仅在于概念复杂、涉及面广、难于验证,而且新的安全漏洞层出不穷。对于DBA来说,一个自动化的检测评价工具是非常必要的,可经常检测自己系统的安全状况,以便及时发现并解决问题。

 

    Application Security Inc.开发的AppDetectivePro是一个不错的数据库安全性评估商业软件。本文介绍使用AppDetectivePro对Oracle数据库进行安全检测和评估的基本操作,并结合实例对评估结果进行分析。

 

    检测和评估

 

    AppDetectivePro把检测评估过程分为四个阶段:

 

    1.确定要检测评估的数据库,称之为Discovery。

 

    2.进行模拟黑客外部攻击的渗透测试Penetration Test。

 

    3.登录数据库进行内部审计测试Audit Test。

 

    4.生成评估报告。

 

    进入AppDetectivePro官方网站注册后,会在注册的电子邮件信箱中收到最新版软件的下载地址。在Windows XP中完成软件安装。如果PC中有两块以上的网卡(包括虚拟机的虚拟网卡),执行检测评估前,需要设置网卡:菜单项Edit→Properties→Network Adapter→选择某一网卡。

 

    确定要检测评估的对象。为节省时间,可以给出唯一的IP地址和PORT号。命令按钮Discover→Next→Next→检测范围的Hostname栏内输入IP地址(如图所示)192.168.2.3→Add→Next→应用类型中选择Oracle→选择非缺省PORT号→Next→在Starting Port中输入端口号1531→Add→Next→Next→Next, 开始在指定IP和PORT范围内搜索正在运行的监听程序。

 

    找到监听程序后,会在窗口的Network树中加入主机和监听程序。点击Network左边的折叠/展开按钮展开全部搜索到的数据库。对于10g以后的版本,缺省设置下,AppDetectivePro无法搜索得到SID的信息,必须手工加入:在Network树展开的监听程序上点击右键→Add SID→输入SID。本例为CHN→Verify→Add加入SID信息。

 

    运行渗透测试。命令按钮Pen Test→(评估版不能选择测试评估策略)Run Pen Test→确认,开始运行渗透测试。测试结束后,窗口下端会显示检测到的安全漏洞。选择在SID之下用时间表示Pen Test检测,点击窗口中部的Details,在Check Status中列出所使用的检测规则和测试结果。

 

  运行审计测试。命令按钮Audit→Audit Applications→点击选择要审计的应用→输入SYS口令,选择SYSDBA角色和SSH,输入SSH的用户名和Root口令,按下确认按钮,开始运行审计测试。由于测试中包括暴力破解口令,审计测试时间会比较长,一般会超过十分钟。测试结束后,窗口下端显示检测到的安全漏洞。选择在SID之下用时间表示Audit Test检测,点击窗口中部的Details,在Check Status中列出所使用的检测规则和测试结果。

 

    生成检测评估报告。首先生成反映规则检测通过情况的报表Check Status:命令按钮Reports→ 选择报表类型Check Status→Next→选择报表范围Session→选择报表格式HTML(Single File)→Next→Next,开始报表生成。

 

    重复同样操作过程,选择Vulnerability Summary报表类型,可以得到检测到的安全漏洞的概要报表。详细的审计安全漏洞报表需要选择Vulnerability Details报表类型、Application报表范围,并根据测试时间选择审计测试得到。

 

    评估结果分析

 

    检测评估的质量完全取决于所执行的检测规则。本文实验中采用的软件是AppDetectivePro Build5.3.6网络下载评估版。进行渗透测试和审计测试时只能执行下载版测试策略,该策略共定义了111条规则。

 

    检测和评估的对象是运行在RHEL5上的Oracle 10gR1 10.1.0.3和10.1.0.5以及11g 11.1.0.6三个版本。软件安装和数据库创建基本上是缺省设置,没有安装任何应用系统。在10.1.0.5版本中安装最新的安全补丁和其他个别补丁,目的是通过与10.1.0.3版本的比较,检查安装补丁 的效果。通过对比10gR1与11g,检查两个版本之间安全性的差异。

 

    首先,三个版本都完全通过了Pen Test的测试,唯一返回的安全警告信息是“没有安装最新PSR”。(测试时,笔者有意在数据库中加入了著名的Scott/Tiger,并且关闭Listener中的本地OS验证,Pen Test马上检验到了这两个漏洞。)简而言之,结论是,即便是缺省的安全设置,这三个版本对外部攻击是安全的。

 

    在随后的审计测试中,对于这111条规则,从通过与否的个数看,三个版本表现非常接近,没有通过的规则个数均为四分之一左右。而从检测到的安全漏洞的个数和危险程度看,11g表现略好,具体数字可参见表2。Oracle数据库的安全漏洞全部是由大概30条规则检测不能通过而形成的。例如,将对象权限授予用户组Public被认为是中等程序的危险,而在数据库中,若有5000个对象的限制授予了Public,则在中等危险中就被加入了5000个安全漏洞。

 

    另一方面,随着版本的更新,Oracle数据库的数据字典和PL/SQL包都在不断增加。由于AppDetectivePro重复计数的原因,导致上表中11g的漏洞个数最多,容易让人误解为11g的安全性最差,事实上恰恰相反,特别在缺省的安全性设置方面,11g是安全性最强的版本。

 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读