首页 首页 大数据 查看内容

你的Oracle数据库很安全吗

木马童年 2019-5-28 09:30 45 0

企业数据库的安全管理不仅概念复杂、涉及面广、难于验证,而且新的安全漏洞层出不穷。对于DBA来说,自动化的检测评价工具是一个好帮手。 对于企业数据库而言,安全性与系统性能同样重要。提高Oracle数据库安全性就 ...

企业数据库的安全管理不仅概念复杂、涉及面广、难于验证,而且新的安全漏洞层出不穷。对于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是安全性最强的版本。

对于11g而言,表1中列出检测出的8类62个高危安全漏洞,需要立即采取措施。如是否允许使用口令以Sysdba远程登录,而有关用户口令的部分安全漏洞则是在用户解除封锁时,强制要求用户立即改变口令,并符合口令管理策略。

根据实验结果,对AppDetectivePro的检测评估质量,笔者有如下初步印象:

1.渗透测试Pen Test非常完整,使用已知的用户名和缺省口令进行攻击,并利用各种缓存区溢出方法进行攻击。

2.审计测试中,对安全性设置的检查非常详细,并给出了相应解释和修复方法。

3.及时加入了根据最新版本功能制定的规则,如只在11g中可以设置口令大小写以及对错误的传输协议数据的处理。

4.对权限升级方面的漏洞检查得相对较少,不能很好地反映出安装CPU的效果。

5.安全漏洞分类还需要改进。例如,在近5000个授予Public的权限中,UTL_类的执行权限是公认非常危险的,不加以区别,DBA很难找到真正需要修改的部分。

AppDetectivePro是对DBA非常有帮助的一个工具。当然也有许多免费工具,如Scuba和CIS Benchmark等。另外,从10g开始,Oracle的EM DB Control中也提供了初步的内部检测功能。综合利用检测工具提供的信息,正确分析并采取必要措施来保证数据库的安全性是DBA必须完成的重要工作。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

数据库 安全性 安全检测 暴力破解 结果分析
0
为您推荐
大数据技术改变城市的运作方式,智慧城市呼之欲出

大数据技术改变城市的运作方式,智慧城市呼

纽奥良虽像大多数城市一样有火灾侦测器安装计划,但直到最近还是要由市民主动申装。纽…...

大数据分析面临生死边缘,未来之路怎么走?

大数据分析面临生死边缘,未来之路怎么走?

大数据分析开始朝着营销落地,尤其像数果智能这类服务于企业的大数据分析供应商,不仅…...

什么是工业大数据,要通过3B和3C来理解?

什么是工业大数据,要通过3B和3C来理解?

核心提示:工业视角的转变如果说前三次工业革命分别从机械化、规模化、标准化、和自动…...

大数据普及为什么说肥了芯片厂商?

大数据普及为什么说肥了芯片厂商?

科技界默默无闻的存在,芯片行业年规模增长到了3520亿美元。半导体给无人驾驶汽车带来…...

大数据技术有哪些,为什么说云计算能力是大数据的根本!

大数据技术有哪些,为什么说云计算能力是大

历史规律告诉我们,任何一次大型技术革命,早期人们总是高估它的影响,会有一轮一轮的…...

个人征信牌照推迟落地,大数据 重新定义个人信用!!

个人征信牌照推迟落地,大数据 重新定义个

为金融学的基础正日益坚实。通过互联网大数据精准记录海量个人行为,进而形成分析结论…...