聊聊不大靠谱的数据库安全扫描

前阵子就有朋友留言说让我吐槽吐槽数据库安全扫描,此言正合我意。这些年,企业安全事故频发,勒索病毒事故多出,再加上安全对抗演练的进行,让数据库安全在企业里的地位与日俱增,安全扫描也变成了头等大事。也经常有客户发安全扫描结果过来,让我们帮助分析如何优化,其中大多数是Oracle数据库的。

有时候我们分析了安全漏洞,给客户建议了一个数据库升级的方案。客户按照我们的方案升级后,扫描结果并没有什么变化,安全漏洞告警并未消失。以我们的经验来看,这些漏洞肯定是在PSU中已经解决了,不过安全扫描工具就是不认。

为什么会出现这种情况呢?经过一番分析,我们发现出现这种情况是因为Oracle的安全补丁体系太复杂了,而漏扫工具无论是登录扫描还是非登录扫描,都仅仅是根据特征去发现漏洞,而做漏扫的特征库的人员在数据库补丁方面的专业性不够。

MySQL、PostgreSQL还好,比较少发布单独的安全补丁,或者说补丁体系比较简单。MySQL每三个月出一个补丁版,直接更新就行了。但是Oracle数据库太复杂了,一些安全补丁与功能性补丁之间存在十分复杂的关系,为了避免冲突,需要通过MLR等方式发行补丁集来解决问题,甚至有时候需要通过发布一个CPU来解决问题。Oracle的补丁是十分复杂的体系,有PSE、MLR、bundle、CPU、SPU、PSU等多种补丁。各种补丁包之间可能还有冲突,有些PSE和MLR补丁之间存在冲突,还必须卸载了通过打特殊的bundle来解决问题。还有一些补丁有可能过了几年就被废掉了,用了一个新的补丁来替代了。

因此要想把Oracle的补丁分析清楚还是相当困难的。十多年前,我们甚至给部分大客户提供了补丁分析服务(Oracle官方也有补丁分析服务,不过包含在一些收费昂贵的服务里,用户一般用不起),利用我们和Oracle官方良好的合作关系,帮助用户选择最佳的补丁策略。不过做这种事情还是相当费劲的,我们需要利用Oracle内部的网站辅助,并花上很多时间去分析资料才能完成。

不同客户的数据库运维人员,数据库升级策略差别很大,因为一个安全漏洞可能有数十种方法可以解决,而做漏扫的公司的特征库很可能无法覆盖这些方面,哪怕就是漏了你解决问题的那一条,你的系统漏扫就过不去。

遇到这种情况,有些客户比较好说话,只要把问题讲清楚就行了,比如说Oracle的某个PSU已经解决了这个问题,官方文档里有明确的说法,只要写个报告就可以了。不过有些领导就是公事公办,非要以漏扫的结果为准。我遇到过一个十分奇葩的领导,要求必须在漏扫时0缺陷,其他材料一概不认。最终的解决方案是把已经安装的PSU先卸载了,然后打上安全扫描软件认可的独立补丁,才搞定这个事情。

也有一些漏扫厂商认为扫描结果不准的主要原因是采用了盲扫的方式,没有采用登录扫描的方式。如果采用登录扫描模式,结果会很准确,实际上我遇到的案例也有很多是登录扫描的案例。登录扫描也是一种特征扫描的方式,而不是功能扫描,通过一个Oracle权限账号取补丁信息或者通过OPatch命令抓取补丁信息。不过根据风险库采用特征比对的方式来进行分析对于Oracle来说十分困难。因为一个漏洞可能有数种甚至数十种补丁可以解决,而漏扫工具的规则库里可能不会很完整。这种情况下出现扫描结果不准确就很正常了。只有采用功能扫描或者渗透扫描的方法替代特征扫描,模拟出某个安全风险,以抓取到漏洞特征为准,这种方式可能会比较靠谱。不过有些漏洞渗透是有风险的操作,也有些漏洞是在某些特殊的复杂场景下才可能触发的,漏扫工具很难实现模拟。

这个问题虽然无法彻底解决,但是还是可以改进的。Oracle每个季度会出PSU,大部分的已知安全漏洞都会在下次PSU上解决,每个漏洞被解决的PSU也大多数被Oracle公布了(记住是大多数,不是全部)。另外一个方面,大部分用户解决Oracle安全漏洞的最常用方式就是打PSU。因此数据库漏扫厂家可以通过加强PSU补丁解决安全问题的采集来优化特征库,就可以很大程度上避免用户打了很新的PSU还报较早的漏洞的问题。另外漏扫工具也可以明确的指出解决该问题的最低PSU号,从而让运维人员不需要像猜盲盒一样面对漏扫报告(Oracle的PSU包含从上一个升级包到目前为止的所有补丁的全集,因此PSU不会漏掉任何之前发布的安全漏洞补丁)。

因为这些年用户在这方面遇到了麻烦,我们也想写个小工具来帮助用户解决一些问题,因此在D-SMART里我们也增加了一个小工具,这个工具在免费的D-SMART社区版里面也是免费提供的。

有些用户刚刚看到这个功能的时候觉得相当高兴,这可是个好工具啊,是不是我可以用它来辅助漏扫后的补丁更新?不过我马上就会给他泼一盆凉水,这个工具也仅仅是通过我们预先定义好的漏洞规则库,通过OPatch工具抓取的一些数据库配置信息进行简单的扫描和分析,列出一个大体需要打补丁的清单而已。要想维护这个库工作量也很大,因此我们定期更新特征库的频率也不高,大概三个月更新一次。

对于Oracle来说,这个表格里给出的升级补丁建议也只是一个十分简单的根据规则的建议,并不能自动分析针对你的系统该如何打补丁。这个工具最重要的功能是可以方便地导出一个表格,给领导交差而已。表格中的升级补丁列会列出一大堆我们已知的可能可以解决此问题的补丁号,但并不全,因此不一定能够在你的运维环境中帮到你。

不过如果你如果能把Excel生成出来交给领导,可以让领导感到你的工作很用心,仅此而已。如果真的要打补丁,还是需要通过人工分析,大部分情况,我们就直接建议用户打一个比较新的PSU就可以了。如果领导再不认,那也没办法了,只好说,数据库厂商提供的最新补丁集都打了,还能扫出漏洞,那么也没办法了。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/131700.html<

赞 (0)
管理的头像管理
上一篇2025-02-26 16:16
下一篇 2025-02-26 16:17

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注